Adding files for onos tutorial 1.6
diff --git a/README b/README
new file mode 100644
index 0000000..d585cbe
--- /dev/null
+++ b/README
@@ -0,0 +1,31 @@
+# ONOS VM Build Script
+
+### Setup
+First, install the build.py dependencies:
+
+$ ~/mininet/util/vm/build.py --depend
+
+Also, if you will be running this script in a VM, make sure that it supports nested virtualization (for KVM).
+In VMWare Fusion, this can be enabled in: Settings > Processors & Memory > Advanced Options > Enable hypervisor application in this virtual machine
+
+### Building a base image (Mininet VM)
+The first step is to build a base image. We will use a Mininet VM as a base image because it already has Mininet and a bunch of oother dependencies installed. We can do this using the following command:
+
+$ ~/mininet/util/vm/build.py raring64server
+
+Note: This will download the ISO, install Ubuntu, and install Mininet; it may take about 15 minutes on a Macbook Pro.
+
+The image will be placed in a timestamped folder in the current directory. (e.g. mn-raring64server-140606-19-21-35)
+
+### Building the ONOS VM
+The ONOS VM is built from an existing VM image (probably the base image that we just created).
+From the onos-vm directory:
+
+$ ./onos-build-vm.py -i mn-raring64server-*/mininet-vm-x86_64.vmdk -o onos-vm-v1
+Note: You should replace the image file with the correct directory.
+
+This script will boot the image and run the installONOS function (which just downloads a script and runs it).
+
+This will create onos-vm-v1.ovf and onos-vm-v1.vmdk
+
+To change what is installed on the VM, you should edit vm-setup.sh
diff --git a/install-base.sh b/install-base.sh
new file mode 100755
index 0000000..d9d0d57
--- /dev/null
+++ b/install-base.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+# install-base.sh
+#
+# Runs as root.
+#
+# This script builds a base ONOS VM. This is basically just an Ubuntu VM with ONOS's dependencies installed.
+
+oracle-java8-installer shared/accepted-oracle-license-v1-1 select true
+oracle-java8-installer shared/accepted-oracle-license-v1-1 seen true
+
+sudo add-apt-repository -y ppa:webupd8team/java
+
+sudo apt-get update
+
+sudo apt-get install -y git maven unzip curl wget lxc virtualbox-guest-utils \
+wireshark quagga erlang make gcc autoconf openssl libssl0.9.8 libssl-dev libncurses5 \
+libncurses5-dev oracle-java8-installer oracle-java8-set-default
+
+# -------------- Setup keys -------------------
+
+mkdir -p ~/.ssh
+ssh-keygen -t rsa -P "" -f .ssh/id_rsa
\ No newline at end of file
diff --git a/install-gui.sh b/install-gui.sh
new file mode 100755
index 0000000..663633e
--- /dev/null
+++ b/install-gui.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+# install-gui.sh
+#
+# Runs as mininet user.
+#
+# This script sets up the desktop environment on top of a base image.
+
+# ------------- Set up desktop environment -------------
+
+echo "Setting up desktop environment"
+
+# Remove kernel boot options that will prevent the gui from running
+sudo sed -i s/text// /etc/default/grub
+sudo sed -i s/ipv6.disable=1// /etc/default/grub
+sudo update-grub
+
+sudo apt-get install -y xorg lxde systemd-shim
+
+#TODO: add backgrounds folder
+sudo mkdir -p /usr/share/backgrounds
+#TODO: change background
+# Remove wallpaper, change background color
+sudo sed -i 's/wallpaper_mode=1/wallpaper_mode=0/g' /usr/share/lxde/pcmanfm/LXDE.conf
+sudo sed -i 's/desktop_bg=#000000/desktop_bg=#104187/g' /usr/share/lxde/pcmanfm/LXDE.conf
+
+sudo sed -i 's/lang=1/lang=0/g' /etc/lxdm/default.conf
+sudo sed -i 's/bottom_pane=1/bottom_pane=0/g' /etc/lxdm/default.conf
+sudo sed -i 's/disable=0/disable=1/g' /etc/lxdm/default.conf
+
+# Allow VM to be rebooted from GUI
+echo "session required pam_systemd.so" | sudo tee --append /etc/pam.d/lxdm
+
+wget -O onos.png "https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=onos.png"
+sudo cp onos.png /usr/share/backgrounds/default.png
+
+# Change LXTerminal default colors
+sudo sed -i 's/bgcolor=#000000000000/bgcolor=#ffffffffffff/g' /usr/share/lxterminal/lxterminal.conf
+sudo sed -i 's/fgcolor=#aaaaaaaaaaaa/fgcolor=#000000000000/g' /usr/share/lxterminal/lxterminal.conf
+
+# Disable screensaver
+sudo sed -i '/screensaver/d' /etc/xdg/lxsession/LXDE/autostart
+cat > /home/mininet/.xsessionrc << EOF
+# disable screensaver
+xset s off
+# disable dpms (standby)
+xset -dpms
+EOF
\ No newline at end of file
diff --git a/install-tutorial.sh b/install-tutorial.sh
new file mode 100755
index 0000000..aaccf58
--- /dev/null
+++ b/install-tutorial.sh
@@ -0,0 +1,277 @@
+#!/bin/bash
+# install-tutorial.sh
+#
+# Runs as root.
+#
+# This script builds an ONOS tutorial VM.
+
+function create_user {
+ local name=$1
+ local description=$2
+
+ sudo /usr/sbin/useradd -c "$description" -d /home/$name -U -m -p $(openssl passwd -1 $name) -s /bin/bash $name
+ echo "$name ALL=(ALL) NOPASSWD:ALL" >> $name
+ sudo mv $name /etc/sudoers.d
+ sudo chown root:root /etc/sudoers.d/$name
+ sudo usermod -aG wireshark $name
+
+ sudo usermod -aG mininet $name
+
+ sudo mkdir /home/$name/.ssh
+ sudo chown $name:$name /home/$name/.ssh
+ sudo cp /home/mininet/.ssh/id_rsa /home/$name/.ssh/
+ sudo chown $name:$name /home/$name/.ssh/id_rsa
+
+ sudo -u $name sh -c "echo \"export ONOS_ROOT=/home/mininet/onos\" >> /home/$name/.bashrc"
+ sudo -u $name sh -c "echo \"export KARAF_ROOT=/home/mininet/apache-karaf-3.0.3\" >> /home/$name/.bashrc"
+ sudo -u $name sh -c "echo \"export M2_REPO=/home/mininet/.m2/repository\" >> /home/$name/.bashrc"
+ sudo -u $name sh -c "echo \". /home/mininet/onos/tools/dev/bash_profile\" >> /home/$name/.bashrc"
+
+ sudo -u $name ssh -o "StrictHostKeyChecking no" sdn@10.0.3.11 ls
+ sudo -u $name ssh -o "StrictHostKeyChecking no" sdn@10.0.3.12 ls
+ sudo -u $name ssh -o "StrictHostKeyChecking no" sdn@10.0.3.13 ls
+
+ sudo mkdir -p /home/$name/.wireshark/plugins
+ sudo cp /home/mininet/openflow.lua /home/$name/.wireshark/plugins
+ sudo chown -R $name:$name /home/$name/.wireshark
+}
+
+# -------------- Setup 3-node LXC cluster ----------------
+
+sudo lxc-create --name onos1 -t download -- --dist ubuntu --release utopic --arch amd64
+
+sudo sh -c "echo lxc.start.auto=1 >> /var/lib/lxc/onos1/config"
+
+sudo sh -c "sed -i s/dhcp/static/ /var/lib/lxc/onos1/rootfs/etc/network/interfaces"
+sudo sh -c "cat << EOF >> /var/lib/lxc/onos1/rootfs/etc/network/interfaces
+ address 10.0.3.11
+ netmask 255.255.255.0
+ gateway 10.0.3.1
+ dns-nameservers 10.0.3.1
+EOF"
+
+sudo lxc-start --name onos1 --daemon
+
+sudo lxc-ls --fancy
+sleep 5
+sudo lxc-ls --fancy
+sudo lxc-attach --name onos1 -- ip a
+
+sudo lxc-attach --name onos1 -- useradd -m sdn -s /bin/bash
+sudo lxc-attach --name onos1 -- /bin/bash -c "echo sdn:rocks | chpasswd"
+sudo lxc-attach --name onos1 -- /bin/bash -c "echo \"sdn ALL=(ALL) NOPASSWD:ALL\" > /etc/sudoers.d/sdn"
+sudo lxc-attach --name onos1 -- oracle-java8-installer shared/accepted-oracle-license-v1-1 select true
+sudo lxc-attach --name onos1 -- oracle-java8-installer shared/accepted-oracle-license-v1-1 seen true
+sudo lxc-attach --name onos1 -- add-apt-repository -y ppa:webupd8team/java
+sudo lxc-attach --name onos1 -- apt-get update
+sudo lxc-attach --name onos1 -- apt-get install -y openssh-server oracle-java8-installer oracle-java8-set-default
+
+sudo mkdir -p /var/lib/lxc/onos1/rootfs/home/sdn/.ssh
+sudo cp ~/.ssh/id_rsa.pub /var/lib/lxc/onos1/rootfs/home/sdn/.ssh/authorized_keys
+sudo lxc-attach --name onos1 -- chown sdn:sdn /home/sdn/.ssh/authorized_keys
+sudo lxc-attach --name onos1 -- chmod 600 /home/sdn/.ssh/authorized_keys
+
+sudo lxc-attach --name onos1 -- apt-get clean
+
+sudo lxc-stop --name onos1
+
+# Clone the first node to create two more nodes
+sudo lxc-clone onos1 onos2
+sudo sh -c "sed -i s/10.0.3.11/10.0.3.12/ /var/lib/lxc/onos2/rootfs/etc/network/interfaces"
+
+sudo lxc-clone onos1 onos3
+sudo sh -c "sed -i s/10.0.3.11/10.0.3.13/ /var/lib/lxc/onos3/rootfs/etc/network/interfaces"
+
+sudo lxc-start --name onos1
+sudo lxc-start --name onos2
+sudo lxc-start --name onos3
+
+sleep 10
+
+sudo lxc-ls --fancy
+
+echo "adding host keys to known_hosts"
+# SSH to each once to add the host key to known_hosts
+for onos in 10.0.3.11 10.0.3.12 10.0.3.13
+do
+ echo "sshing to $onos"
+ ssh -o "StrictHostKeyChecking no" sdn@${onos} ls
+done
+
+
+echo "Enabling non-root wireshark"
+echo "wireshark-common wireshark-common/install-setuid boolean true" | sudo debconf-set-selections
+sudo dpkg-reconfigure -f noninteractive wireshark-common
+
+# Get the wireshark dissector handy
+wget -O /home/mininet/openflow.lua "https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.1;f=openflow.lua"
+
+# -------------- Install ONOS ----------------
+
+echo "Installing ONOS"
+
+USER=mininet
+USER_HOME=/home/${USER}
+
+cd ~
+
+# Download a local karaf so we can use the bin directory
+wget http://archive.apache.org/dist/karaf/3.0.5/apache-karaf-3.0.5.tar.gz
+tar -xzf apache-karaf-3.0.5.tar.gz
+
+
+git clone https://gerrit.onosproject.org/onos
+cd onos && git checkout 1.6.0 && cd -
+
+mkdir -p ~/Downloads
+
+
+echo "export ONOS_ROOT=${USER_HOME}/onos" >> ~/.bashrc
+echo "export KARAF_ROOT=${USER_HOME}/apache-karaf-3.0.5" >> ~/.bashrc
+echo ". ~/onos/tools/dev/bash_profile" >> ~/.bashrc
+
+export ONOS_ROOT=${USER_HOME}/onos
+export KARAF_ROOT=${USER_HOME}/apache-karaf-3.0.5
+. ~/onos/tools/dev/bash_profile
+
+
+echo $ONOS_ROOT
+
+cd $ONOS_ROOT && mvn clean install && mvn dependency:go-offline && cd -
+
+# Get the sample apps and build them for the right version
+git clone https://gerrit.onosproject.org/onos-app-samples
+cd onos-app-samples
+git checkout 52da58b5991049025ce1b599c000357500b00aef
+mvn versions:set -DnewVersion=1.2.1 versions:commit
+mvn clean install
+cd ..
+
+
+cat << EOF >> onos/tools/test/cells/3node
+export ONOS_NIC=10.0.3.*
+export OC1="10.0.3.11"
+export OC2="10.0.3.12"
+export OC3="10.0.3.13"
+export OCI="10.0.3.11"
+export ONOS_APPS="drivers,openflow"
+export ONOS_USER="sdn"
+EOF
+
+cat << EOF >> onos/tools/test/cells/1node
+export ONOS_NIC=10.0.3.*
+export OC1="10.0.3.11"
+export OCI="10.0.3.11"
+export ONOS_APPS="drivers,openflow"
+export ONOS_USER="sdn"
+EOF
+
+cell 3node
+
+
+onos-package
+onos-group install -f
+onos-wait-for-start $OC1
+onos-wait-for-start $OC2
+onos-wait-for-start $OC3
+
+echo "ONOS install and startup complete"
+
+sleep 1
+onos-service --cell status
+
+# Prevent ONOS services from starting automatically
+sudo sh -c "echo manual >> /var/lib/lxc/onos1/rootfs/etc/init/onos.override"
+sudo sh -c "echo manual >> /var/lib/lxc/onos2/rootfs/etc/init/onos.override"
+sudo sh -c "echo manual >> /var/lib/lxc/onos3/rootfs/etc/init/onos.override"
+
+# ------------- Create reset scripts -------------
+
+cat << EOF >> ${USER_HOME}/reset-to-1.sh
+#!/bin/bash
+sudo rm -rf /tmp/*
+export ONOS_ROOT=/home/mininet/onos
+export M2_REPO=/home/mininet/.m2/repository
+export KARAF_TAR=/home/mininet/apache-karaf-3.0.5.tar.gz
+. ${ONOS_ROOT}/tools/dev/bash_profile
+. ${ONOS_ROOT}/tools/build/envDefaults
+
+sudo mn -c
+
+cell 3node
+onos-service --cell stop
+cell 1node
+
+if [ -n "\$1" ]; then
+ export ONOS_APPS=\$ONOS_APPS,\$1
+fi
+
+onos-package
+onos-install -f '$OC1'
+EOF
+
+sudo chmod 777 ${USER_HOME}/reset-to-1.sh
+
+cat << EOF >> ${USER_HOME}/reset-to-3.sh
+#!/bin/bash
+sudo rm -rf /tmp/*
+export ONOS_ROOT=/home/mininet/onos
+export M2_REPO=/home/mininet/.m2/repository
+export KARAF_TAR=/home/mininet/apache-karaf-3.0.5.tar.gz
+. ${ONOS_ROOT}/tools/dev/bash_profile
+. ${ONOS_ROOT}/tools/build/envDefaults
+
+sudo mn -c
+
+cell 3node
+
+if [ -n "\$1" ]; then
+ export ONOS_APPS=\$ONOS_APPS,\$1
+fi
+
+onos-service --cell stop
+onos-package
+onos-install -f '$OC1'
+onos-install -f '$OC2'
+onos-install -f '$OC3'
+EOF
+
+sudo chmod 777 ${USER_HOME}/reset-to-3.sh
+
+sudo apt-get clean
+sudo rm /etc/apt/apt.conf.d/02proxy
+
+# ------------- Set up each tutorial -------------
+
+create_user tutorial1 "Basic ONOS Tutorial"
+
+URL='https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=tutorial1-setup.sh'
+wget -O tutorial1-setup.sh $URL
+sudo -u tutorial1 -H sh -c 'cp tutorial1-setup.sh ~/ && cd ~/ && sh tutorial1-setup.sh'
+
+create_user sdnip "SDN-IP Tutorial"
+
+SDNIP_URL='https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=sdnip-setup.sh'
+wget -O sdnip-setup.sh $SDNIP_URL
+sudo -u sdnip -H sh -c 'cp sdnip-setup.sh ~/ && cd ~/ && sh sdnip-setup.sh'
+
+create_user distributed "Distributed Tutorial"
+
+DIST_URL='https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=dist-setup.sh'
+wget -O dist-setup.sh $DIST_URL
+sudo -u distributed -H sh -c 'cp dist-setup.sh ~/ && cd ~/ && sh dist-setup.sh'
+
+create_user optical "Optical Tutorial"
+
+OPT_URL='https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=opt-setup.sh'
+wget -O opt-setup.sh $OPT_URL
+sudo -u optical -H sh -c 'cp opt-setup.sh ~/ && cd ~/ && sh opt-setup.sh'
+
+# ------------- Zero Unused Blocks -------------
+#TODO investigate zerofree
+echo "Zeroing unused blocks"
+sync
+dd if=/dev/zero of=tmp-zeros
+sync
+rm tmp-zeros
+sync
diff --git a/onos-build-base.py b/onos-build-base.py
new file mode 100755
index 0000000..23d85df
--- /dev/null
+++ b/onos-build-base.py
@@ -0,0 +1,80 @@
+#!/usr/bin/python
+
+import os
+import sys
+import re
+import argparse
+from stat import ST_MODE, ST_SIZE
+from subprocess import check_output
+
+# Add the Mininet build script directory to the path, so we can import it
+#TODO do a better job finding Mininet
+path = os.path.join( '/home', 'admin' )
+path = os.path.expanduser( path )
+if os.path.isdir( path ):
+ sys.path.append( path )
+else:
+ print 'Cannot find Mininet build script. Exiting...'
+ sys.exit( 1 )
+
+# Import required functions from the Mininet build script
+from build import bootAndRun, Prompt, OVFOSNameID, generateOVF, log, build, run
+
+def install( vm, scriptFileName='install-base.sh', prompt=Prompt ):
+ # start with sendline
+ #TODO consider resizing the HDD
+ url = 'https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=%s' % scriptFileName
+ vm.sendline( ' wget -O %s "%s" | bash' % (scriptFileName, url) ) # space prefix is used to avoid entry in history
+ vm.expect( prompt, timeout=20 )
+ vm.sendline( 'bash %s' % scriptFileName )
+ vm.expect( prompt, timeout=3600 )
+
+
+def vmdk2size( vmdk ):
+ "Return virtual disk size (in bytes) of vmdk image"
+ output = check_output( [ 'file', vmdk ] )
+ assert 'disk image' in output
+ return os.stat( vmdk )[ ST_SIZE ]
+
+def buildOnosVm( image, out, scriptFileName, vmname='ONOS', vminfo='ONOS VM',
+ flavor='utopic64server', installMemory=4096, cpuCores=4, ovfMemory=4096 ):
+
+ bootAndRun( image, runFunction=install, scriptFileName=scriptFileName, memory=installMemory, cpuCores=cpuCores, outputFile=out )
+
+ size = vmdk2size( out + '.vmdk' ) # get vmdk size
+ ovfname = out
+ osname, osid = OVFOSNameID( flavor )
+ print osname, osid
+
+ ovf = generateOVF( name=ovfname, osname=osname, osid=osid,
+ diskname=out+'.vmdk', disksize=size, mem=ovfMemory, cpus=2,
+ vmname=vmname, vminfo=vminfo )
+ log( '* Generated OVF descriptor file', ovf )
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser( description='ONOS VM build script' )
+ parser.add_argument( '-i', '--image', metavar='image', required=True,
+ help='Build from an existing VM image' )
+ parser.add_argument( '-f', '--flavor', default='trusty64server', required=True,
+ help='VM flavor to build (e.g. trusty64server)' )
+ parser.add_argument( 'scripts', nargs='*',
+ help='VM flavor(s) to build (e.g. trusty64server)' )
+ parser.add_argument( '-z', '--zip', action='store_true',
+ help='archive .ovf and .vmdk into .zip file' )
+ parser.add_argument( '-o', '--out', required=True,
+ help='output file for test image (vmdk)' )
+ parser.add_argument( '-s', '--script', required=True,
+ help='Install script filename' )
+ parser.add_argument( '--vmname', default='ONOS',
+ help='Name of the generated VM image')
+ parser.add_argument( '--vminfo', default='ONOS VM',
+ help='Short description of the VM')
+ args = parser.parse_args()
+
+ print args
+
+ buildOnosVm( args.image, args.out, args.script, vmname=args.vmname, vminfo=args.vminfo, flavor=args.flavor)
+
+ if args.zip:
+ log( '* Generating .zip file' )
+ run( 'zip %s-ovf.zip %s %s' % ( args.out, args.out + '.ovf', args.out + '.vmdk' ) )
diff --git a/onos-build-vm.py b/onos-build-vm.py
new file mode 100755
index 0000000..16e6dd9
--- /dev/null
+++ b/onos-build-vm.py
@@ -0,0 +1,92 @@
+#!/usr/bin/python
+
+import os
+import sys
+import re
+import argparse
+from stat import ST_MODE, ST_SIZE
+from subprocess import check_output
+
+# Add the Mininet build script directory to the path, so we can import it
+#TODO do a better job finding Mininet
+path = os.path.join( '~', 'mininet', 'util', 'vm' )
+path = os.path.expanduser( path )
+if os.path.isdir( path ):
+ sys.path.append( path )
+else:
+ print 'Cannot find Mininet build script. Exiting...'
+ sys.exit( 1 )
+
+# Import required functions from the Mininet build script
+from build import bootAndRun, Prompt, OVFOSNameID, generateOVF, log, build, run
+
+def installONOS( vm, prompt=Prompt ):
+ # start with sendline
+ #TODO consider resizing the HDD
+<<<<<<< Updated upstream
+ url = 'https://gerrit.onlab.us/gitweb?p=ONOS-VM.git;a=blob_plain;hb=refs/heads/master;f=vm-setup.sh'
+ vm.sendline( 'wget -O vm-setup.sh "%s" | bash' % url )
+ vm.expect( prompt, timeout=20 )
+ vm.sendline( 'bash vm-setup.sh' )
+ # end with expect prompt
+ vm.expect( prompt, timeout=1200 )
+=======
+ url = 'https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=vm-setup.sh'
+ vm.sendline( ' wget -O vm-setup.sh "%s" | bash' % url ) # space prefix is used to avoid entry in history
+ vm.expect( prompt, timeout=20 )
+ vm.sendline( 'bash vm-setup.sh' )
+ vm.expect( prompt, timeout=3600 )
+
+ url = 'https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=onos-setup.sh'
+ vm.sendline( ' wget -O onos-setup.sh "%s" | bash' % url ) # space prefix is used to avoid entry in history
+ vm.expect( prompt, timeout=20 )
+ vm.sendline( 'bash onos-setup.sh' )
+ vm.expect(prompt, timeout=3600)
+
+>>>>>>> Stashed changes
+
+def vmdk2size( vmdk ):
+ "Return virtual disk size (in bytes) of vmdk image"
+ output = check_output( [ 'file', vmdk ] )
+ assert 'disk image' in output
+ return os.stat( vmdk )[ ST_SIZE ]
+
+def buildONOS( image, out, flavor='raring64server', installMemory=1024, ovfMemory=2048 ):
+ if not image:
+ # build VM from flavor
+ #build( flavor )
+ pass
+
+ bootAndRun( image, runFunction=installONOS, memory=installMemory, outputFile=out )
+
+ size = vmdk2size( out + '.vmdk' ) # get vmdk size
+ ovfname = out
+ osname, osid = OVFOSNameID( flavor )
+ print osname, osid
+
+ ovf = generateOVF( name=ovfname, osname=osname, osid=osid,
+ diskname=out+'.vmdk', disksize=size, mem=2048, cpus=4,
+ vmname='ONOS-VM', vminfo='An ONOS VM' )
+ log( '* Generated OVF descriptor file', ovf )
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser( description='ONOS VM build script' )
+ parser.add_argument( '-i', '--image', metavar='image', required=True,
+ help='Build from an existing VM image' )
+ parser.add_argument( '-f', '--flavor', default='raring64server',
+ help='VM flavor to build (e.g. raring64server)' )
+ parser.add_argument( 'scripts', nargs='*',
+ help='VM flavor(s) to build (e.g. raring64server)' )
+ parser.add_argument( '-z', '--zip', action='store_true',
+ help='archive .ovf and .vmdk into .zip file' )
+ parser.add_argument( '-o', '--out', required=True,
+ help='output file for test image (vmdk)' )
+ args = parser.parse_args()
+
+ print args
+
+ buildONOS( args.image, args.out )
+
+ if args.zip:
+ log( '* Generating .zip file' )
+ run( 'zip %s-ovf.zip %s %s' % ( args.out, args.out + '.ovf', args.out + '.vmdk' ) )
diff --git a/onos-setup.sh b/onos-setup.sh
new file mode 100755
index 0000000..8dde99d
--- /dev/null
+++ b/onos-setup.sh
@@ -0,0 +1,256 @@
+#!/bin/bash
+# onos-setup.sh
+#
+# Runs as mininet user.
+#
+# This script sets up the desktop environment, installs ONOS in the LXC cluster,
+# then creates a user for each tutorial and runs the tutorial setup script.
+
+function create_user {
+ local name=$1
+ local description=$2
+
+ sudo /usr/sbin/useradd -c "$description" -d /home/$name -U -m -p $(openssl passwd -1 $name) -s /bin/bash $name
+ echo "$name ALL=(ALL) NOPASSWD:ALL" >> $name
+ sudo mv $name /etc/sudoers.d
+ sudo chown root:root /etc/sudoers.d/$name
+ sudo usermod -aG wireshark $name
+
+ sudo usermod -aG mininet $name
+
+ sudo mkdir /home/$name/.ssh
+ sudo chown $name:$name /home/$name/.ssh
+ sudo cp /home/mininet/.ssh/id_rsa /home/$name/.ssh/
+ sudo chown $name:$name /home/$name/.ssh/id_rsa
+
+ sudo -u $name sh -c "echo \"export ONOS_ROOT=/home/mininet/onos\" >> /home/$name/.bashrc"
+ sudo -u $name sh -c "echo \"export KARAF_ROOT=/home/mininet/apache-karaf-3.0.5\" >> /home/$name/.bashrc"
+ sudo -u $name sh -c "echo \"export M2_REPO=/home/mininet/.m2/repository\" >> /home/$name/.bashrc"
+ sudo -u $name sh -c "echo \". /home/mininet/onos/tools/dev/bash_profile\" >> /home/$name/.bashrc"
+
+ sudo -u $name ssh -o "StrictHostKeyChecking no" sdn@10.0.3.11 ls
+ sudo -u $name ssh -o "StrictHostKeyChecking no" sdn@10.0.3.12 ls
+ sudo -u $name ssh -o "StrictHostKeyChecking no" sdn@10.0.3.13 ls
+
+ sudo mkdir -p /home/$name/.wireshark/plugins
+ sudo cp /home/mininet/openflow.lua /home/$name/.wireshark/plugins
+ sudo chown -R $name:$name /home/$name/.wireshark
+}
+
+# ------------- Set up desktop environment -------------
+
+echo "Setting up desktop environment"
+
+# Remove kernel boot options that will prevent the gui from running
+sudo sed -i s/text// /etc/default/grub
+sudo sed -i s/ipv6.disable=1// /etc/default/grub
+sudo update-grub
+
+sudo apt-get install -y xorg lxde systemd-shim
+
+#TODO: add backgrounds folder
+sudo mkdir -p /usr/share/backgrounds
+#TODO: change background
+# Remove wallpaper, change background color
+sudo sed -i 's/wallpaper_mode=1/wallpaper_mode=0/g' /usr/share/lxde/pcmanfm/LXDE.conf
+sudo sed -i 's/desktop_bg=#000000/desktop_bg=#104187/g' /usr/share/lxde/pcmanfm/LXDE.conf
+
+sudo sed -i 's/lang=1/lang=0/g' /etc/lxdm/default.conf
+sudo sed -i 's/bottom_pane=1/bottom_pane=0/g' /etc/lxdm/default.conf
+sudo sed -i 's/disable=0/disable=1/g' /etc/lxdm/default.conf
+
+# Allow VM to be rebooted from GUI
+echo "session required pam_systemd.so" | sudo tee --append /etc/pam.d/lxdm
+
+wget -O onos.png "https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=onos.png"
+sudo cp onos.png /usr/share/backgrounds/default.png
+
+# Change LXTerminal default colors
+sudo sed -i 's/bgcolor=#000000000000/bgcolor=#ffffffffffff/g' /usr/share/lxterminal/lxterminal.conf
+sudo sed -i 's/fgcolor=#aaaaaaaaaaaa/fgcolor=#000000000000/g' /usr/share/lxterminal/lxterminal.conf
+
+# Disable screensaver
+sudo sed -i '/screensaver/d' /etc/xdg/lxsession/LXDE/autostart
+cat > /home/mininet/.xsessionrc << EOF
+# disable screensaver
+xset s off
+# disable dpms (standby)
+xset -dpms
+EOF
+
+echo "Enabling non-root wireshark"
+echo "wireshark-common wireshark-common/install-setuid boolean true" | sudo debconf-set-selections
+sudo dpkg-reconfigure -f noninteractive wireshark-common
+
+# Get the wireshark dissector handy
+wget -O /home/mininet/openflow.lua "https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.1;f=openflow.lua"
+
+# -------------- Install ONOS ----------------
+
+echo "Installing ONOS"
+
+USER=mininet
+USER_HOME=/home/${USER}
+
+cd ~
+
+# Download a local karaf so we can use the bin directory
+wget http://archive.apache.org/dist/karaf/3.0.5/apache-karaf-3.0.5.tar.gz
+tar -xzf apache-karaf-3.0.5.tar.gz
+
+
+git clone https://gerrit.onosproject.org/onos
+cd onos && git checkout 1.6.0 && cd -
+
+mkdir -p ~/Downloads
+
+
+echo "export ONOS_ROOT=${USER_HOME}/onos" >> ~/.bashrc
+echo "export KARAF_ROOT=${USER_HOME}/apache-karaf-3.0.5" >> ~/.bashrc
+echo ". ~/onos/tools/dev/bash_profile" >> ~/.bashrc
+
+export ONOS_ROOT=${USER_HOME}/onos
+export KARAF_ROOT=${USER_HOME}/apache-karaf-3.0.5
+. ~/onos/tools/dev/bash_profile
+
+
+echo $ONOS_ROOT
+
+cd $ONOS_ROOT && mvn clean install && mvn dependency:go-offline && cd -
+
+# Get the sample apps and build them for the right version
+git clone https://gerrit.onosproject.org/onos-app-samples
+cd onos-app-samples
+git checkout 52da58b5991049025ce1b599c000357500b00aef
+mvn versions:set -DnewVersion=1.2.1 versions:commit
+mvn clean install
+cd ..
+
+
+cat << EOF >> onos/tools/test/cells/3node
+export ONOS_NIC=10.0.3.*
+export OC1="10.0.3.11"
+export OC2="10.0.3.12"
+export OC3="10.0.3.13"
+export OCI="10.0.3.11"
+export ONOS_APPS="drivers,openflow"
+export ONOS_USER="sdn"
+EOF
+
+cat << EOF >> onos/tools/test/cells/1node
+export ONOS_NIC=10.0.3.*
+export OC1="10.0.3.11"
+export OCI="10.0.3.11"
+export ONOS_APPS="drivers,openflow"
+export ONOS_USER="sdn"
+EOF
+
+cell 3node
+
+
+onos-package
+onos-group install -f
+onos-wait-for-start $OC1
+onos-wait-for-start $OC2
+onos-wait-for-start $OC3
+
+echo "ONOS install and startup complete"
+
+sleep 1
+onos-service --cell status
+
+# Prevent ONOS services from starting automatically
+sudo sh -c "echo manual >> /var/lib/lxc/onos1/rootfs/etc/init/onos.override"
+sudo sh -c "echo manual >> /var/lib/lxc/onos2/rootfs/etc/init/onos.override"
+sudo sh -c "echo manual >> /var/lib/lxc/onos3/rootfs/etc/init/onos.override"
+
+# ------------- Create reset scripts -------------
+
+cat << EOF >> ${USER_HOME}/reset-to-1.sh
+#!/bin/bash
+sudo rm -rf /tmp/*
+export ONOS_ROOT=/home/mininet/onos
+export M2_REPO=/home/mininet/.m2/repository
+export KARAF_TAR=/home/mininet/apache-karaf-3.0.5.tar.gz
+. ${ONOS_ROOT}/tools/dev/bash_profile
+. ${ONOS_ROOT}/tools/build/envDefaults
+
+sudo mn -c
+
+cell 3node
+onos-service --cell stop
+cell 1node
+
+if [ -n "\$1" ]; then
+ export ONOS_APPS=\$ONOS_APPS,\$1
+fi
+
+onos-package
+onos-install -f '$OC1'
+EOF
+
+sudo chmod 777 ${USER_HOME}/reset-to-1.sh
+
+cat << EOF >> ${USER_HOME}/reset-to-3.sh
+#!/bin/bash
+sudo rm -rf /tmp/*
+export ONOS_ROOT=/home/mininet/onos
+export M2_REPO=/home/mininet/.m2/repository
+export KARAF_TAR=/home/mininet/apache-karaf-3.0.5.tar.gz
+. ${ONOS_ROOT}/tools/dev/bash_profile
+. ${ONOS_ROOT}/tools/build/envDefaults
+
+sudo mn -c
+
+cell 3node
+
+if [ -n "\$1" ]; then
+ export ONOS_APPS=\$ONOS_APPS,\$1
+fi
+
+onos-service --cell stop
+onos-package
+onos-install -f '$OC1'
+onos-install -f '$OC2'
+onos-install -f '$OC3'
+EOF
+
+sudo chmod 777 ${USER_HOME}/reset-to-3.sh
+
+sudo apt-get clean
+sudo rm /etc/apt/apt.conf.d/02proxy
+
+# ------------- Set up each tutorial -------------
+
+create_user tutorial1 "Basic ONOS Tutorial"
+
+URL='https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=tutorial1-setup.sh'
+wget -O tutorial1-setup.sh $URL
+sudo -u tutorial1 -H sh -c 'cp tutorial1-setup.sh ~/ && cd ~/ && sh tutorial1-setup.sh'
+
+create_user sdnip "SDN-IP Tutorial"
+
+SDNIP_URL='https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=sdnip-setup.sh'
+wget -O sdnip-setup.sh $SDNIP_URL
+sudo -u sdnip -H sh -c 'cp sdnip-setup.sh ~/ && cd ~/ && sh sdnip-setup.sh'
+
+create_user distributed "Distributed Tutorial"
+
+DIST_URL='https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.6;f=dist-setup.sh'
+wget -O dist-setup.sh $DIST_URL
+sudo -u distributed -H sh -c 'cp dist-setup.sh ~/ && cd ~/ && sh dist-setup.sh'
+
+create_user optical "Optical Tutorial"
+
+OPT_URL='https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial-1.1;f=opt-setup.sh'
+wget -O opt-setup.sh $OPT_URL
+sudo -u optical -H sh -c 'cp opt-setup.sh ~/ && cd ~/ && sh opt-setup.sh'
+
+# ------------- Zero Unused Blocks -------------
+#TODO investigate zerofree
+echo "Zeroing unused blocks"
+sync
+dd if=/dev/zero of=tmp-zeros
+sync
+rm tmp-zeros
+sync
diff --git a/onos.png b/onos.png
new file mode 100644
index 0000000..ddcc047
--- /dev/null
+++ b/onos.png
Binary files differ
diff --git a/openflow.lua b/openflow.lua
new file mode 100644
index 0000000..c74d421
--- /dev/null
+++ b/openflow.lua
@@ -0,0 +1,25198 @@
+-- Copyright 2013, Big Switch Networks, Inc. This library was generated
+-- by the LoxiGen Compiler.
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 2 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+-- Copy this file to your wireshark plugin directory:
+-- Linux / OS X: ~/.wireshark/plugins/
+-- Windows: C:\Documents and Settings\<username>\Application Data\Wireshark\plugins\
+-- You may need to create the directory.
+
+-- The latest version of this dissector is always available at:
+-- http://www.projectfloodlight.org/openflow.lua
+
+OFReader = {}
+OFReader.new = function(buf, offset)
+ local self = {}
+ offset = offset or 0
+
+ self.read = function(len)
+ local r = buf(offset, len)
+ offset = offset + len
+ return r
+ end
+
+ self.read_all = function()
+ local r = buf(offset, buf:len() - offset)
+ offset = buf:len()
+ return r
+ end
+
+ self.peek = function(off, len)
+ return buf(offset + off, len)
+ end
+
+ self.peek_all = function(off)
+ return buf(offset + off, buf:len() - offset - off)
+ end
+
+ self.skip = function(len)
+ offset = offset + len
+ end
+
+ self.is_empty = function()
+ return offset == buf:len()
+ end
+
+ self.slice = function(len)
+ r = OFReader.new(buf(offset, len))
+ offset = offset + len
+ return r
+ end
+
+ self.skip_align = function()
+ offset = math.floor((offset + 7)/8)*8
+ end
+
+ return self
+end
+
+p_of = Proto ("of", "OF")
+ethernet_dissector = Dissector.get("eth")
+
+current_pkt = nil
+
+local openflow_versions = {
+ [1] = "1.0",
+ [2] = "1.1",
+ [3] = "1.2",
+ [4] = "1.3",
+}
+
+local enum_v1_ofp_error_type = {
+ [0] = "OFPET_HELLO_FAILED",
+ [1] = "OFPET_BAD_REQUEST",
+ [2] = "OFPET_BAD_ACTION",
+ [3] = "OFPET_FLOW_MOD_FAILED",
+ [4] = "OFPET_PORT_MOD_FAILED",
+ [5] = "OFPET_QUEUE_OP_FAILED",
+}
+
+local enum_v1_macro_definitions = {
+ [32] = "OFP_MAX_TABLE_NAME_LEN",
+ [16] = "OFP_MAX_PORT_NAME_LEN",
+ [6653] = "OFP_TCP_PORT",
+ [6653] = "OFP_SSL_PORT",
+ [6] = "OFP_ETH_ALEN",
+ [128] = "OFP_DEFAULT_MISS_SEND_LEN",
+ [65535] = "OFP_VLAN_NONE",
+ [64] = "OFPFW_ICMP_TYPE",
+ [128] = "OFPFW_ICMP_CODE",
+ [1536] = "OFP_DL_TYPE_ETH2_CUTOFF",
+ [1535] = "OFP_DL_TYPE_NOT_ETH_TYPE",
+ [0] = "OFP_FLOW_PERMANENT",
+ [32768] = "OFP_DEFAULT_PRIORITY",
+ [256] = "DESC_STR_LEN",
+ [32] = "SERIAL_NUM_LEN",
+ [4294967295] = "OFPQ_ALL",
+ [65535] = "OFPQ_MIN_RATE_UNCFG",
+}
+
+local enum_v1_ofp_flow_mod_flags = {
+ [1] = "OFPFF_SEND_FLOW_REM",
+ [2] = "OFPFF_CHECK_OVERLAP",
+ [4] = "OFPFF_EMERG",
+}
+
+local enum_v1_ofp_stats_reply_flags = {
+ [1] = "OFPSF_REPLY_MORE",
+}
+
+local enum_v1_ofp_bad_request_code = {
+ [0] = "OFPBRC_BAD_VERSION",
+ [1] = "OFPBRC_BAD_TYPE",
+ [2] = "OFPBRC_BAD_STAT",
+ [3] = "OFPBRC_BAD_EXPERIMENTER",
+ [4] = "OFPBRC_BAD_SUBTYPE",
+ [5] = "OFPBRC_EPERM",
+ [6] = "OFPBRC_BAD_LEN",
+ [7] = "OFPBRC_BUFFER_EMPTY",
+ [8] = "OFPBRC_BUFFER_UNKNOWN",
+}
+
+local enum_v1_ofp_port_config = {
+ [1] = "OFPPC_PORT_DOWN",
+ [2] = "OFPPC_NO_STP",
+ [4] = "OFPPC_NO_RECV",
+ [8] = "OFPPC_NO_RECV_STP",
+ [16] = "OFPPC_NO_FLOOD",
+ [32] = "OFPPC_NO_FWD",
+ [64] = "OFPPC_NO_PACKET_IN",
+ [2147483648] = "OFPPC_BSN_MIRROR_DEST",
+}
+
+local enum_v1_ofp_port_state = {
+ [1] = "OFPPS_LINK_DOWN",
+ [0] = "OFPPS_STP_LISTEN",
+ [256] = "OFPPS_STP_LEARN",
+ [512] = "OFPPS_STP_FORWARD",
+ [768] = "OFPPS_STP_BLOCK",
+ [768] = "OFPPS_STP_MASK",
+}
+
+local enum_v1_ofp_config_flags = {
+ [0] = "OFPC_FRAG_NORMAL",
+ [1] = "OFPC_FRAG_DROP",
+ [2] = "OFPC_FRAG_REASM",
+ [3] = "OFPC_FRAG_MASK",
+}
+
+local enum_v1_ofp_hello_failed_code = {
+ [0] = "OFPHFC_INCOMPATIBLE",
+ [1] = "OFPHFC_EPERM",
+}
+
+local enum_v1_ofp_capabilities = {
+ [1] = "OFPC_FLOW_STATS",
+ [2] = "OFPC_TABLE_STATS",
+ [4] = "OFPC_PORT_STATS",
+ [8] = "OFPC_STP",
+ [16] = "OFPC_RESERVED",
+ [32] = "OFPC_IP_REASM",
+ [64] = "OFPC_QUEUE_STATS",
+ [128] = "OFPC_ARP_MATCH_IP",
+}
+
+local enum_v1_ofp_flow_removed_reason = {
+ [0] = "OFPRR_IDLE_TIMEOUT",
+ [1] = "OFPRR_HARD_TIMEOUT",
+ [2] = "OFPRR_DELETE",
+}
+
+local enum_v1_ofp_queue_properties = {
+ [0] = "OFPQT_NONE",
+ [1] = "OFPQT_MIN_RATE",
+}
+
+local enum_v1_ofp_bsn_vport_l2gre_flags = {
+ [1] = "OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID",
+ [2] = "OF_BSN_VPORT_L2GRE_DSCP_ASSIGN",
+ [4] = "OF_BSN_VPORT_L2GRE_DSCP_COPY",
+ [8] = "OF_BSN_VPORT_L2GRE_LOOPBACK_IS_VALID",
+ [16] = "OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID",
+}
+
+local enum_v1_ofp_flow_wildcards = {
+ [1] = "OFPFW_IN_PORT",
+ [2] = "OFPFW_DL_VLAN",
+ [4] = "OFPFW_DL_SRC",
+ [6] = "OFPFW_NW_DST_BITS",
+ [6] = "OFPFW_NW_SRC_BITS",
+ [8] = "OFPFW_NW_SRC_SHIFT",
+ [8] = "OFPFW_DL_DST",
+ [14] = "OFPFW_NW_DST_SHIFT",
+ [16] = "OFPFW_DL_TYPE",
+ [32] = "OFPFW_NW_PROTO",
+ [64] = "OFPFW_TP_SRC",
+ [128] = "OFPFW_TP_DST",
+ [8192] = "OFPFW_NW_SRC_ALL",
+ [16128] = "OFPFW_NW_SRC_MASK",
+ [524288] = "OFPFW_NW_DST_ALL",
+ [1032192] = "OFPFW_NW_DST_MASK",
+ [1048576] = "OFPFW_DL_VLAN_PCP",
+ [2097152] = "OFPFW_NW_TOS",
+ [4194303] = "OFPFW_ALL",
+}
+
+local enum_v1_ofp_bsn_vport_status = {
+ [0] = "OF_BSN_VPORT_STATUS_OK",
+ [1] = "OF_BSN_VPORT_STATUS_FAILED",
+}
+
+local enum_v1_ofp_port_reason = {
+ [0] = "OFPPR_ADD",
+ [1] = "OFPPR_DELETE",
+ [2] = "OFPPR_MODIFY",
+}
+
+local enum_v1_ofp_action_type = {
+ [0] = "OFPAT_OUTPUT",
+ [1] = "OFPAT_SET_VLAN_VID",
+ [2] = "OFPAT_SET_VLAN_PCP",
+ [3] = "OFPAT_STRIP_VLAN",
+ [4] = "OFPAT_SET_DL_SRC",
+ [5] = "OFPAT_SET_DL_DST",
+ [6] = "OFPAT_SET_NW_SRC",
+ [7] = "OFPAT_SET_NW_DST",
+ [8] = "OFPAT_SET_NW_TOS",
+ [9] = "OFPAT_SET_TP_SRC",
+ [10] = "OFPAT_SET_TP_DST",
+ [11] = "OFPAT_ENQUEUE",
+ [65535] = "OFPAT_EXPERIMENTER",
+}
+
+local enum_v1_ofp_flow_mod_command = {
+ [0] = "OFPFC_ADD",
+ [1] = "OFPFC_MODIFY",
+ [2] = "OFPFC_MODIFY_STRICT",
+ [3] = "OFPFC_DELETE",
+ [4] = "OFPFC_DELETE_STRICT",
+}
+
+local enum_v1_ofp_queue_op_failed_code = {
+ [0] = "OFPQOFC_BAD_PORT",
+ [1] = "OFPQOFC_BAD_QUEUE",
+ [2] = "OFPQOFC_EPERM",
+}
+
+local enum_v1_ofp_stats_request_flags = {
+}
+
+local enum_v1_ofp_stats_type = {
+ [0] = "OFPST_DESC",
+ [1] = "OFPST_FLOW",
+ [2] = "OFPST_AGGREGATE",
+ [3] = "OFPST_TABLE",
+ [4] = "OFPST_PORT",
+ [5] = "OFPST_QUEUE",
+ [65535] = "OFPST_EXPERIMENTER",
+}
+
+local enum_v1_ofp_port = {
+ [4294967040] = "OFPP_MAX",
+ [4294967288] = "OFPP_IN_PORT",
+ [4294967289] = "OFPP_TABLE",
+ [4294967290] = "OFPP_NORMAL",
+ [4294967291] = "OFPP_FLOOD",
+ [4294967292] = "OFPP_ALL",
+ [4294967293] = "OFPP_CONTROLLER",
+ [4294967294] = "OFPP_LOCAL",
+ [4294967295] = "OFPP_NONE",
+}
+
+local enum_v1_ofp_bad_action_code = {
+ [0] = "OFPBAC_BAD_TYPE",
+ [1] = "OFPBAC_BAD_LEN",
+ [2] = "OFPBAC_BAD_EXPERIMENTER",
+ [3] = "OFPBAC_BAD_EXPERIMENTER_TYPE",
+ [4] = "OFPBAC_BAD_OUT_PORT",
+ [5] = "OFPBAC_BAD_ARGUMENT",
+ [6] = "OFPBAC_EPERM",
+ [7] = "OFPBAC_TOO_MANY",
+ [8] = "OFPBAC_BAD_QUEUE",
+}
+
+local enum_v1_ofp_flow_mod_failed_code = {
+ [0] = "OFPFMFC_ALL_TABLES_FULL",
+ [1] = "OFPFMFC_OVERLAP",
+ [2] = "OFPFMFC_EPERM",
+ [3] = "OFPFMFC_BAD_EMERG_TIMEOUT",
+ [4] = "OFPFMFC_BAD_COMMAND",
+ [5] = "OFPFMFC_UNSUPPORTED",
+}
+
+local enum_v1_ofp_port_mod_failed_code = {
+ [0] = "OFPPMFC_BAD_PORT",
+ [1] = "OFPPMFC_BAD_HW_ADDR",
+}
+
+local enum_v1_ofp_type = {
+ [0] = "OFPT_HELLO",
+ [1] = "OFPT_ERROR",
+ [2] = "OFPT_ECHO_REQUEST",
+ [3] = "OFPT_ECHO_REPLY",
+ [4] = "OFPT_EXPERIMENTER",
+ [5] = "OFPT_FEATURES_REQUEST",
+ [6] = "OFPT_FEATURES_REPLY",
+ [7] = "OFPT_GET_CONFIG_REQUEST",
+ [8] = "OFPT_GET_CONFIG_REPLY",
+ [9] = "OFPT_SET_CONFIG",
+ [10] = "OFPT_PACKET_IN",
+ [11] = "OFPT_FLOW_REMOVED",
+ [12] = "OFPT_PORT_STATUS",
+ [13] = "OFPT_PACKET_OUT",
+ [14] = "OFPT_FLOW_MOD",
+ [15] = "OFPT_PORT_MOD",
+ [16] = "OFPT_STATS_REQUEST",
+ [17] = "OFPT_STATS_REPLY",
+ [18] = "OFPT_BARRIER_REQUEST",
+ [19] = "OFPT_BARRIER_REPLY",
+ [20] = "OFPT_QUEUE_GET_CONFIG_REQUEST",
+ [21] = "OFPT_QUEUE_GET_CONFIG_REPLY",
+}
+
+local enum_v1_ofp_packet_in_reason = {
+ [0] = "OFPR_NO_MATCH",
+ [1] = "OFPR_ACTION",
+}
+
+local enum_v1_ofp_nicira_controller_role = {
+ [0] = "NX_ROLE_OTHER",
+ [1] = "NX_ROLE_MASTER",
+ [2] = "NX_ROLE_SLAVE",
+}
+
+local enum_v1_ofp_bsn_vport_q_in_q_untagged = {
+ [65535] = "OF_BSN_VPORT_Q_IN_Q_UNTAGGED",
+}
+
+local enum_v1_of_bsn_pdu_slot_num_t = {
+ [255] = "BSN_PDU_SLOT_NUM_ANY",
+}
+
+local enum_v1_ofp_port_features = {
+ [1] = "OFPPF_10MB_HD",
+ [2] = "OFPPF_10MB_FD",
+ [4] = "OFPPF_100MB_HD",
+ [8] = "OFPPF_100MB_FD",
+ [16] = "OFPPF_1GB_HD",
+ [32] = "OFPPF_1GB_FD",
+ [64] = "OFPPF_10GB_FD",
+ [128] = "OFPPF_COPPER",
+ [256] = "OFPPF_FIBER",
+ [512] = "OFPPF_AUTONEG",
+ [1024] = "OFPPF_PAUSE",
+ [2048] = "OFPPF_PAUSE_ASYM",
+}
+
+
+local enum_v2_ofp_error_type = {
+ [0] = "OFPET_HELLO_FAILED",
+ [1] = "OFPET_BAD_REQUEST",
+ [2] = "OFPET_BAD_ACTION",
+ [3] = "OFPET_BAD_INSTRUCTION",
+ [4] = "OFPET_BAD_MATCH",
+ [5] = "OFPET_FLOW_MOD_FAILED",
+ [6] = "OFPET_GROUP_MOD_FAILED",
+ [7] = "OFPET_PORT_MOD_FAILED",
+ [8] = "OFPET_TABLE_MOD_FAILED",
+ [9] = "OFPET_QUEUE_OP_FAILED",
+ [10] = "OFPET_SWITCH_CONFIG_FAILED",
+}
+
+local enum_v2_ofp_stats_type = {
+ [0] = "OFPST_DESC",
+ [1] = "OFPST_FLOW",
+ [2] = "OFPST_AGGREGATE",
+ [3] = "OFPST_TABLE",
+ [4] = "OFPST_PORT",
+ [5] = "OFPST_QUEUE",
+ [6] = "OFPST_GROUP",
+ [7] = "OFPST_GROUP_DESC",
+ [65535] = "OFPST_EXPERIMENTER",
+}
+
+local enum_v2_ofp_flow_mod_flags = {
+ [1] = "OFPFF_SEND_FLOW_REM",
+ [2] = "OFPFF_CHECK_OVERLAP",
+}
+
+local enum_v2_ofp_stats_reply_flags = {
+ [1] = "OFPSF_REPLY_MORE",
+}
+
+local enum_v2_ofp_bad_request_code = {
+ [0] = "OFPBRC_BAD_VERSION",
+ [1] = "OFPBRC_BAD_TYPE",
+ [2] = "OFPBRC_BAD_STAT",
+ [3] = "OFPBRC_BAD_EXPERIMENTER",
+ [4] = "OFPBRC_BAD_SUBTYPE",
+ [5] = "OFPBRC_EPERM",
+ [6] = "OFPBRC_BAD_LEN",
+ [7] = "OFPBRC_BUFFER_EMPTY",
+ [8] = "OFPBRC_BUFFER_UNKNOWN",
+ [9] = "OFPBRC_BAD_TABLE_ID",
+}
+
+local enum_v2_ofp_bad_instruction_code = {
+ [0] = "OFPBIC_UNKNOWN_INST",
+ [1] = "OFPBIC_UNSUP_INST",
+ [2] = "OFPBIC_BAD_TABLE_ID",
+ [3] = "OFPBIC_UNSUP_METADATA",
+ [4] = "OFPBIC_UNSUP_METADATA_MASK",
+ [5] = "OFPBIC_UNSUP_EXP_INST",
+}
+
+local enum_v2_ofp_port_config = {
+ [1] = "OFPPC_PORT_DOWN",
+ [4] = "OFPPC_NO_RECV",
+ [32] = "OFPPC_NO_FWD",
+ [64] = "OFPPC_NO_PACKET_IN",
+ [2147483648] = "OFPPC_BSN_MIRROR_DEST",
+}
+
+local enum_v2_ofp_port_state = {
+ [1] = "OFPPS_LINK_DOWN",
+ [2] = "OFPPS_BLOCKED",
+ [4] = "OFPPS_LIVE",
+}
+
+local enum_v2_ofp_config_flags = {
+ [0] = "OFPC_FRAG_NORMAL",
+ [1] = "OFPC_FRAG_DROP",
+ [2] = "OFPC_FRAG_REASM",
+ [3] = "OFPC_FRAG_MASK",
+ [4] = "OFPC_INVALID_TTL_TO_CONTROLLER",
+}
+
+local enum_v2_ofp_switch_config_failed_code = {
+ [0] = "OFPSCFC_BAD_FLAGS",
+ [1] = "OFPSCFC_BAD_LEN",
+}
+
+local enum_v2_ofp_hello_failed_code = {
+ [0] = "OFPHFC_INCOMPATIBLE",
+ [1] = "OFPHFC_EPERM",
+}
+
+local enum_v2_ofp_capabilities = {
+ [1] = "OFPC_FLOW_STATS",
+ [2] = "OFPC_TABLE_STATS",
+ [4] = "OFPC_PORT_STATS",
+ [8] = "OFPC_GROUP_STATS",
+ [32] = "OFPC_IP_REASM",
+ [64] = "OFPC_QUEUE_STATS",
+ [128] = "OFPC_ARP_MATCH_IP",
+}
+
+local enum_v2_ofp_bad_match_code = {
+ [0] = "OFPBMC_BAD_TYPE",
+ [1] = "OFPBMC_BAD_LEN",
+ [2] = "OFPBMC_BAD_TAG",
+ [3] = "OFPBMC_BAD_DL_ADDR_MASK",
+ [4] = "OFPBMC_BAD_NW_ADDR_MASK",
+ [5] = "OFPBMC_BAD_WILDCARDS",
+ [6] = "OFPBMC_BAD_FIELD",
+ [7] = "OFPBMC_BAD_VALUE",
+}
+
+local enum_v2_ofp_flow_removed_reason = {
+ [0] = "OFPRR_IDLE_TIMEOUT",
+ [1] = "OFPRR_HARD_TIMEOUT",
+ [2] = "OFPRR_DELETE",
+ [3] = "OFPRR_GROUP_DELETE",
+}
+
+local enum_v2_ofp_table_mod_failed_code = {
+ [0] = "OFPTMFC_BAD_TABLE",
+ [1] = "OFPTMFC_BAD_CONFIG",
+}
+
+local enum_v2_ofp_queue_properties = {
+ [0] = "OFPQT_NONE",
+ [1] = "OFPQT_MIN_RATE",
+}
+
+local enum_v2_ofp_bsn_vport_l2gre_flags = {
+ [1] = "OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID",
+ [2] = "OF_BSN_VPORT_L2GRE_DSCP_ASSIGN",
+ [4] = "OF_BSN_VPORT_L2GRE_DSCP_COPY",
+ [8] = "OF_BSN_VPORT_L2GRE_LOOPBACK_IS_VALID",
+ [16] = "OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID",
+}
+
+local enum_v2_ofp_flow_wildcards = {
+ [1] = "OFPFW_IN_PORT",
+ [2] = "OFPFW_DL_VLAN",
+ [4] = "OFPFW_DL_VLAN_PCP",
+ [8] = "OFPFW_DL_TYPE",
+ [16] = "OFPFW_NW_TOS",
+ [32] = "OFPFW_NW_PROTO",
+ [64] = "OFPFW_TP_SRC",
+ [128] = "OFPFW_TP_DST",
+ [256] = "OFPFW_MPLS_LABEL",
+ [512] = "OFPFW_MPLS_TC",
+ [1023] = "OFPFW_ALL",
+}
+
+local enum_v2_ofp_bsn_vport_status = {
+ [0] = "OF_BSN_VPORT_STATUS_OK",
+ [1] = "OF_BSN_VPORT_STATUS_FAILED",
+}
+
+local enum_v2_ofp_group = {
+ [4294967040] = "OFPG_MAX",
+ [4294967292] = "OFPG_ALL",
+ [4294967295] = "OFPG_ANY",
+}
+
+local enum_v2_ofp_port_reason = {
+ [0] = "OFPPR_ADD",
+ [1] = "OFPPR_DELETE",
+ [2] = "OFPPR_MODIFY",
+}
+
+local enum_v2_ofp_table_config = {
+ [0] = "OFPTC_TABLE_MISS_CONTROLLER",
+ [1] = "OFPTC_TABLE_MISS_CONTINUE",
+ [2] = "OFPTC_TABLE_MISS_DROP",
+ [3] = "OFPTC_TABLE_MISS_MASK",
+}
+
+local enum_v2_ofp_action_type = {
+ [0] = "OFPAT_OUTPUT",
+ [1] = "OFPAT_SET_VLAN_VID",
+ [2] = "OFPAT_SET_VLAN_PCP",
+ [3] = "OFPAT_SET_DL_SRC",
+ [4] = "OFPAT_SET_DL_DST",
+ [5] = "OFPAT_SET_NW_SRC",
+ [6] = "OFPAT_SET_NW_DST",
+ [7] = "OFPAT_SET_NW_TOS",
+ [8] = "OFPAT_SET_NW_ECN",
+ [9] = "OFPAT_SET_TP_SRC",
+ [10] = "OFPAT_SET_TP_DST",
+ [11] = "OFPAT_COPY_TTL_OUT",
+ [12] = "OFPAT_COPY_TTL_IN",
+ [13] = "OFPAT_SET_MPLS_LABEL",
+ [14] = "OFPAT_SET_MPLS_TC",
+ [15] = "OFPAT_SET_MPLS_TTL",
+ [16] = "OFPAT_DEC_MPLS_TTL",
+ [17] = "OFPAT_PUSH_VLAN",
+ [18] = "OFPAT_POP_VLAN",
+ [19] = "OFPAT_PUSH_MPLS",
+ [20] = "OFPAT_POP_MPLS",
+ [21] = "OFPAT_SET_QUEUE",
+ [22] = "OFPAT_GROUP",
+ [23] = "OFPAT_SET_NW_TTL",
+ [24] = "OFPAT_DEC_NW_TTL",
+ [65535] = "OFPAT_EXPERIMENTER",
+}
+
+local enum_v2_ofp_flow_mod_command = {
+ [0] = "OFPFC_ADD",
+ [1] = "OFPFC_MODIFY",
+ [2] = "OFPFC_MODIFY_STRICT",
+ [3] = "OFPFC_DELETE",
+ [4] = "OFPFC_DELETE_STRICT",
+}
+
+local enum_v2_ofp_queue_op_failed_code = {
+ [0] = "OFPQOFC_BAD_PORT",
+ [1] = "OFPQOFC_BAD_QUEUE",
+ [2] = "OFPQOFC_EPERM",
+}
+
+local enum_v2_of_bsn_pdu_slot_num_t = {
+ [255] = "BSN_PDU_SLOT_NUM_ANY",
+}
+
+local enum_v2_ofp_match_type = {
+ [0] = "OFPMT_STANDARD",
+}
+
+local enum_v2_ofp_vlan_id = {
+ [65534] = "OFPVID_ANY",
+ [65535] = "OFPVID_NONE",
+}
+
+local enum_v2_ofp_stats_request_flags = {
+}
+
+local enum_v2_ofp_group_mod_failed_code = {
+ [0] = "OFPGMFC_GROUP_EXISTS",
+ [1] = "OFPGMFC_INVALID_GROUP",
+ [2] = "OFPGMFC_WEIGHT_UNSUPPORTED",
+ [3] = "OFPGMFC_OUT_OF_GROUPS",
+ [4] = "OFPGMFC_OUT_OF_BUCKETS",
+ [5] = "OFPGMFC_CHAINING_UNSUPPORTED",
+ [6] = "OFPGMFC_WATCH_UNSUPPORTED",
+ [7] = "OFPGMFC_LOOP",
+ [8] = "OFPGMFC_UNKNOWN_GROUP",
+}
+
+local enum_v2_macro_definitions = {
+ [32] = "OFP_MAX_TABLE_NAME_LEN",
+ [16] = "OFP_MAX_PORT_NAME_LEN",
+ [6653] = "OFP_TCP_PORT",
+ [6653] = "OFP_SSL_PORT",
+ [6] = "OFP_ETH_ALEN",
+ [128] = "OFP_DEFAULT_MISS_SEND_LEN",
+ [64] = "OFPFW_ICMP_TYPE",
+ [128] = "OFPFW_ICMP_CODE",
+ [1536] = "OFP_DL_TYPE_ETH2_CUTOFF",
+ [1535] = "OFP_DL_TYPE_NOT_ETH_TYPE",
+ [0] = "OFP_VLAN_NONE",
+ [88] = "OFPMT_STANDARD_LENGTH",
+ [0] = "OFP_FLOW_PERMANENT",
+ [32768] = "OFP_DEFAULT_PRIORITY",
+ [256] = "DESC_STR_LEN",
+ [32] = "SERIAL_NUM_LEN",
+ [4294967295] = "OFPQ_ALL",
+ [65535] = "OFPQ_MIN_RATE_UNCFG",
+}
+
+local enum_v2_ofp_port = {
+ [4294967040] = "OFPP_MAX",
+ [4294967288] = "OFPP_IN_PORT",
+ [4294967289] = "OFPP_TABLE",
+ [4294967290] = "OFPP_NORMAL",
+ [4294967291] = "OFPP_FLOOD",
+ [4294967292] = "OFPP_ALL",
+ [4294967293] = "OFPP_CONTROLLER",
+ [4294967294] = "OFPP_LOCAL",
+ [4294967295] = "OFPP_ANY",
+}
+
+local enum_v2_ofp_group_type = {
+ [0] = "OFPGT_ALL",
+ [1] = "OFPGT_SELECT",
+ [2] = "OFPGT_INDIRECT",
+ [3] = "OFPGT_FF",
+}
+
+local enum_v2_ofp_instruction_type = {
+ [1] = "OFPIT_GOTO_TABLE",
+ [2] = "OFPIT_WRITE_METADATA",
+ [3] = "OFPIT_WRITE_ACTIONS",
+ [4] = "OFPIT_APPLY_ACTIONS",
+ [5] = "OFPIT_CLEAR_ACTIONS",
+ [65535] = "OFPIT_EXPERIMENTER",
+}
+
+local enum_v2_ofp_bad_action_code = {
+ [0] = "OFPBAC_BAD_TYPE",
+ [1] = "OFPBAC_BAD_LEN",
+ [2] = "OFPBAC_BAD_EXPERIMENTER",
+ [3] = "OFPBAC_BAD_EXPERIMENTER_TYPE",
+ [4] = "OFPBAC_BAD_OUT_PORT",
+ [5] = "OFPBAC_BAD_ARGUMENT",
+ [6] = "OFPBAC_EPERM",
+ [7] = "OFPBAC_TOO_MANY",
+ [8] = "OFPBAC_BAD_QUEUE",
+ [9] = "OFPBAC_BAD_OUT_GROUP",
+ [10] = "OFPBAC_MATCH_INCONSISTENT",
+ [11] = "OFPBAC_UNSUPPORTED_ORDER",
+ [12] = "OFPBAC_BAD_TAG",
+}
+
+local enum_v2_ofp_flow_mod_failed_code = {
+ [0] = "OFPFMFC_UNKNOWN",
+ [1] = "OFPFMFC_TABLE_FULL",
+ [2] = "OFPFMFC_BAD_TABLE_ID",
+ [3] = "OFPFMFC_OVERLAP",
+ [4] = "OFPFMFC_EPERM",
+ [5] = "OFPFMFC_BAD_TIMEOUT",
+ [6] = "OFPFMFC_BAD_COMMAND",
+}
+
+local enum_v2_ofp_port_mod_failed_code = {
+ [0] = "OFPPMFC_BAD_PORT",
+ [1] = "OFPPMFC_BAD_HW_ADDR",
+ [2] = "OFPPMFC_BAD_CONFIG",
+ [3] = "OFPPMFC_BAD_ADVERTISE",
+}
+
+local enum_v2_ofp_type = {
+ [0] = "OFPT_HELLO",
+ [1] = "OFPT_ERROR",
+ [2] = "OFPT_ECHO_REQUEST",
+ [3] = "OFPT_ECHO_REPLY",
+ [4] = "OFPT_EXPERIMENTER",
+ [5] = "OFPT_FEATURES_REQUEST",
+ [6] = "OFPT_FEATURES_REPLY",
+ [7] = "OFPT_GET_CONFIG_REQUEST",
+ [8] = "OFPT_GET_CONFIG_REPLY",
+ [9] = "OFPT_SET_CONFIG",
+ [10] = "OFPT_PACKET_IN",
+ [11] = "OFPT_FLOW_REMOVED",
+ [12] = "OFPT_PORT_STATUS",
+ [13] = "OFPT_PACKET_OUT",
+ [14] = "OFPT_FLOW_MOD",
+ [15] = "OFPT_GROUP_MOD",
+ [16] = "OFPT_PORT_MOD",
+ [17] = "OFPT_TABLE_MOD",
+ [18] = "OFPT_STATS_REQUEST",
+ [19] = "OFPT_STATS_REPLY",
+ [20] = "OFPT_BARRIER_REQUEST",
+ [21] = "OFPT_BARRIER_REPLY",
+ [22] = "OFPT_QUEUE_GET_CONFIG_REQUEST",
+ [23] = "OFPT_QUEUE_GET_CONFIG_REPLY",
+}
+
+local enum_v2_ofp_packet_in_reason = {
+ [0] = "OFPR_NO_MATCH",
+ [1] = "OFPR_ACTION",
+}
+
+local enum_v2_ofp_bsn_vport_q_in_q_untagged = {
+ [65535] = "OF_BSN_VPORT_Q_IN_Q_UNTAGGED",
+}
+
+local enum_v2_ofp_group_mod_command = {
+ [0] = "OFPGC_ADD",
+ [1] = "OFPGC_MODIFY",
+ [2] = "OFPGC_DELETE",
+}
+
+local enum_v2_ofp_port_features = {
+ [1] = "OFPPF_10MB_HD",
+ [2] = "OFPPF_10MB_FD",
+ [4] = "OFPPF_100MB_HD",
+ [8] = "OFPPF_100MB_FD",
+ [16] = "OFPPF_1GB_HD",
+ [32] = "OFPPF_1GB_FD",
+ [64] = "OFPPF_10GB_FD",
+ [128] = "OFPPF_40GB_FD",
+ [256] = "OFPPF_100GB_FD",
+ [512] = "OFPPF_1TB_FD",
+ [1024] = "OFPPF_OTHER",
+ [2048] = "OFPPF_COPPER",
+ [4096] = "OFPPF_FIBER",
+ [8192] = "OFPPF_AUTONEG",
+ [16384] = "OFPPF_PAUSE",
+ [32768] = "OFPPF_PAUSE_ASYM",
+}
+
+
+local enum_v3_ofp_error_type = {
+ [0] = "OFPET_HELLO_FAILED",
+ [1] = "OFPET_BAD_REQUEST",
+ [2] = "OFPET_BAD_ACTION",
+ [3] = "OFPET_BAD_INSTRUCTION",
+ [4] = "OFPET_BAD_MATCH",
+ [5] = "OFPET_FLOW_MOD_FAILED",
+ [6] = "OFPET_GROUP_MOD_FAILED",
+ [7] = "OFPET_PORT_MOD_FAILED",
+ [8] = "OFPET_TABLE_MOD_FAILED",
+ [9] = "OFPET_QUEUE_OP_FAILED",
+ [10] = "OFPET_SWITCH_CONFIG_FAILED",
+ [11] = "OFPET_ROLE_REQUEST_FAILED",
+ [65535] = "OFPET_EXPERIMENTER",
+}
+
+local enum_v3_ofp_stats_type = {
+ [0] = "OFPST_DESC",
+ [1] = "OFPST_FLOW",
+ [2] = "OFPST_AGGREGATE",
+ [3] = "OFPST_TABLE",
+ [4] = "OFPST_PORT",
+ [5] = "OFPST_QUEUE",
+ [6] = "OFPST_GROUP",
+ [7] = "OFPST_GROUP_DESC",
+ [8] = "OFPST_GROUP_FEATURES",
+ [65535] = "OFPST_EXPERIMENTER",
+}
+
+local enum_v3_ofp_flow_mod_flags = {
+ [1] = "OFPFF_SEND_FLOW_REM",
+ [2] = "OFPFF_CHECK_OVERLAP",
+ [4] = "OFPFF_RESET_COUNTS",
+}
+
+local enum_v3_ofp_controller_role = {
+ [0] = "OFPCR_ROLE_NOCHANGE",
+ [1] = "OFPCR_ROLE_EQUAL",
+ [2] = "OFPCR_ROLE_MASTER",
+ [3] = "OFPCR_ROLE_SLAVE",
+}
+
+local enum_v3_ofp_stats_reply_flags = {
+ [1] = "OFPSF_REPLY_MORE",
+}
+
+local enum_v3_ofp_oxm_class = {
+ [0] = "OFPXMC_NXM_0",
+ [1] = "OFPXMC_NXM_1",
+ [32768] = "OFPXMC_OPENFLOW_BASIC",
+ [65535] = "OFPXMC_EXPERIMENTER",
+}
+
+local enum_v3_ofp_bad_request_code = {
+ [0] = "OFPBRC_BAD_VERSION",
+ [1] = "OFPBRC_BAD_TYPE",
+ [2] = "OFPBRC_BAD_STAT",
+ [3] = "OFPBRC_BAD_EXPERIMENTER",
+ [4] = "OFPBRC_BAD_EXPERIMENTER_TYPE",
+ [5] = "OFPBRC_EPERM",
+ [6] = "OFPBRC_BAD_LEN",
+ [7] = "OFPBRC_BUFFER_EMPTY",
+ [8] = "OFPBRC_BUFFER_UNKNOWN",
+ [9] = "OFPBRC_BAD_TABLE_ID",
+ [10] = "OFPBRC_IS_SLAVE",
+ [11] = "OFPBRC_BAD_PORT",
+ [12] = "OFPBRC_BAD_PACKET",
+}
+
+local enum_v3_ofp_bad_instruction_code = {
+ [0] = "OFPBIC_UNKNOWN_INST",
+ [1] = "OFPBIC_UNSUP_INST",
+ [2] = "OFPBIC_BAD_TABLE_ID",
+ [3] = "OFPBIC_UNSUP_METADATA",
+ [4] = "OFPBIC_UNSUP_METADATA_MASK",
+ [5] = "OFPBIC_BAD_EXPERIMENTER",
+ [6] = "OFPBIC_BAD_EXPERIMENTER_TYPE",
+ [7] = "OFPBIC_BAD_LEN",
+ [8] = "OFPBIC_EPERM",
+}
+
+local enum_v3_ofp_port_config = {
+ [1] = "OFPPC_PORT_DOWN",
+ [4] = "OFPPC_NO_RECV",
+ [32] = "OFPPC_NO_FWD",
+ [64] = "OFPPC_NO_PACKET_IN",
+ [2147483648] = "OFPPC_BSN_MIRROR_DEST",
+}
+
+local enum_v3_ofp_port_state = {
+ [1] = "OFPPS_LINK_DOWN",
+ [2] = "OFPPS_BLOCKED",
+ [4] = "OFPPS_LIVE",
+}
+
+local enum_v3_ofp_config_flags = {
+ [0] = "OFPC_FRAG_NORMAL",
+ [1] = "OFPC_FRAG_DROP",
+ [2] = "OFPC_FRAG_REASM",
+ [3] = "OFPC_FRAG_MASK",
+ [4] = "OFPC_INVALID_TTL_TO_CONTROLLER",
+}
+
+local enum_v3_ofp_switch_config_failed_code = {
+ [0] = "OFPSCFC_BAD_FLAGS",
+ [1] = "OFPSCFC_BAD_LEN",
+ [2] = "OFPSCFC_EPERM",
+}
+
+local enum_v3_ofp_controller_max_len = {
+ [65509] = "OFPCML_MAX",
+ [65535] = "OFPCML_NO_BUFFER",
+}
+
+local enum_v3_ofp_role_request_failed_code = {
+ [0] = "OFPRRFC_STALE",
+ [1] = "OFPRRFC_UNSUP",
+ [2] = "OFPRRFC_BAD_ROLE",
+}
+
+local enum_v3_ofp_bsn_tcp_flag = {
+ [1] = "OFP_BSN_TCP_FLAG_FIN",
+ [2] = "OFP_BSN_TCP_FLAG_SYN",
+ [4] = "OFP_BSN_TCP_FLAG_RST",
+ [8] = "OFP_BSN_TCP_FLAG_PSH",
+ [16] = "OFP_BSN_TCP_FLAG_ACK",
+ [32] = "OFP_BSN_TCP_FLAG_URG",
+ [64] = "OFP_BSN_TCP_FLAG_ECE",
+ [128] = "OFP_BSN_TCP_FLAG_CWR",
+ [256] = "OFP_BSN_TCP_FLAG_NS",
+}
+
+local enum_v3_ofp_bsn_vport_l2gre_flags = {
+ [1] = "OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID",
+ [2] = "OF_BSN_VPORT_L2GRE_DSCP_ASSIGN",
+ [4] = "OF_BSN_VPORT_L2GRE_DSCP_COPY",
+ [8] = "OF_BSN_VPORT_L2GRE_LOOPBACK_IS_VALID",
+ [16] = "OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID",
+}
+
+local enum_v3_ofp_flow_removed_reason = {
+ [0] = "OFPRR_IDLE_TIMEOUT",
+ [1] = "OFPRR_HARD_TIMEOUT",
+ [2] = "OFPRR_DELETE",
+ [3] = "OFPRR_GROUP_DELETE",
+}
+
+local enum_v3_ofp_table_mod_failed_code = {
+ [0] = "OFPTMFC_BAD_TABLE",
+ [1] = "OFPTMFC_BAD_CONFIG",
+ [2] = "OFPTMFC_EPERM",
+}
+
+local enum_v3_ofp_queue_properties = {
+ [1] = "OFPQT_MIN_RATE",
+ [2] = "OFPQT_MAX_RATE",
+ [65535] = "OFPQT_EXPERIMENTER",
+}
+
+local enum_v3_ofp_table = {
+ [254] = "OFPTT_MAX",
+ [255] = "OFPTT_ALL",
+}
+
+local enum_v3_ofp_bsn_vport_status = {
+ [0] = "OF_BSN_VPORT_STATUS_OK",
+ [1] = "OF_BSN_VPORT_STATUS_FAILED",
+}
+
+local enum_v3_ofp_group = {
+ [4294967040] = "OFPG_MAX",
+ [4294967292] = "OFPG_ALL",
+ [4294967295] = "OFPG_ANY",
+}
+
+local enum_v3_ofp_port_reason = {
+ [0] = "OFPPR_ADD",
+ [1] = "OFPPR_DELETE",
+ [2] = "OFPPR_MODIFY",
+}
+
+local enum_v3_ofp_group_capabilities = {
+ [1] = "OFPGFC_SELECT_WEIGHT",
+ [2] = "OFPGFC_SELECT_LIVENESS",
+ [4] = "OFPGFC_CHAINING",
+ [8] = "OFPGFC_CHAINING_CHECKS",
+}
+
+local enum_v3_ofp_table_config = {
+ [0] = "OFPTC_TABLE_MISS_CONTROLLER",
+ [1] = "OFPTC_TABLE_MISS_CONTINUE",
+ [2] = "OFPTC_TABLE_MISS_DROP",
+ [3] = "OFPTC_TABLE_MISS_MASK",
+}
+
+local enum_v3_ofp_action_type = {
+ [0] = "OFPAT_OUTPUT",
+ [11] = "OFPAT_COPY_TTL_OUT",
+ [12] = "OFPAT_COPY_TTL_IN",
+ [15] = "OFPAT_SET_MPLS_TTL",
+ [16] = "OFPAT_DEC_MPLS_TTL",
+ [17] = "OFPAT_PUSH_VLAN",
+ [18] = "OFPAT_POP_VLAN",
+ [19] = "OFPAT_PUSH_MPLS",
+ [20] = "OFPAT_POP_MPLS",
+ [21] = "OFPAT_SET_QUEUE",
+ [22] = "OFPAT_GROUP",
+ [23] = "OFPAT_SET_NW_TTL",
+ [24] = "OFPAT_DEC_NW_TTL",
+ [25] = "OFPAT_SET_FIELD",
+ [65535] = "OFPAT_EXPERIMENTER",
+}
+
+local enum_v3_ofp_flow_mod_command = {
+ [0] = "OFPFC_ADD",
+ [1] = "OFPFC_MODIFY",
+ [2] = "OFPFC_MODIFY_STRICT",
+ [3] = "OFPFC_DELETE",
+ [4] = "OFPFC_DELETE_STRICT",
+}
+
+local enum_v3_ofp_queue_op_failed_code = {
+ [0] = "OFPQOFC_BAD_PORT",
+ [1] = "OFPQOFC_BAD_QUEUE",
+ [2] = "OFPQOFC_EPERM",
+}
+
+local enum_v3_ofp_hello_failed_code = {
+ [0] = "OFPHFC_INCOMPATIBLE",
+ [1] = "OFPHFC_EPERM",
+}
+
+local enum_v3_ofp_group_mod_command = {
+ [0] = "OFPGC_ADD",
+ [1] = "OFPGC_MODIFY",
+ [2] = "OFPGC_DELETE",
+}
+
+local enum_v3_ofp_match_type = {
+ [0] = "OFPMT_STANDARD",
+ [1] = "OFPMT_OXM",
+}
+
+local enum_v3_ofp_vlan_id = {
+ [0] = "OFPVID_NONE",
+ [4096] = "OFPVID_PRESENT",
+}
+
+local enum_v3_ofp_stats_request_flags = {
+}
+
+local enum_v3_ofp_group_mod_failed_code = {
+ [0] = "OFPGMFC_GROUP_EXISTS",
+ [1] = "OFPGMFC_INVALID_GROUP",
+ [2] = "OFPGMFC_WEIGHT_UNSUPPORTED",
+ [3] = "OFPGMFC_OUT_OF_GROUPS",
+ [4] = "OFPGMFC_OUT_OF_BUCKETS",
+ [5] = "OFPGMFC_CHAINING_UNSUPPORTED",
+ [6] = "OFPGMFC_WATCH_UNSUPPORTED",
+ [7] = "OFPGMFC_LOOP",
+ [8] = "OFPGMFC_UNKNOWN_GROUP",
+ [9] = "OFPGMFC_CHAINED_GROUP",
+ [10] = "OFPGMFC_BAD_TYPE",
+ [11] = "OFPGMFC_BAD_COMMAND",
+ [12] = "OFPGMFC_BAD_BUCKET",
+ [13] = "OFPGMFC_BAD_WATCH",
+ [14] = "OFPGMFC_EPERM",
+}
+
+local enum_v3_macro_definitions = {
+ [32] = "OFP_MAX_TABLE_NAME_LEN",
+ [16] = "OFP_MAX_PORT_NAME_LEN",
+ [6653] = "OFP_TCP_PORT",
+ [6653] = "OFP_SSL_PORT",
+ [6] = "OFP_ETH_ALEN",
+ [128] = "OFP_DEFAULT_MISS_SEND_LEN",
+ [0] = "OFP_VLAN_NONE",
+ [0] = "OFP_FLOW_PERMANENT",
+ [32768] = "OFP_DEFAULT_PRIORITY",
+ [4294967295] = "OFP_NO_BUFFER",
+ [256] = "DESC_STR_LEN",
+ [32] = "SERIAL_NUM_LEN",
+ [4294967295] = "OFPQ_ALL",
+ [65535] = "OFPQ_MIN_RATE_UNCFG",
+ [65535] = "OFPQ_MAX_RATE_UNCFG",
+}
+
+local enum_v3_ofp_port = {
+ [4294967040] = "OFPP_MAX",
+ [4294967288] = "OFPP_IN_PORT",
+ [4294967289] = "OFPP_TABLE",
+ [4294967290] = "OFPP_NORMAL",
+ [4294967291] = "OFPP_FLOOD",
+ [4294967292] = "OFPP_ALL",
+ [4294967293] = "OFPP_CONTROLLER",
+ [4294967294] = "OFPP_LOCAL",
+ [4294967295] = "OFPP_ANY",
+}
+
+local enum_v3_ofp_group_type = {
+ [0] = "OFPGT_ALL",
+ [1] = "OFPGT_SELECT",
+ [2] = "OFPGT_INDIRECT",
+ [3] = "OFPGT_FF",
+}
+
+local enum_v3_ofp_instruction_type = {
+ [1] = "OFPIT_GOTO_TABLE",
+ [2] = "OFPIT_WRITE_METADATA",
+ [3] = "OFPIT_WRITE_ACTIONS",
+ [4] = "OFPIT_APPLY_ACTIONS",
+ [5] = "OFPIT_CLEAR_ACTIONS",
+ [65535] = "OFPIT_EXPERIMENTER",
+}
+
+local enum_v3_ofp_bad_action_code = {
+ [0] = "OFPBAC_BAD_TYPE",
+ [1] = "OFPBAC_BAD_LEN",
+ [2] = "OFPBAC_BAD_EXPERIMENTER",
+ [3] = "OFPBAC_BAD_EXPERIMENTER_TYPE",
+ [4] = "OFPBAC_BAD_OUT_PORT",
+ [5] = "OFPBAC_BAD_ARGUMENT",
+ [6] = "OFPBAC_EPERM",
+ [7] = "OFPBAC_TOO_MANY",
+ [8] = "OFPBAC_BAD_QUEUE",
+ [9] = "OFPBAC_BAD_OUT_GROUP",
+ [10] = "OFPBAC_MATCH_INCONSISTENT",
+ [11] = "OFPBAC_UNSUPPORTED_ORDER",
+ [12] = "OFPBAC_BAD_TAG",
+ [13] = "OFPBAC_BAD_SET_TYPE",
+ [14] = "OFPBAC_BAD_SET_LEN",
+ [15] = "OFPBAC_BAD_SET_ARGUMENT",
+}
+
+local enum_v3_ofp_capabilities = {
+ [1] = "OFPC_FLOW_STATS",
+ [2] = "OFPC_TABLE_STATS",
+ [4] = "OFPC_PORT_STATS",
+ [8] = "OFPC_GROUP_STATS",
+ [32] = "OFPC_IP_REASM",
+ [64] = "OFPC_QUEUE_STATS",
+ [256] = "OFPC_PORT_BLOCKED",
+}
+
+local enum_v3_ofp_flow_mod_failed_code = {
+ [0] = "OFPFMFC_UNKNOWN",
+ [1] = "OFPFMFC_TABLE_FULL",
+ [2] = "OFPFMFC_BAD_TABLE_ID",
+ [3] = "OFPFMFC_OVERLAP",
+ [4] = "OFPFMFC_EPERM",
+ [5] = "OFPFMFC_BAD_TIMEOUT",
+ [6] = "OFPFMFC_BAD_COMMAND",
+ [7] = "OFPFMFC_BAD_FLAGS",
+}
+
+local enum_v3_ofp_port_mod_failed_code = {
+ [0] = "OFPPMFC_BAD_PORT",
+ [1] = "OFPPMFC_BAD_HW_ADDR",
+ [2] = "OFPPMFC_BAD_CONFIG",
+ [3] = "OFPPMFC_BAD_ADVERTISE",
+ [4] = "OFPPMFC_EPERM",
+}
+
+local enum_v3_ofp_bad_match_code = {
+ [0] = "OFPBMC_BAD_TYPE",
+ [1] = "OFPBMC_BAD_LEN",
+ [2] = "OFPBMC_BAD_TAG",
+ [3] = "OFPBMC_BAD_DL_ADDR_MASK",
+ [4] = "OFPBMC_BAD_NW_ADDR_MASK",
+ [5] = "OFPBMC_BAD_WILDCARDS",
+ [6] = "OFPBMC_BAD_FIELD",
+ [7] = "OFPBMC_BAD_VALUE",
+ [8] = "OFPBMC_BAD_MASK",
+ [9] = "OFPBMC_BAD_PREREQ",
+ [10] = "OFPBMC_DUP_FIELD",
+ [11] = "OFPBMC_EPERM",
+}
+
+local enum_v3_ofp_type = {
+ [0] = "OFPT_HELLO",
+ [1] = "OFPT_ERROR",
+ [2] = "OFPT_ECHO_REQUEST",
+ [3] = "OFPT_ECHO_REPLY",
+ [4] = "OFPT_EXPERIMENTER",
+ [5] = "OFPT_FEATURES_REQUEST",
+ [6] = "OFPT_FEATURES_REPLY",
+ [7] = "OFPT_GET_CONFIG_REQUEST",
+ [8] = "OFPT_GET_CONFIG_REPLY",
+ [9] = "OFPT_SET_CONFIG",
+ [10] = "OFPT_PACKET_IN",
+ [11] = "OFPT_FLOW_REMOVED",
+ [12] = "OFPT_PORT_STATUS",
+ [13] = "OFPT_PACKET_OUT",
+ [14] = "OFPT_FLOW_MOD",
+ [15] = "OFPT_GROUP_MOD",
+ [16] = "OFPT_PORT_MOD",
+ [17] = "OFPT_TABLE_MOD",
+ [18] = "OFPT_STATS_REQUEST",
+ [19] = "OFPT_STATS_REPLY",
+ [20] = "OFPT_BARRIER_REQUEST",
+ [21] = "OFPT_BARRIER_REPLY",
+ [22] = "OFPT_QUEUE_GET_CONFIG_REQUEST",
+ [23] = "OFPT_QUEUE_GET_CONFIG_REPLY",
+ [24] = "OFPT_ROLE_REQUEST",
+ [25] = "OFPT_ROLE_REPLY",
+}
+
+local enum_v3_ofp_packet_in_reason = {
+ [0] = "OFPR_NO_MATCH",
+ [1] = "OFPR_ACTION",
+ [2] = "OFPR_INVALID_TTL",
+}
+
+local enum_v3_ofp_bsn_vport_q_in_q_untagged = {
+ [65535] = "OF_BSN_VPORT_Q_IN_Q_UNTAGGED",
+}
+
+local enum_v3_of_bsn_pdu_slot_num_t = {
+ [255] = "BSN_PDU_SLOT_NUM_ANY",
+}
+
+local enum_v3_ofp_port_features = {
+ [1] = "OFPPF_10MB_HD",
+ [2] = "OFPPF_10MB_FD",
+ [4] = "OFPPF_100MB_HD",
+ [8] = "OFPPF_100MB_FD",
+ [16] = "OFPPF_1GB_HD",
+ [32] = "OFPPF_1GB_FD",
+ [64] = "OFPPF_10GB_FD",
+ [128] = "OFPPF_40GB_FD",
+ [256] = "OFPPF_100GB_FD",
+ [512] = "OFPPF_1TB_FD",
+ [1024] = "OFPPF_OTHER",
+ [2048] = "OFPPF_COPPER",
+ [4096] = "OFPPF_FIBER",
+ [8192] = "OFPPF_AUTONEG",
+ [16384] = "OFPPF_PAUSE",
+ [32768] = "OFPPF_PAUSE_ASYM",
+}
+
+
+local enum_v4_ofp_group = {
+ [4294967040] = "OFPG_MAX",
+ [4294967292] = "OFPG_ALL",
+ [4294967295] = "OFPG_ANY",
+}
+
+local enum_v4_ofp_stats_type = {
+ [0] = "OFPST_DESC",
+ [1] = "OFPST_FLOW",
+ [2] = "OFPST_AGGREGATE",
+ [3] = "OFPST_TABLE",
+ [4] = "OFPST_PORT",
+ [5] = "OFPST_QUEUE",
+ [6] = "OFPST_GROUP",
+ [7] = "OFPST_GROUP_DESC",
+ [8] = "OFPST_GROUP_FEATURES",
+ [9] = "OFPST_METER",
+ [10] = "OFPST_METER_CONFIG",
+ [11] = "OFPST_METER_FEATURES",
+ [12] = "OFPST_TABLE_FEATURES",
+ [13] = "OFPST_PORT_DESC",
+ [65535] = "OFPST_EXPERIMENTER",
+}
+
+local enum_v4_of_bsn_vrf_counter_t = {
+ [0] = "OFP_BSN_VRF_COUNTER_BYTES",
+ [1] = "OFP_BSN_VRF_COUNTER_PACKETS",
+}
+
+local enum_v4_ofp_flow_mod_flags = {
+ [1] = "OFPFF_SEND_FLOW_REM",
+ [2] = "OFPFF_CHECK_OVERLAP",
+ [4] = "OFPFF_RESET_COUNTS",
+ [8] = "OFPFF_NO_PKT_COUNTS",
+ [16] = "OFPFF_NO_BYT_COUNTS",
+ [128] = "OFPFF_BSN_SEND_IDLE",
+}
+
+local enum_v4_ofp_controller_role = {
+ [0] = "OFPCR_ROLE_NOCHANGE",
+ [1] = "OFPCR_ROLE_EQUAL",
+ [2] = "OFPCR_ROLE_MASTER",
+ [3] = "OFPCR_ROLE_SLAVE",
+}
+
+local enum_v4_ofp_stats_reply_flags = {
+ [1] = "OFPSF_REPLY_MORE",
+}
+
+local enum_v4_ofp_oxm_class = {
+ [0] = "OFPXMC_NXM_0",
+ [1] = "OFPXMC_NXM_1",
+ [32768] = "OFPXMC_OPENFLOW_BASIC",
+ [65535] = "OFPXMC_EXPERIMENTER",
+}
+
+local enum_v4_ofp_bad_request_code = {
+ [0] = "OFPBRC_BAD_VERSION",
+ [1] = "OFPBRC_BAD_TYPE",
+ [2] = "OFPBRC_BAD_STAT",
+ [3] = "OFPBRC_BAD_EXPERIMENTER",
+ [4] = "OFPBRC_BAD_EXPERIMENTER_TYPE",
+ [5] = "OFPBRC_EPERM",
+ [6] = "OFPBRC_BAD_LEN",
+ [7] = "OFPBRC_BUFFER_EMPTY",
+ [8] = "OFPBRC_BUFFER_UNKNOWN",
+ [9] = "OFPBRC_BAD_TABLE_ID",
+ [10] = "OFPBRC_IS_SLAVE",
+ [11] = "OFPBRC_BAD_PORT",
+ [12] = "OFPBRC_BAD_PACKET",
+ [13] = "OFPBRC_MULTIPART_BUFFER_OVERFLOW",
+}
+
+local enum_v4_ofp_bsn_pktin_flag = {
+ [1] = "OFP_BSN_PKTIN_FLAG_PDU",
+ [2] = "OFP_BSN_PKTIN_FLAG_NEW_HOST",
+ [4] = "OFP_BSN_PKTIN_FLAG_STATION_MOVE",
+ [8] = "OFP_BSN_PKTIN_FLAG_ARP",
+ [16] = "OFP_BSN_PKTIN_FLAG_DHCP",
+ [32] = "OFP_BSN_PKTIN_FLAG_L2_CPU",
+ [64] = "OFP_BSN_PKTIN_FLAG_DEBUG",
+ [128] = "OFP_BSN_PKTIN_FLAG_TTL_EXPIRED",
+ [256] = "OFP_BSN_PKTIN_FLAG_L3_MISS",
+ [512] = "OFP_BSN_PKTIN_FLAG_L3_CPU",
+ [1024] = "OFP_BSN_PKTIN_FLAG_INGRESS_ACL",
+}
+
+local enum_v4_ofp_bad_instruction_code = {
+ [0] = "OFPBIC_UNKNOWN_INST",
+ [1] = "OFPBIC_UNSUP_INST",
+ [2] = "OFPBIC_BAD_TABLE_ID",
+ [3] = "OFPBIC_UNSUP_METADATA",
+ [4] = "OFPBIC_UNSUP_METADATA_MASK",
+ [5] = "OFPBIC_BAD_EXPERIMENTER",
+ [6] = "OFPBIC_BAD_EXPERIMENTER_TYPE",
+ [7] = "OFPBIC_BAD_LEN",
+ [8] = "OFPBIC_EPERM",
+}
+
+local enum_v4_ofp_port_config = {
+ [1] = "OFPPC_PORT_DOWN",
+ [4] = "OFPPC_NO_RECV",
+ [32] = "OFPPC_NO_FWD",
+ [64] = "OFPPC_NO_PACKET_IN",
+ [2147483648] = "OFPPC_BSN_MIRROR_DEST",
+}
+
+local enum_v4_ofp_meter = {
+ [4294901760] = "OFPM_MAX",
+ [4294967293] = "OFPM_SLOWPATH",
+ [4294967294] = "OFPM_CONTROLLER",
+ [4294967295] = "OFPM_ALL",
+}
+
+local enum_v4_ofp_bad_action_code = {
+ [0] = "OFPBAC_BAD_TYPE",
+ [1] = "OFPBAC_BAD_LEN",
+ [2] = "OFPBAC_BAD_EXPERIMENTER",
+ [3] = "OFPBAC_BAD_EXPERIMENTER_TYPE",
+ [4] = "OFPBAC_BAD_OUT_PORT",
+ [5] = "OFPBAC_BAD_ARGUMENT",
+ [6] = "OFPBAC_EPERM",
+ [7] = "OFPBAC_TOO_MANY",
+ [8] = "OFPBAC_BAD_QUEUE",
+ [9] = "OFPBAC_BAD_OUT_GROUP",
+ [10] = "OFPBAC_MATCH_INCONSISTENT",
+ [11] = "OFPBAC_UNSUPPORTED_ORDER",
+ [12] = "OFPBAC_BAD_TAG",
+ [13] = "OFPBAC_BAD_SET_TYPE",
+ [14] = "OFPBAC_BAD_SET_LEN",
+ [15] = "OFPBAC_BAD_SET_ARGUMENT",
+}
+
+local enum_v4_ofp_port_state = {
+ [1] = "OFPPS_LINK_DOWN",
+ [2] = "OFPPS_BLOCKED",
+ [4] = "OFPPS_LIVE",
+}
+
+local enum_v4_ofp_config_flags = {
+ [0] = "OFPC_FRAG_NORMAL",
+ [1] = "OFPC_FRAG_DROP",
+ [2] = "OFPC_FRAG_REASM",
+ [3] = "OFPC_FRAG_MASK",
+}
+
+local enum_v4_ofp_table_feature_prop_type = {
+ [0] = "OFPTFPT_INSTRUCTIONS",
+ [1] = "OFPTFPT_INSTRUCTIONS_MISS",
+ [2] = "OFPTFPT_NEXT_TABLES",
+ [3] = "OFPTFPT_NEXT_TABLES_MISS",
+ [4] = "OFPTFPT_WRITE_ACTIONS",
+ [5] = "OFPTFPT_WRITE_ACTIONS_MISS",
+ [6] = "OFPTFPT_APPLY_ACTIONS",
+ [7] = "OFPTFPT_APPLY_ACTIONS_MISS",
+ [8] = "OFPTFPT_MATCH",
+ [10] = "OFPTFPT_WILDCARDS",
+ [12] = "OFPTFPT_WRITE_SETFIELD",
+ [13] = "OFPTFPT_WRITE_SETFIELD_MISS",
+ [14] = "OFPTFPT_APPLY_SETFIELD",
+ [15] = "OFPTFPT_APPLY_SETFIELD_MISS",
+ [65534] = "OFPTFPT_EXPERIMENTER",
+ [65535] = "OFPTFPT_EXPERIMENTER_MISS",
+}
+
+local enum_v4_ofp_switch_config_failed_code = {
+ [0] = "OFPSCFC_BAD_FLAGS",
+ [1] = "OFPSCFC_BAD_LEN",
+ [2] = "OFPSCFC_EPERM",
+}
+
+local enum_v4_ofp_controller_max_len = {
+ [65509] = "OFPCML_MAX",
+ [65535] = "OFPCML_NO_BUFFER",
+}
+
+local enum_v4_ofp_role_request_failed_code = {
+ [0] = "OFPRRFC_STALE",
+ [1] = "OFPRRFC_UNSUP",
+ [2] = "OFPRRFC_BAD_ROLE",
+}
+
+local enum_v4_ofp_bsn_vrf_counter_constants = {
+ [4294967295] = "OFP_BSN_VRF_ALL",
+}
+
+local enum_v4_ofp_bsn_tcp_flag = {
+ [1] = "OFP_BSN_TCP_FLAG_FIN",
+ [2] = "OFP_BSN_TCP_FLAG_SYN",
+ [4] = "OFP_BSN_TCP_FLAG_RST",
+ [8] = "OFP_BSN_TCP_FLAG_PSH",
+ [16] = "OFP_BSN_TCP_FLAG_ACK",
+ [32] = "OFP_BSN_TCP_FLAG_URG",
+ [64] = "OFP_BSN_TCP_FLAG_ECE",
+ [128] = "OFP_BSN_TCP_FLAG_CWR",
+ [256] = "OFP_BSN_TCP_FLAG_NS",
+}
+
+local enum_v4_ofp_bsn_vport_l2gre_flags = {
+ [1] = "OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID",
+ [2] = "OF_BSN_VPORT_L2GRE_DSCP_ASSIGN",
+ [4] = "OF_BSN_VPORT_L2GRE_DSCP_COPY",
+ [8] = "OF_BSN_VPORT_L2GRE_LOOPBACK_IS_VALID",
+ [16] = "OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID",
+}
+
+local enum_v4_ofp_ipv6exthdr_flags = {
+ [1] = "OFPIEH_NONEXT",
+ [2] = "OFPIEH_ESP",
+ [4] = "OFPIEH_AUTH",
+ [8] = "OFPIEH_DEST",
+ [16] = "OFPIEH_FRAG",
+ [32] = "OFPIEH_ROUTER",
+ [64] = "OFPIEH_HOP",
+ [128] = "OFPIEH_UNREP",
+ [256] = "OFPIEH_UNSEQ",
+}
+
+local enum_v4_ofp_flow_removed_reason = {
+ [0] = "OFPRR_IDLE_TIMEOUT",
+ [1] = "OFPRR_HARD_TIMEOUT",
+ [2] = "OFPRR_DELETE",
+ [3] = "OFPRR_GROUP_DELETE",
+}
+
+local enum_v4_ofp_table_mod_failed_code = {
+ [0] = "OFPTMFC_BAD_TABLE",
+ [1] = "OFPTMFC_BAD_CONFIG",
+ [2] = "OFPTMFC_EPERM",
+}
+
+local enum_v4_ofp_queue_properties = {
+ [1] = "OFPQT_MIN_RATE",
+ [2] = "OFPQT_MAX_RATE",
+ [65535] = "OFPQT_EXPERIMENTER",
+}
+
+local enum_v4_ofp_table = {
+ [254] = "OFPTT_MAX",
+ [255] = "OFPTT_ALL",
+}
+
+local enum_v4_ofp_meter_mod_failed_code = {
+ [0] = "OFPMMFC_UNKNOWN",
+ [1] = "OFPMMFC_METER_EXISTS",
+ [2] = "OFPMMFC_INVALID_METER",
+ [3] = "OFPMMFC_UNKNOWN_METER",
+ [4] = "OFPMMFC_BAD_COMMAND",
+ [5] = "OFPMMFC_BAD_FLAGS",
+ [6] = "OFPMMFC_BAD_RATE",
+ [7] = "OFPMMFC_BAD_BURST",
+ [8] = "OFPMMFC_BAD_BAND",
+ [9] = "OFPMMFC_BAD_BAND_VALUE",
+ [10] = "OFPMMFC_OUT_OF_METERS",
+ [11] = "OFPMMFC_OUT_OF_BANDS",
+}
+
+local enum_v4_ofp_bsn_vport_status = {
+ [0] = "OF_BSN_VPORT_STATUS_OK",
+ [1] = "OF_BSN_VPORT_STATUS_FAILED",
+}
+
+local enum_v4_ofp_bsn_controller_connection_state = {
+ [0] = "OFP_BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED",
+ [1] = "OFP_BSN_CONTROLLER_CONNECTION_STATE_CONNECTED",
+}
+
+local enum_v4_of_bsn_lacp_convergence_status_t = {
+ [0] = "LACP_SUCCESS",
+ [1] = "LACP_TIMEDOUT",
+ [2] = "LACP_OUT_OF_SYNC",
+}
+
+local enum_v4_ofp_port_reason = {
+ [0] = "OFPPR_ADD",
+ [1] = "OFPPR_DELETE",
+ [2] = "OFPPR_MODIFY",
+}
+
+local enum_v4_ofp_group_capabilities = {
+ [1] = "OFPGFC_SELECT_WEIGHT",
+ [2] = "OFPGFC_SELECT_LIVENESS",
+ [4] = "OFPGFC_CHAINING",
+ [8] = "OFPGFC_CHAINING_CHECKS",
+}
+
+local enum_v4_ofp_table_config = {
+ [3] = "OFPTC_DEPRECATED_MASK",
+}
+
+local enum_v4_ofp_action_type = {
+ [0] = "OFPAT_OUTPUT",
+ [11] = "OFPAT_COPY_TTL_OUT",
+ [12] = "OFPAT_COPY_TTL_IN",
+ [15] = "OFPAT_SET_MPLS_TTL",
+ [16] = "OFPAT_DEC_MPLS_TTL",
+ [17] = "OFPAT_PUSH_VLAN",
+ [18] = "OFPAT_POP_VLAN",
+ [19] = "OFPAT_PUSH_MPLS",
+ [20] = "OFPAT_POP_MPLS",
+ [21] = "OFPAT_SET_QUEUE",
+ [22] = "OFPAT_GROUP",
+ [23] = "OFPAT_SET_NW_TTL",
+ [24] = "OFPAT_DEC_NW_TTL",
+ [25] = "OFPAT_SET_FIELD",
+ [26] = "OFPAT_PUSH_PBB",
+ [27] = "OFPAT_POP_PBB",
+ [65535] = "OFPAT_EXPERIMENTER",
+}
+
+local enum_v4_ofp_flow_mod_command = {
+ [0] = "OFPFC_ADD",
+ [1] = "OFPFC_MODIFY",
+ [2] = "OFPFC_MODIFY_STRICT",
+ [3] = "OFPFC_DELETE",
+ [4] = "OFPFC_DELETE_STRICT",
+}
+
+local enum_v4_ofp_meter_flags = {
+ [1] = "OFPMF_KBPS",
+ [2] = "OFPMF_PKTPS",
+ [4] = "OFPMF_BURST",
+ [8] = "OFPMF_STATS",
+}
+
+local enum_v4_ofp_queue_op_failed_code = {
+ [0] = "OFPQOFC_BAD_PORT",
+ [1] = "OFPQOFC_BAD_QUEUE",
+ [2] = "OFPQOFC_EPERM",
+}
+
+local enum_v4_ofp_meter_band_type = {
+ [1] = "OFPMBT_DROP",
+ [2] = "OFPMBT_DSCP_REMARK",
+ [65535] = "OFPMBT_EXPERIMENTER",
+}
+
+local enum_v4_ofp_error_type = {
+ [0] = "OFPET_HELLO_FAILED",
+ [1] = "OFPET_BAD_REQUEST",
+ [2] = "OFPET_BAD_ACTION",
+ [3] = "OFPET_BAD_INSTRUCTION",
+ [4] = "OFPET_BAD_MATCH",
+ [5] = "OFPET_FLOW_MOD_FAILED",
+ [6] = "OFPET_GROUP_MOD_FAILED",
+ [7] = "OFPET_PORT_MOD_FAILED",
+ [8] = "OFPET_TABLE_MOD_FAILED",
+ [9] = "OFPET_QUEUE_OP_FAILED",
+ [10] = "OFPET_SWITCH_CONFIG_FAILED",
+ [11] = "OFPET_ROLE_REQUEST_FAILED",
+ [12] = "OFPET_METER_MOD_FAILED",
+ [13] = "OFPET_TABLE_FEATURES_FAILED",
+ [65535] = "OFPET_EXPERIMENTER",
+}
+
+local enum_v4_ofp_bsn_vlan_counter_constants = {
+ [65535] = "OFP_BSN_VLAN_ALL",
+}
+
+local enum_v4_ofp_group_mod_command = {
+ [0] = "OFPGC_ADD",
+ [1] = "OFPGC_MODIFY",
+ [2] = "OFPGC_DELETE",
+}
+
+local enum_v4_ofp_match_type = {
+ [0] = "OFPMT_STANDARD",
+ [1] = "OFPMT_OXM",
+}
+
+local enum_v4_ofp_type = {
+ [0] = "OFPT_HELLO",
+ [1] = "OFPT_ERROR",
+ [2] = "OFPT_ECHO_REQUEST",
+ [3] = "OFPT_ECHO_REPLY",
+ [4] = "OFPT_EXPERIMENTER",
+ [5] = "OFPT_FEATURES_REQUEST",
+ [6] = "OFPT_FEATURES_REPLY",
+ [7] = "OFPT_GET_CONFIG_REQUEST",
+ [8] = "OFPT_GET_CONFIG_REPLY",
+ [9] = "OFPT_SET_CONFIG",
+ [10] = "OFPT_PACKET_IN",
+ [11] = "OFPT_FLOW_REMOVED",
+ [12] = "OFPT_PORT_STATUS",
+ [13] = "OFPT_PACKET_OUT",
+ [14] = "OFPT_FLOW_MOD",
+ [15] = "OFPT_GROUP_MOD",
+ [16] = "OFPT_PORT_MOD",
+ [17] = "OFPT_TABLE_MOD",
+ [18] = "OFPT_STATS_REQUEST",
+ [19] = "OFPT_STATS_REPLY",
+ [20] = "OFPT_BARRIER_REQUEST",
+ [21] = "OFPT_BARRIER_REPLY",
+ [22] = "OFPT_QUEUE_GET_CONFIG_REQUEST",
+ [23] = "OFPT_QUEUE_GET_CONFIG_REPLY",
+ [24] = "OFPT_ROLE_REQUEST",
+ [25] = "OFPT_ROLE_REPLY",
+ [26] = "OFPT_GET_ASYNC_REQUEST",
+ [27] = "OFPT_GET_ASYNC_REPLY",
+ [28] = "OFPT_SET_ASYNC",
+ [29] = "OFPT_METER_MOD",
+}
+
+local enum_v4_ofp_vlan_id = {
+ [0] = "OFPVID_NONE",
+ [4096] = "OFPVID_PRESENT",
+}
+
+local enum_v4_ofp_stats_request_flags = {
+ [1] = "OFPSF_REQ_MORE",
+}
+
+local enum_v4_ofp_hello_elem_type = {
+ [1] = "OFPHET_VERSIONBITMAP",
+}
+
+local enum_v4_ofp_bsn_controller_role_reason = {
+ [0] = "OFP_BSN_CONTROLLER_ROLE_REASON_MASTER_REQUEST",
+ [1] = "OFP_BSN_CONTROLLER_ROLE_REASON_CONFIG",
+ [2] = "OFP_BSN_CONTROLLER_ROLE_REASON_EXPERIMENTER",
+}
+
+local enum_v4_ofp_group_mod_failed_code = {
+ [0] = "OFPGMFC_GROUP_EXISTS",
+ [1] = "OFPGMFC_INVALID_GROUP",
+ [2] = "OFPGMFC_WEIGHT_UNSUPPORTED",
+ [3] = "OFPGMFC_OUT_OF_GROUPS",
+ [4] = "OFPGMFC_OUT_OF_BUCKETS",
+ [5] = "OFPGMFC_CHAINING_UNSUPPORTED",
+ [6] = "OFPGMFC_WATCH_UNSUPPORTED",
+ [7] = "OFPGMFC_LOOP",
+ [8] = "OFPGMFC_UNKNOWN_GROUP",
+ [9] = "OFPGMFC_CHAINED_GROUP",
+ [10] = "OFPGMFC_BAD_TYPE",
+ [11] = "OFPGMFC_BAD_COMMAND",
+ [12] = "OFPGMFC_BAD_BUCKET",
+ [13] = "OFPGMFC_BAD_WATCH",
+ [14] = "OFPGMFC_EPERM",
+}
+
+local enum_v4_macro_definitions = {
+ [32] = "OFP_MAX_TABLE_NAME_LEN",
+ [16] = "OFP_MAX_PORT_NAME_LEN",
+ [6653] = "OFP_TCP_PORT",
+ [6653] = "OFP_SSL_PORT",
+ [6] = "OFP_ETH_ALEN",
+ [128] = "OFP_DEFAULT_MISS_SEND_LEN",
+ [0] = "OFP_VLAN_NONE",
+ [0] = "OFP_FLOW_PERMANENT",
+ [32768] = "OFP_DEFAULT_PRIORITY",
+ [4294967295] = "OFP_NO_BUFFER",
+ [256] = "DESC_STR_LEN",
+ [32] = "SERIAL_NUM_LEN",
+ [4294967295] = "OFPQ_ALL",
+ [65535] = "OFPQ_MAX_RATE_UNCFG",
+ [65535] = "OFPQ_MIN_RATE_UNCFG",
+}
+
+local enum_v4_ofp_hello_failed_code = {
+ [0] = "OFPHFC_INCOMPATIBLE",
+ [1] = "OFPHFC_EPERM",
+}
+
+local enum_v4_ofp_port = {
+ [4294967040] = "OFPP_MAX",
+ [4294967288] = "OFPP_IN_PORT",
+ [4294967289] = "OFPP_TABLE",
+ [4294967290] = "OFPP_NORMAL",
+ [4294967291] = "OFPP_FLOOD",
+ [4294967292] = "OFPP_ALL",
+ [4294967293] = "OFPP_CONTROLLER",
+ [4294967294] = "OFPP_LOCAL",
+ [4294967295] = "OFPP_ANY",
+}
+
+local enum_v4_ofp_group_type = {
+ [0] = "OFPGT_ALL",
+ [1] = "OFPGT_SELECT",
+ [2] = "OFPGT_INDIRECT",
+ [3] = "OFPGT_FF",
+}
+
+local enum_v4_ofp_instruction_type = {
+ [1] = "OFPIT_GOTO_TABLE",
+ [2] = "OFPIT_WRITE_METADATA",
+ [3] = "OFPIT_WRITE_ACTIONS",
+ [4] = "OFPIT_APPLY_ACTIONS",
+ [5] = "OFPIT_CLEAR_ACTIONS",
+ [6] = "OFPIT_METER",
+ [65535] = "OFPIT_EXPERIMENTER",
+}
+
+local enum_v4_ofp_meter_mod_command = {
+ [0] = "OFPMC_ADD",
+ [1] = "OFPMC_MODIFY",
+ [2] = "OFPMC_DELETE",
+}
+
+local enum_v4_ofp_capabilities = {
+ [1] = "OFPC_FLOW_STATS",
+ [2] = "OFPC_TABLE_STATS",
+ [4] = "OFPC_PORT_STATS",
+ [8] = "OFPC_GROUP_STATS",
+ [32] = "OFPC_IP_REASM",
+ [64] = "OFPC_QUEUE_STATS",
+ [256] = "OFPC_PORT_BLOCKED",
+}
+
+local enum_v4_ofp_flow_mod_failed_code = {
+ [0] = "OFPFMFC_UNKNOWN",
+ [1] = "OFPFMFC_TABLE_FULL",
+ [2] = "OFPFMFC_BAD_TABLE_ID",
+ [3] = "OFPFMFC_OVERLAP",
+ [4] = "OFPFMFC_EPERM",
+ [5] = "OFPFMFC_BAD_TIMEOUT",
+ [6] = "OFPFMFC_BAD_COMMAND",
+ [7] = "OFPFMFC_BAD_FLAGS",
+}
+
+local enum_v4_ofp_bsn_loglevel = {
+ [0] = "OFP_BSN_LOGLEVEL_MSG",
+ [1] = "OFP_BSN_LOGLEVEL_ERROR",
+ [2] = "OFP_BSN_LOGLEVEL_WARN",
+ [3] = "OFP_BSN_LOGLEVEL_INFO",
+ [4] = "OFP_BSN_LOGLEVEL_VERBOSE",
+ [5] = "OFP_BSN_LOGLEVEL_TRACE",
+}
+
+local enum_v4_ofp_port_mod_failed_code = {
+ [0] = "OFPPMFC_BAD_PORT",
+ [1] = "OFPPMFC_BAD_HW_ADDR",
+ [2] = "OFPPMFC_BAD_CONFIG",
+ [3] = "OFPPMFC_BAD_ADVERTISE",
+ [4] = "OFPPMFC_EPERM",
+}
+
+local enum_v4_ofp_bad_match_code = {
+ [0] = "OFPBMC_BAD_TYPE",
+ [1] = "OFPBMC_BAD_LEN",
+ [2] = "OFPBMC_BAD_TAG",
+ [3] = "OFPBMC_BAD_DL_ADDR_MASK",
+ [4] = "OFPBMC_BAD_NW_ADDR_MASK",
+ [5] = "OFPBMC_BAD_WILDCARDS",
+ [6] = "OFPBMC_BAD_FIELD",
+ [7] = "OFPBMC_BAD_VALUE",
+ [8] = "OFPBMC_BAD_MASK",
+ [9] = "OFPBMC_BAD_PREREQ",
+ [10] = "OFPBMC_DUP_FIELD",
+ [11] = "OFPBMC_EPERM",
+}
+
+local enum_v4_ofp_bsn_port_counter = {
+ [0] = "OFP_BSN_PORT_COUNTER_RX_BYTES",
+ [1] = "OFP_BSN_PORT_COUNTER_RX_PACKETS_UNICAST",
+ [2] = "OFP_BSN_PORT_COUNTER_RX_PACKETS_BROADCAST",
+ [3] = "OFP_BSN_PORT_COUNTER_RX_PACKETS_MULTICAST",
+ [4] = "OFP_BSN_PORT_COUNTER_RX_DROPPED",
+ [5] = "OFP_BSN_PORT_COUNTER_RX_ERRORS",
+ [6] = "OFP_BSN_PORT_COUNTER_TX_BYTES",
+ [7] = "OFP_BSN_PORT_COUNTER_TX_PACKETS_UNICAST",
+ [8] = "OFP_BSN_PORT_COUNTER_TX_PACKETS_BROADCAST",
+ [9] = "OFP_BSN_PORT_COUNTER_TX_PACKETS_MULTICAST",
+ [10] = "OFP_BSN_PORT_COUNTER_TX_DROPPED",
+ [11] = "OFP_BSN_PORT_COUNTER_TX_ERRORS",
+ [12] = "OFP_BSN_PORT_COUNTER_RX_RUNTS",
+ [13] = "OFP_BSN_PORT_COUNTER_RX_GIANTS",
+ [14] = "OFP_BSN_PORT_COUNTER_RX_CRC_ERRORS",
+ [15] = "OFP_BSN_PORT_COUNTER_RX_ALIGNMENT_ERRORS",
+ [16] = "OFP_BSN_PORT_COUNTER_RX_SYMBOL_ERRORS",
+ [17] = "OFP_BSN_PORT_COUNTER_RX_PAUSE_INPUT",
+ [18] = "OFP_BSN_PORT_COUNTER_TX_COLLISIONS",
+ [19] = "OFP_BSN_PORT_COUNTER_TX_LATE_COLLISIONS",
+ [20] = "OFP_BSN_PORT_COUNTER_TX_DEFERRED",
+ [21] = "OFP_BSN_PORT_COUNTER_TX_PAUSE_OUTPUT",
+ [22] = "OFP_BSN_PORT_COUNTER_RX_PACKETS",
+ [23] = "OFP_BSN_PORT_COUNTER_TX_PACKETS",
+ [24] = "OFP_BSN_PORT_COUNTER_RX_LENGTH_ERRORS",
+ [25] = "OFP_BSN_PORT_COUNTER_RX_OVERFLOW_ERRORS",
+ [26] = "OFP_BSN_PORT_COUNTER_TX_CARRIER_ERRORS",
+}
+
+local enum_v4_ofp_packet_in_reason = {
+ [0] = "OFPR_NO_MATCH",
+ [1] = "OFPR_ACTION",
+ [2] = "OFPR_INVALID_TTL",
+ [128] = "OFPR_BSN_NEW_HOST",
+ [129] = "OFPR_BSN_STATION_MOVE",
+ [130] = "OFPR_BSN_BAD_VLAN",
+ [131] = "OFPR_BSN_DESTINATION_LOOKUP_FAILURE",
+ [132] = "OFPR_BSN_NO_ROUTE",
+ [133] = "OFPR_BSN_ICMP_ECHO_REQUEST",
+ [134] = "OFPR_BSN_DEST_NETWORK_UNREACHABLE",
+ [135] = "OFPR_BSN_DEST_HOST_UNREACHABLE",
+ [136] = "OFPR_BSN_DEST_PORT_UNREACHABLE",
+ [137] = "OFPR_BSN_FRAGMENTATION_REQUIRED",
+ [139] = "OFPR_BSN_ARP",
+ [140] = "OFPR_BSN_DHCP",
+ [141] = "OFPR_BSN_DEBUG",
+ [142] = "OFPR_BSN_PACKET_OF_DEATH",
+}
+
+local enum_v4_of_bsn_vlan_counter_t = {
+ [0] = "OFP_BSN_VLAN_COUNTER_RX_BYTES",
+ [1] = "OFP_BSN_VLAN_COUNTER_RX_PACKETS",
+ [2] = "OFP_BSN_VLAN_COUNTER_TX_BYTES",
+ [3] = "OFP_BSN_VLAN_COUNTER_TX_PACKETS",
+}
+
+local enum_v4_ofp_bsn_vport_q_in_q_untagged = {
+ [65535] = "OF_BSN_VPORT_Q_IN_Q_UNTAGGED",
+}
+
+local enum_v4_of_bsn_pdu_slot_num_t = {
+ [255] = "BSN_PDU_SLOT_NUM_ANY",
+}
+
+local enum_v4_ofp_table_features_failed_code = {
+ [0] = "OFPTFFC_BAD_TABLE",
+ [1] = "OFPTFFC_BAD_METADATA",
+ [2] = "OFPTFFC_BAD_TYPE",
+ [3] = "OFPTFFC_BAD_LEN",
+ [4] = "OFPTFFC_BAD_ARGUMENT",
+ [5] = "OFPTFFC_EPERM",
+}
+
+local enum_v4_ofp_port_features = {
+ [1] = "OFPPF_10MB_HD",
+ [2] = "OFPPF_10MB_FD",
+ [4] = "OFPPF_100MB_HD",
+ [8] = "OFPPF_100MB_FD",
+ [16] = "OFPPF_1GB_HD",
+ [32] = "OFPPF_1GB_FD",
+ [64] = "OFPPF_10GB_FD",
+ [128] = "OFPPF_40GB_FD",
+ [256] = "OFPPF_100GB_FD",
+ [512] = "OFPPF_1TB_FD",
+ [1024] = "OFPPF_OTHER",
+ [2048] = "OFPPF_COPPER",
+ [4096] = "OFPPF_FIBER",
+ [8192] = "OFPPF_AUTONEG",
+ [16384] = "OFPPF_PAUSE",
+ [32768] = "OFPPF_PAUSE_ASYM",
+}
+
+local enum_v4_ofp_bsn_udf_anchor = {
+ [0] = "OFP_BSN_UDF_ANCHOR_PACKET_START",
+ [1] = "OFP_BSN_UDF_ANCHOR_L3_HEADER_START",
+ [2] = "OFP_BSN_UDF_ANCHOR_L4_HEADER_START",
+}
+
+
+
+
+fields = {}
+fields['of10.action.type'] = ProtoField.uint16("of10.action.type", "type", base.DEC, nil)
+fields['of10.action.len'] = ProtoField.uint16("of10.action.len", "len", base.DEC, nil)
+fields['of10.action_experimenter.type'] = ProtoField.uint16("of10.action_experimenter.type", "type", base.DEC, nil)
+fields['of10.action_experimenter.len'] = ProtoField.uint16("of10.action_experimenter.len", "len", base.DEC, nil)
+fields['of10.action_experimenter.experimenter'] = ProtoField.uint32("of10.action_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of10.action_experimenter.data'] = ProtoField.bytes("of10.action_experimenter.data", "data")
+fields['of10.action_bsn.type'] = ProtoField.uint16("of10.action_bsn.type", "type", base.DEC, nil)
+fields['of10.action_bsn.len'] = ProtoField.uint16("of10.action_bsn.len", "len", base.DEC, nil)
+fields['of10.action_bsn.experimenter'] = ProtoField.uint32("of10.action_bsn.experimenter", "experimenter", base.DEC, nil)
+fields['of10.action_bsn.subtype'] = ProtoField.uint32("of10.action_bsn.subtype", "subtype", base.DEC, nil)
+fields['of10.action_bsn_checksum.type'] = ProtoField.uint16("of10.action_bsn_checksum.type", "type", base.DEC, nil)
+fields['of10.action_bsn_checksum.len'] = ProtoField.uint16("of10.action_bsn_checksum.len", "len", base.DEC, nil)
+fields['of10.action_bsn_checksum.experimenter'] = ProtoField.uint32("of10.action_bsn_checksum.experimenter", "experimenter", base.DEC, nil)
+fields['of10.action_bsn_checksum.subtype'] = ProtoField.uint32("of10.action_bsn_checksum.subtype", "subtype", base.DEC, nil)
+fields['of10.action_bsn_checksum.checksum'] = ProtoField.bytes("of10.action_bsn_checksum.checksum", "checksum")
+fields['of10.action_bsn_mirror.type'] = ProtoField.uint16("of10.action_bsn_mirror.type", "type", base.DEC, nil)
+fields['of10.action_bsn_mirror.len'] = ProtoField.uint16("of10.action_bsn_mirror.len", "len", base.DEC, nil)
+fields['of10.action_bsn_mirror.experimenter'] = ProtoField.uint32("of10.action_bsn_mirror.experimenter", "experimenter", base.DEC, nil)
+fields['of10.action_bsn_mirror.subtype'] = ProtoField.uint32("of10.action_bsn_mirror.subtype", "subtype", base.DEC, nil)
+fields['of10.action_bsn_mirror.dest_port'] = ProtoField.uint32("of10.action_bsn_mirror.dest_port", "dest_port", base.DEC, nil)
+fields['of10.action_bsn_mirror.vlan_tag'] = ProtoField.uint32("of10.action_bsn_mirror.vlan_tag", "vlan_tag", base.DEC, nil)
+fields['of10.action_bsn_mirror.copy_stage'] = ProtoField.uint8("of10.action_bsn_mirror.copy_stage", "copy_stage", base.DEC, nil)
+fields['of10.action_bsn_set_tunnel_dst.type'] = ProtoField.uint16("of10.action_bsn_set_tunnel_dst.type", "type", base.DEC, nil)
+fields['of10.action_bsn_set_tunnel_dst.len'] = ProtoField.uint16("of10.action_bsn_set_tunnel_dst.len", "len", base.DEC, nil)
+fields['of10.action_bsn_set_tunnel_dst.experimenter'] = ProtoField.uint32("of10.action_bsn_set_tunnel_dst.experimenter", "experimenter", base.DEC, nil)
+fields['of10.action_bsn_set_tunnel_dst.subtype'] = ProtoField.uint32("of10.action_bsn_set_tunnel_dst.subtype", "subtype", base.DEC, nil)
+fields['of10.action_bsn_set_tunnel_dst.dst'] = ProtoField.uint32("of10.action_bsn_set_tunnel_dst.dst", "dst", base.DEC, nil)
+fields['of10.action_enqueue.type'] = ProtoField.uint16("of10.action_enqueue.type", "type", base.DEC, nil)
+fields['of10.action_enqueue.len'] = ProtoField.uint16("of10.action_enqueue.len", "len", base.DEC, nil)
+fields['of10.action_enqueue.port'] = ProtoField.uint32("of10.action_enqueue.port", "port", base.DEC, nil)
+fields['of10.action_enqueue.queue_id'] = ProtoField.uint32("of10.action_enqueue.queue_id", "queue_id", base.DEC, nil)
+fields['of10.action_nicira.type'] = ProtoField.uint16("of10.action_nicira.type", "type", base.DEC, nil)
+fields['of10.action_nicira.len'] = ProtoField.uint16("of10.action_nicira.len", "len", base.DEC, nil)
+fields['of10.action_nicira.experimenter'] = ProtoField.uint32("of10.action_nicira.experimenter", "experimenter", base.DEC, nil)
+fields['of10.action_nicira.subtype'] = ProtoField.uint16("of10.action_nicira.subtype", "subtype", base.DEC, nil)
+fields['of10.action_nicira_dec_ttl.type'] = ProtoField.uint16("of10.action_nicira_dec_ttl.type", "type", base.DEC, nil)
+fields['of10.action_nicira_dec_ttl.len'] = ProtoField.uint16("of10.action_nicira_dec_ttl.len", "len", base.DEC, nil)
+fields['of10.action_nicira_dec_ttl.experimenter'] = ProtoField.uint32("of10.action_nicira_dec_ttl.experimenter", "experimenter", base.DEC, nil)
+fields['of10.action_nicira_dec_ttl.subtype'] = ProtoField.uint16("of10.action_nicira_dec_ttl.subtype", "subtype", base.DEC, nil)
+fields['of10.action_output.type'] = ProtoField.uint32("of10.action_output.type", "type", base.DEC, enum_v1_ofp_action_type)
+fields['of10.action_output.len'] = ProtoField.uint16("of10.action_output.len", "len", base.DEC, nil)
+fields['of10.action_output.port'] = ProtoField.uint32("of10.action_output.port", "port", base.DEC, nil)
+fields['of10.action_output.max_len'] = ProtoField.uint16("of10.action_output.max_len", "max_len", base.DEC, nil)
+fields['of10.action_set_dl_dst.type'] = ProtoField.uint16("of10.action_set_dl_dst.type", "type", base.DEC, nil)
+fields['of10.action_set_dl_dst.len'] = ProtoField.uint16("of10.action_set_dl_dst.len", "len", base.DEC, nil)
+fields['of10.action_set_dl_dst.dl_addr'] = ProtoField.ether("of10.action_set_dl_dst.dl_addr", "dl_addr")
+fields['of10.action_set_dl_src.type'] = ProtoField.uint16("of10.action_set_dl_src.type", "type", base.DEC, nil)
+fields['of10.action_set_dl_src.len'] = ProtoField.uint16("of10.action_set_dl_src.len", "len", base.DEC, nil)
+fields['of10.action_set_dl_src.dl_addr'] = ProtoField.ether("of10.action_set_dl_src.dl_addr", "dl_addr")
+fields['of10.action_set_nw_dst.type'] = ProtoField.uint16("of10.action_set_nw_dst.type", "type", base.DEC, nil)
+fields['of10.action_set_nw_dst.len'] = ProtoField.uint16("of10.action_set_nw_dst.len", "len", base.DEC, nil)
+fields['of10.action_set_nw_dst.nw_addr'] = ProtoField.uint32("of10.action_set_nw_dst.nw_addr", "nw_addr", base.DEC, nil)
+fields['of10.action_set_nw_src.type'] = ProtoField.uint16("of10.action_set_nw_src.type", "type", base.DEC, nil)
+fields['of10.action_set_nw_src.len'] = ProtoField.uint16("of10.action_set_nw_src.len", "len", base.DEC, nil)
+fields['of10.action_set_nw_src.nw_addr'] = ProtoField.uint32("of10.action_set_nw_src.nw_addr", "nw_addr", base.DEC, nil)
+fields['of10.action_set_nw_tos.type'] = ProtoField.uint16("of10.action_set_nw_tos.type", "type", base.DEC, nil)
+fields['of10.action_set_nw_tos.len'] = ProtoField.uint16("of10.action_set_nw_tos.len", "len", base.DEC, nil)
+fields['of10.action_set_nw_tos.nw_tos'] = ProtoField.uint8("of10.action_set_nw_tos.nw_tos", "nw_tos", base.DEC, nil)
+fields['of10.action_set_tp_dst.type'] = ProtoField.uint16("of10.action_set_tp_dst.type", "type", base.DEC, nil)
+fields['of10.action_set_tp_dst.len'] = ProtoField.uint16("of10.action_set_tp_dst.len", "len", base.DEC, nil)
+fields['of10.action_set_tp_dst.tp_port'] = ProtoField.uint16("of10.action_set_tp_dst.tp_port", "tp_port", base.DEC, nil)
+fields['of10.action_set_tp_src.type'] = ProtoField.uint16("of10.action_set_tp_src.type", "type", base.DEC, nil)
+fields['of10.action_set_tp_src.len'] = ProtoField.uint16("of10.action_set_tp_src.len", "len", base.DEC, nil)
+fields['of10.action_set_tp_src.tp_port'] = ProtoField.uint16("of10.action_set_tp_src.tp_port", "tp_port", base.DEC, nil)
+fields['of10.action_set_vlan_pcp.type'] = ProtoField.uint16("of10.action_set_vlan_pcp.type", "type", base.DEC, nil)
+fields['of10.action_set_vlan_pcp.len'] = ProtoField.uint16("of10.action_set_vlan_pcp.len", "len", base.DEC, nil)
+fields['of10.action_set_vlan_pcp.vlan_pcp'] = ProtoField.uint8("of10.action_set_vlan_pcp.vlan_pcp", "vlan_pcp", base.DEC, nil)
+fields['of10.action_set_vlan_vid.type'] = ProtoField.uint16("of10.action_set_vlan_vid.type", "type", base.DEC, nil)
+fields['of10.action_set_vlan_vid.len'] = ProtoField.uint16("of10.action_set_vlan_vid.len", "len", base.DEC, nil)
+fields['of10.action_set_vlan_vid.vlan_vid'] = ProtoField.uint16("of10.action_set_vlan_vid.vlan_vid", "vlan_vid", base.DEC, nil)
+fields['of10.action_strip_vlan.type'] = ProtoField.uint16("of10.action_strip_vlan.type", "type", base.DEC, nil)
+fields['of10.action_strip_vlan.len'] = ProtoField.uint16("of10.action_strip_vlan.len", "len", base.DEC, nil)
+fields['of10.header.version'] = ProtoField.uint8("of10.header.version", "version", base.DEC, nil)
+fields['of10.header.type'] = ProtoField.uint8("of10.header.type", "type", base.DEC, nil)
+fields['of10.header.length'] = ProtoField.uint16("of10.header.length", "length", base.DEC, nil)
+fields['of10.header.xid'] = ProtoField.uint32("of10.header.xid", "xid", base.DEC, nil)
+fields['of10.stats_reply.version'] = ProtoField.uint8("of10.stats_reply.version", "version", base.DEC, nil)
+fields['of10.stats_reply.type'] = ProtoField.uint32("of10.stats_reply.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.stats_reply.length'] = ProtoField.uint16("of10.stats_reply.length", "length", base.DEC, nil)
+fields['of10.stats_reply.xid'] = ProtoField.uint32("of10.stats_reply.xid", "xid", base.DEC, nil)
+fields['of10.stats_reply.stats_type'] = ProtoField.uint32("of10.stats_reply.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.stats_reply.flags'] = ProtoField.uint32("of10.stats_reply.flags", "flags", base.HEX, enum_v1_ofp_stats_reply_flags)
+fields['of10.aggregate_stats_reply.version'] = ProtoField.uint8("of10.aggregate_stats_reply.version", "version", base.DEC, nil)
+fields['of10.aggregate_stats_reply.type'] = ProtoField.uint32("of10.aggregate_stats_reply.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.aggregate_stats_reply.length'] = ProtoField.uint16("of10.aggregate_stats_reply.length", "length", base.DEC, nil)
+fields['of10.aggregate_stats_reply.xid'] = ProtoField.uint32("of10.aggregate_stats_reply.xid", "xid", base.DEC, nil)
+fields['of10.aggregate_stats_reply.stats_type'] = ProtoField.uint32("of10.aggregate_stats_reply.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.aggregate_stats_reply.flags'] = ProtoField.uint32("of10.aggregate_stats_reply.flags", "flags", base.HEX, enum_v1_ofp_stats_reply_flags)
+fields['of10.aggregate_stats_reply.packet_count'] = ProtoField.uint64("of10.aggregate_stats_reply.packet_count", "packet_count", base.DEC, nil)
+fields['of10.aggregate_stats_reply.byte_count'] = ProtoField.uint64("of10.aggregate_stats_reply.byte_count", "byte_count", base.DEC, nil)
+fields['of10.aggregate_stats_reply.flow_count'] = ProtoField.uint32("of10.aggregate_stats_reply.flow_count", "flow_count", base.DEC, nil)
+fields['of10.stats_request.version'] = ProtoField.uint8("of10.stats_request.version", "version", base.DEC, nil)
+fields['of10.stats_request.type'] = ProtoField.uint32("of10.stats_request.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.stats_request.length'] = ProtoField.uint16("of10.stats_request.length", "length", base.DEC, nil)
+fields['of10.stats_request.xid'] = ProtoField.uint32("of10.stats_request.xid", "xid", base.DEC, nil)
+fields['of10.stats_request.stats_type'] = ProtoField.uint32("of10.stats_request.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.stats_request.flags'] = ProtoField.uint32("of10.stats_request.flags", "flags", base.HEX, enum_v1_ofp_stats_request_flags)
+fields['of10.aggregate_stats_request.version'] = ProtoField.uint8("of10.aggregate_stats_request.version", "version", base.DEC, nil)
+fields['of10.aggregate_stats_request.type'] = ProtoField.uint32("of10.aggregate_stats_request.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.aggregate_stats_request.length'] = ProtoField.uint16("of10.aggregate_stats_request.length", "length", base.DEC, nil)
+fields['of10.aggregate_stats_request.xid'] = ProtoField.uint32("of10.aggregate_stats_request.xid", "xid", base.DEC, nil)
+fields['of10.aggregate_stats_request.stats_type'] = ProtoField.uint32("of10.aggregate_stats_request.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.aggregate_stats_request.flags'] = ProtoField.uint32("of10.aggregate_stats_request.flags", "flags", base.HEX, enum_v1_ofp_stats_request_flags)
+fields['of10.aggregate_stats_request.match'] = ProtoField.bytes("of10.aggregate_stats_request.match", "match")
+fields['of10.aggregate_stats_request.table_id'] = ProtoField.uint8("of10.aggregate_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of10.aggregate_stats_request.out_port'] = ProtoField.uint32("of10.aggregate_stats_request.out_port", "out_port", base.DEC, nil)
+fields['of10.error_msg.version'] = ProtoField.uint8("of10.error_msg.version", "version", base.DEC, nil)
+fields['of10.error_msg.type'] = ProtoField.uint32("of10.error_msg.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.error_msg.length'] = ProtoField.uint16("of10.error_msg.length", "length", base.DEC, nil)
+fields['of10.error_msg.xid'] = ProtoField.uint32("of10.error_msg.xid", "xid", base.DEC, nil)
+fields['of10.error_msg.err_type'] = ProtoField.uint32("of10.error_msg.err_type", "err_type", base.DEC, enum_v1_ofp_error_type)
+fields['of10.bad_action_error_msg.version'] = ProtoField.uint8("of10.bad_action_error_msg.version", "version", base.DEC, nil)
+fields['of10.bad_action_error_msg.type'] = ProtoField.uint8("of10.bad_action_error_msg.type", "type", base.DEC, nil)
+fields['of10.bad_action_error_msg.length'] = ProtoField.uint16("of10.bad_action_error_msg.length", "length", base.DEC, nil)
+fields['of10.bad_action_error_msg.xid'] = ProtoField.uint32("of10.bad_action_error_msg.xid", "xid", base.DEC, nil)
+fields['of10.bad_action_error_msg.err_type'] = ProtoField.uint16("of10.bad_action_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of10.bad_action_error_msg.code'] = ProtoField.uint32("of10.bad_action_error_msg.code", "code", base.DEC, enum_v1_ofp_bad_action_code)
+fields['of10.bad_action_error_msg.data'] = ProtoField.bytes("of10.bad_action_error_msg.data", "data")
+fields['of10.bad_request_error_msg.version'] = ProtoField.uint8("of10.bad_request_error_msg.version", "version", base.DEC, nil)
+fields['of10.bad_request_error_msg.type'] = ProtoField.uint8("of10.bad_request_error_msg.type", "type", base.DEC, nil)
+fields['of10.bad_request_error_msg.length'] = ProtoField.uint16("of10.bad_request_error_msg.length", "length", base.DEC, nil)
+fields['of10.bad_request_error_msg.xid'] = ProtoField.uint32("of10.bad_request_error_msg.xid", "xid", base.DEC, nil)
+fields['of10.bad_request_error_msg.err_type'] = ProtoField.uint16("of10.bad_request_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of10.bad_request_error_msg.code'] = ProtoField.uint32("of10.bad_request_error_msg.code", "code", base.DEC, enum_v1_ofp_bad_request_code)
+fields['of10.bad_request_error_msg.data'] = ProtoField.bytes("of10.bad_request_error_msg.data", "data")
+fields['of10.barrier_reply.version'] = ProtoField.uint8("of10.barrier_reply.version", "version", base.DEC, nil)
+fields['of10.barrier_reply.type'] = ProtoField.uint32("of10.barrier_reply.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.barrier_reply.length'] = ProtoField.uint16("of10.barrier_reply.length", "length", base.DEC, nil)
+fields['of10.barrier_reply.xid'] = ProtoField.uint32("of10.barrier_reply.xid", "xid", base.DEC, nil)
+fields['of10.barrier_request.version'] = ProtoField.uint8("of10.barrier_request.version", "version", base.DEC, nil)
+fields['of10.barrier_request.type'] = ProtoField.uint32("of10.barrier_request.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.barrier_request.length'] = ProtoField.uint16("of10.barrier_request.length", "length", base.DEC, nil)
+fields['of10.barrier_request.xid'] = ProtoField.uint32("of10.barrier_request.xid", "xid", base.DEC, nil)
+fields['of10.experimenter.version'] = ProtoField.uint8("of10.experimenter.version", "version", base.DEC, nil)
+fields['of10.experimenter.type'] = ProtoField.uint8("of10.experimenter.type", "type", base.DEC, nil)
+fields['of10.experimenter.length'] = ProtoField.uint16("of10.experimenter.length", "length", base.DEC, nil)
+fields['of10.experimenter.xid'] = ProtoField.uint32("of10.experimenter.xid", "xid", base.DEC, nil)
+fields['of10.experimenter.experimenter'] = ProtoField.uint32("of10.experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of10.experimenter.data'] = ProtoField.bytes("of10.experimenter.data", "data")
+fields['of10.bsn_header.version'] = ProtoField.uint8("of10.bsn_header.version", "version", base.DEC, nil)
+fields['of10.bsn_header.type'] = ProtoField.uint8("of10.bsn_header.type", "type", base.DEC, nil)
+fields['of10.bsn_header.length'] = ProtoField.uint16("of10.bsn_header.length", "length", base.DEC, nil)
+fields['of10.bsn_header.xid'] = ProtoField.uint32("of10.bsn_header.xid", "xid", base.DEC, nil)
+fields['of10.bsn_header.experimenter'] = ProtoField.uint32("of10.bsn_header.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_header.subtype'] = ProtoField.uint32("of10.bsn_header.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_reply.version'] = ProtoField.uint8("of10.bsn_bw_clear_data_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_reply.type'] = ProtoField.uint8("of10.bsn_bw_clear_data_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_reply.length'] = ProtoField.uint16("of10.bsn_bw_clear_data_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_reply.xid'] = ProtoField.uint32("of10.bsn_bw_clear_data_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_reply.experimenter'] = ProtoField.uint32("of10.bsn_bw_clear_data_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_reply.subtype'] = ProtoField.uint32("of10.bsn_bw_clear_data_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_reply.status'] = ProtoField.uint32("of10.bsn_bw_clear_data_reply.status", "status", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_request.version'] = ProtoField.uint8("of10.bsn_bw_clear_data_request.version", "version", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_request.type'] = ProtoField.uint8("of10.bsn_bw_clear_data_request.type", "type", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_request.length'] = ProtoField.uint16("of10.bsn_bw_clear_data_request.length", "length", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_request.xid'] = ProtoField.uint32("of10.bsn_bw_clear_data_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_request.experimenter'] = ProtoField.uint32("of10.bsn_bw_clear_data_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_bw_clear_data_request.subtype'] = ProtoField.uint32("of10.bsn_bw_clear_data_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_reply.version'] = ProtoField.uint8("of10.bsn_bw_enable_get_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_reply.type'] = ProtoField.uint8("of10.bsn_bw_enable_get_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_reply.length'] = ProtoField.uint16("of10.bsn_bw_enable_get_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_reply.xid'] = ProtoField.uint32("of10.bsn_bw_enable_get_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_reply.experimenter'] = ProtoField.uint32("of10.bsn_bw_enable_get_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_reply.subtype'] = ProtoField.uint32("of10.bsn_bw_enable_get_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_reply.enabled'] = ProtoField.uint32("of10.bsn_bw_enable_get_reply.enabled", "enabled", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_request.version'] = ProtoField.uint8("of10.bsn_bw_enable_get_request.version", "version", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_request.type'] = ProtoField.uint8("of10.bsn_bw_enable_get_request.type", "type", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_request.length'] = ProtoField.uint16("of10.bsn_bw_enable_get_request.length", "length", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_request.xid'] = ProtoField.uint32("of10.bsn_bw_enable_get_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_request.experimenter'] = ProtoField.uint32("of10.bsn_bw_enable_get_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_bw_enable_get_request.subtype'] = ProtoField.uint32("of10.bsn_bw_enable_get_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_reply.version'] = ProtoField.uint8("of10.bsn_bw_enable_set_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_reply.type'] = ProtoField.uint8("of10.bsn_bw_enable_set_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_reply.length'] = ProtoField.uint16("of10.bsn_bw_enable_set_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_reply.xid'] = ProtoField.uint32("of10.bsn_bw_enable_set_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_reply.experimenter'] = ProtoField.uint32("of10.bsn_bw_enable_set_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_reply.subtype'] = ProtoField.uint32("of10.bsn_bw_enable_set_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_reply.enable'] = ProtoField.uint32("of10.bsn_bw_enable_set_reply.enable", "enable", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_reply.status'] = ProtoField.uint32("of10.bsn_bw_enable_set_reply.status", "status", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_request.version'] = ProtoField.uint8("of10.bsn_bw_enable_set_request.version", "version", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_request.type'] = ProtoField.uint8("of10.bsn_bw_enable_set_request.type", "type", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_request.length'] = ProtoField.uint16("of10.bsn_bw_enable_set_request.length", "length", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_request.xid'] = ProtoField.uint32("of10.bsn_bw_enable_set_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_request.experimenter'] = ProtoField.uint32("of10.bsn_bw_enable_set_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_request.subtype'] = ProtoField.uint32("of10.bsn_bw_enable_set_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_bw_enable_set_request.enable'] = ProtoField.uint32("of10.bsn_bw_enable_set_request.enable", "enable", base.DEC, nil)
+fields['of10.bsn_get_interfaces_reply.version'] = ProtoField.uint8("of10.bsn_get_interfaces_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_get_interfaces_reply.type'] = ProtoField.uint8("of10.bsn_get_interfaces_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_get_interfaces_reply.length'] = ProtoField.uint16("of10.bsn_get_interfaces_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_get_interfaces_reply.xid'] = ProtoField.uint32("of10.bsn_get_interfaces_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_get_interfaces_reply.experimenter'] = ProtoField.uint32("of10.bsn_get_interfaces_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_get_interfaces_reply.subtype'] = ProtoField.uint32("of10.bsn_get_interfaces_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_get_interfaces_reply.interfaces'] = ProtoField.bytes("of10.bsn_get_interfaces_reply.interfaces", "interfaces")
+fields['of10.bsn_get_interfaces_request.version'] = ProtoField.uint8("of10.bsn_get_interfaces_request.version", "version", base.DEC, nil)
+fields['of10.bsn_get_interfaces_request.type'] = ProtoField.uint8("of10.bsn_get_interfaces_request.type", "type", base.DEC, nil)
+fields['of10.bsn_get_interfaces_request.length'] = ProtoField.uint16("of10.bsn_get_interfaces_request.length", "length", base.DEC, nil)
+fields['of10.bsn_get_interfaces_request.xid'] = ProtoField.uint32("of10.bsn_get_interfaces_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_get_interfaces_request.experimenter'] = ProtoField.uint32("of10.bsn_get_interfaces_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_get_interfaces_request.subtype'] = ProtoField.uint32("of10.bsn_get_interfaces_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_reply.version'] = ProtoField.uint8("of10.bsn_get_ip_mask_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_reply.type'] = ProtoField.uint8("of10.bsn_get_ip_mask_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_reply.length'] = ProtoField.uint16("of10.bsn_get_ip_mask_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_reply.xid'] = ProtoField.uint32("of10.bsn_get_ip_mask_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_reply.experimenter'] = ProtoField.uint32("of10.bsn_get_ip_mask_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_reply.subtype'] = ProtoField.uint32("of10.bsn_get_ip_mask_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_reply.index'] = ProtoField.uint8("of10.bsn_get_ip_mask_reply.index", "index", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_reply.mask'] = ProtoField.uint32("of10.bsn_get_ip_mask_reply.mask", "mask", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_request.version'] = ProtoField.uint8("of10.bsn_get_ip_mask_request.version", "version", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_request.type'] = ProtoField.uint8("of10.bsn_get_ip_mask_request.type", "type", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_request.length'] = ProtoField.uint16("of10.bsn_get_ip_mask_request.length", "length", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_request.xid'] = ProtoField.uint32("of10.bsn_get_ip_mask_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_request.experimenter'] = ProtoField.uint32("of10.bsn_get_ip_mask_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_request.subtype'] = ProtoField.uint32("of10.bsn_get_ip_mask_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_get_ip_mask_request.index'] = ProtoField.uint8("of10.bsn_get_ip_mask_request.index", "index", base.DEC, nil)
+fields['of10.bsn_get_l2_table_reply.version'] = ProtoField.uint8("of10.bsn_get_l2_table_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_get_l2_table_reply.type'] = ProtoField.uint8("of10.bsn_get_l2_table_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_get_l2_table_reply.length'] = ProtoField.uint16("of10.bsn_get_l2_table_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_get_l2_table_reply.xid'] = ProtoField.uint32("of10.bsn_get_l2_table_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_get_l2_table_reply.experimenter'] = ProtoField.uint32("of10.bsn_get_l2_table_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_get_l2_table_reply.subtype'] = ProtoField.uint32("of10.bsn_get_l2_table_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_get_l2_table_reply.l2_table_enable'] = ProtoField.uint8("of10.bsn_get_l2_table_reply.l2_table_enable", "l2_table_enable", base.DEC, nil)
+fields['of10.bsn_get_l2_table_reply.l2_table_priority'] = ProtoField.uint16("of10.bsn_get_l2_table_reply.l2_table_priority", "l2_table_priority", base.DEC, nil)
+fields['of10.bsn_get_l2_table_request.version'] = ProtoField.uint8("of10.bsn_get_l2_table_request.version", "version", base.DEC, nil)
+fields['of10.bsn_get_l2_table_request.type'] = ProtoField.uint8("of10.bsn_get_l2_table_request.type", "type", base.DEC, nil)
+fields['of10.bsn_get_l2_table_request.length'] = ProtoField.uint16("of10.bsn_get_l2_table_request.length", "length", base.DEC, nil)
+fields['of10.bsn_get_l2_table_request.xid'] = ProtoField.uint32("of10.bsn_get_l2_table_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_get_l2_table_request.experimenter'] = ProtoField.uint32("of10.bsn_get_l2_table_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_get_l2_table_request.subtype'] = ProtoField.uint32("of10.bsn_get_l2_table_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_get_mirroring_reply.version'] = ProtoField.uint8("of10.bsn_get_mirroring_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_get_mirroring_reply.type'] = ProtoField.uint8("of10.bsn_get_mirroring_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_get_mirroring_reply.length'] = ProtoField.uint16("of10.bsn_get_mirroring_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_get_mirroring_reply.xid'] = ProtoField.uint32("of10.bsn_get_mirroring_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_get_mirroring_reply.experimenter'] = ProtoField.uint32("of10.bsn_get_mirroring_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_get_mirroring_reply.subtype'] = ProtoField.uint32("of10.bsn_get_mirroring_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_get_mirroring_reply.report_mirror_ports'] = ProtoField.uint8("of10.bsn_get_mirroring_reply.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of10.bsn_get_mirroring_request.version'] = ProtoField.uint8("of10.bsn_get_mirroring_request.version", "version", base.DEC, nil)
+fields['of10.bsn_get_mirroring_request.type'] = ProtoField.uint8("of10.bsn_get_mirroring_request.type", "type", base.DEC, nil)
+fields['of10.bsn_get_mirroring_request.length'] = ProtoField.uint16("of10.bsn_get_mirroring_request.length", "length", base.DEC, nil)
+fields['of10.bsn_get_mirroring_request.xid'] = ProtoField.uint32("of10.bsn_get_mirroring_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_get_mirroring_request.experimenter'] = ProtoField.uint32("of10.bsn_get_mirroring_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_get_mirroring_request.subtype'] = ProtoField.uint32("of10.bsn_get_mirroring_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_get_mirroring_request.report_mirror_ports'] = ProtoField.uint8("of10.bsn_get_mirroring_request.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of10.bsn_hybrid_get_reply.version'] = ProtoField.uint8("of10.bsn_hybrid_get_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_hybrid_get_reply.type'] = ProtoField.uint8("of10.bsn_hybrid_get_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_hybrid_get_reply.length'] = ProtoField.uint16("of10.bsn_hybrid_get_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_hybrid_get_reply.xid'] = ProtoField.uint32("of10.bsn_hybrid_get_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_hybrid_get_reply.experimenter'] = ProtoField.uint32("of10.bsn_hybrid_get_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_hybrid_get_reply.subtype'] = ProtoField.uint32("of10.bsn_hybrid_get_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_hybrid_get_reply.hybrid_enable'] = ProtoField.uint8("of10.bsn_hybrid_get_reply.hybrid_enable", "hybrid_enable", base.DEC, nil)
+fields['of10.bsn_hybrid_get_reply.hybrid_version'] = ProtoField.uint16("of10.bsn_hybrid_get_reply.hybrid_version", "hybrid_version", base.DEC, nil)
+fields['of10.bsn_hybrid_get_request.version'] = ProtoField.uint8("of10.bsn_hybrid_get_request.version", "version", base.DEC, nil)
+fields['of10.bsn_hybrid_get_request.type'] = ProtoField.uint8("of10.bsn_hybrid_get_request.type", "type", base.DEC, nil)
+fields['of10.bsn_hybrid_get_request.length'] = ProtoField.uint16("of10.bsn_hybrid_get_request.length", "length", base.DEC, nil)
+fields['of10.bsn_hybrid_get_request.xid'] = ProtoField.uint32("of10.bsn_hybrid_get_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_hybrid_get_request.experimenter'] = ProtoField.uint32("of10.bsn_hybrid_get_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_hybrid_get_request.subtype'] = ProtoField.uint32("of10.bsn_hybrid_get_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_interface.hw_addr'] = ProtoField.ether("of10.bsn_interface.hw_addr", "hw_addr")
+fields['of10.bsn_interface.name'] = ProtoField.stringz("of10.bsn_interface.name", "name")
+fields['of10.bsn_interface.ipv4_addr'] = ProtoField.ipv4("of10.bsn_interface.ipv4_addr", "ipv4_addr")
+fields['of10.bsn_interface.ipv4_netmask'] = ProtoField.ipv4("of10.bsn_interface.ipv4_netmask", "ipv4_netmask")
+fields['of10.bsn_pdu_rx_reply.version'] = ProtoField.uint8("of10.bsn_pdu_rx_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_pdu_rx_reply.type'] = ProtoField.uint8("of10.bsn_pdu_rx_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_pdu_rx_reply.length'] = ProtoField.uint16("of10.bsn_pdu_rx_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_pdu_rx_reply.xid'] = ProtoField.uint32("of10.bsn_pdu_rx_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_pdu_rx_reply.experimenter'] = ProtoField.uint32("of10.bsn_pdu_rx_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_pdu_rx_reply.subtype'] = ProtoField.uint32("of10.bsn_pdu_rx_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_pdu_rx_reply.status'] = ProtoField.uint32("of10.bsn_pdu_rx_reply.status", "status", base.DEC, nil)
+fields['of10.bsn_pdu_rx_reply.port_no'] = ProtoField.uint32("of10.bsn_pdu_rx_reply.port_no", "port_no", base.DEC, nil)
+fields['of10.bsn_pdu_rx_reply.slot_num'] = ProtoField.uint8("of10.bsn_pdu_rx_reply.slot_num", "slot_num", base.DEC, nil)
+fields['of10.bsn_pdu_rx_request.version'] = ProtoField.uint8("of10.bsn_pdu_rx_request.version", "version", base.DEC, nil)
+fields['of10.bsn_pdu_rx_request.type'] = ProtoField.uint8("of10.bsn_pdu_rx_request.type", "type", base.DEC, nil)
+fields['of10.bsn_pdu_rx_request.length'] = ProtoField.uint16("of10.bsn_pdu_rx_request.length", "length", base.DEC, nil)
+fields['of10.bsn_pdu_rx_request.xid'] = ProtoField.uint32("of10.bsn_pdu_rx_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_pdu_rx_request.experimenter'] = ProtoField.uint32("of10.bsn_pdu_rx_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_pdu_rx_request.subtype'] = ProtoField.uint32("of10.bsn_pdu_rx_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_pdu_rx_request.timeout_ms'] = ProtoField.uint32("of10.bsn_pdu_rx_request.timeout_ms", "timeout_ms", base.DEC, nil)
+fields['of10.bsn_pdu_rx_request.port_no'] = ProtoField.uint32("of10.bsn_pdu_rx_request.port_no", "port_no", base.DEC, nil)
+fields['of10.bsn_pdu_rx_request.slot_num'] = ProtoField.uint8("of10.bsn_pdu_rx_request.slot_num", "slot_num", base.DEC, nil)
+fields['of10.bsn_pdu_rx_request.data'] = ProtoField.bytes("of10.bsn_pdu_rx_request.data", "data")
+fields['of10.bsn_pdu_rx_timeout.version'] = ProtoField.uint8("of10.bsn_pdu_rx_timeout.version", "version", base.DEC, nil)
+fields['of10.bsn_pdu_rx_timeout.type'] = ProtoField.uint8("of10.bsn_pdu_rx_timeout.type", "type", base.DEC, nil)
+fields['of10.bsn_pdu_rx_timeout.length'] = ProtoField.uint16("of10.bsn_pdu_rx_timeout.length", "length", base.DEC, nil)
+fields['of10.bsn_pdu_rx_timeout.xid'] = ProtoField.uint32("of10.bsn_pdu_rx_timeout.xid", "xid", base.DEC, nil)
+fields['of10.bsn_pdu_rx_timeout.experimenter'] = ProtoField.uint32("of10.bsn_pdu_rx_timeout.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_pdu_rx_timeout.subtype'] = ProtoField.uint32("of10.bsn_pdu_rx_timeout.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_pdu_rx_timeout.port_no'] = ProtoField.uint32("of10.bsn_pdu_rx_timeout.port_no", "port_no", base.DEC, nil)
+fields['of10.bsn_pdu_rx_timeout.slot_num'] = ProtoField.uint8("of10.bsn_pdu_rx_timeout.slot_num", "slot_num", base.DEC, nil)
+fields['of10.bsn_pdu_tx_reply.version'] = ProtoField.uint8("of10.bsn_pdu_tx_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_pdu_tx_reply.type'] = ProtoField.uint8("of10.bsn_pdu_tx_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_pdu_tx_reply.length'] = ProtoField.uint16("of10.bsn_pdu_tx_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_pdu_tx_reply.xid'] = ProtoField.uint32("of10.bsn_pdu_tx_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_pdu_tx_reply.experimenter'] = ProtoField.uint32("of10.bsn_pdu_tx_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_pdu_tx_reply.subtype'] = ProtoField.uint32("of10.bsn_pdu_tx_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_pdu_tx_reply.status'] = ProtoField.uint32("of10.bsn_pdu_tx_reply.status", "status", base.DEC, nil)
+fields['of10.bsn_pdu_tx_reply.port_no'] = ProtoField.uint32("of10.bsn_pdu_tx_reply.port_no", "port_no", base.DEC, nil)
+fields['of10.bsn_pdu_tx_reply.slot_num'] = ProtoField.uint8("of10.bsn_pdu_tx_reply.slot_num", "slot_num", base.DEC, nil)
+fields['of10.bsn_pdu_tx_request.version'] = ProtoField.uint8("of10.bsn_pdu_tx_request.version", "version", base.DEC, nil)
+fields['of10.bsn_pdu_tx_request.type'] = ProtoField.uint8("of10.bsn_pdu_tx_request.type", "type", base.DEC, nil)
+fields['of10.bsn_pdu_tx_request.length'] = ProtoField.uint16("of10.bsn_pdu_tx_request.length", "length", base.DEC, nil)
+fields['of10.bsn_pdu_tx_request.xid'] = ProtoField.uint32("of10.bsn_pdu_tx_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_pdu_tx_request.experimenter'] = ProtoField.uint32("of10.bsn_pdu_tx_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_pdu_tx_request.subtype'] = ProtoField.uint32("of10.bsn_pdu_tx_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_pdu_tx_request.tx_interval_ms'] = ProtoField.uint32("of10.bsn_pdu_tx_request.tx_interval_ms", "tx_interval_ms", base.DEC, nil)
+fields['of10.bsn_pdu_tx_request.port_no'] = ProtoField.uint32("of10.bsn_pdu_tx_request.port_no", "port_no", base.DEC, nil)
+fields['of10.bsn_pdu_tx_request.slot_num'] = ProtoField.uint8("of10.bsn_pdu_tx_request.slot_num", "slot_num", base.DEC, nil)
+fields['of10.bsn_pdu_tx_request.data'] = ProtoField.bytes("of10.bsn_pdu_tx_request.data", "data")
+fields['of10.bsn_set_ip_mask.version'] = ProtoField.uint8("of10.bsn_set_ip_mask.version", "version", base.DEC, nil)
+fields['of10.bsn_set_ip_mask.type'] = ProtoField.uint8("of10.bsn_set_ip_mask.type", "type", base.DEC, nil)
+fields['of10.bsn_set_ip_mask.length'] = ProtoField.uint16("of10.bsn_set_ip_mask.length", "length", base.DEC, nil)
+fields['of10.bsn_set_ip_mask.xid'] = ProtoField.uint32("of10.bsn_set_ip_mask.xid", "xid", base.DEC, nil)
+fields['of10.bsn_set_ip_mask.experimenter'] = ProtoField.uint32("of10.bsn_set_ip_mask.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_set_ip_mask.subtype'] = ProtoField.uint32("of10.bsn_set_ip_mask.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_set_ip_mask.index'] = ProtoField.uint8("of10.bsn_set_ip_mask.index", "index", base.DEC, nil)
+fields['of10.bsn_set_ip_mask.mask'] = ProtoField.uint32("of10.bsn_set_ip_mask.mask", "mask", base.DEC, nil)
+fields['of10.bsn_set_l2_table_reply.version'] = ProtoField.uint8("of10.bsn_set_l2_table_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_set_l2_table_reply.type'] = ProtoField.uint8("of10.bsn_set_l2_table_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_set_l2_table_reply.length'] = ProtoField.uint16("of10.bsn_set_l2_table_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_set_l2_table_reply.xid'] = ProtoField.uint32("of10.bsn_set_l2_table_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_set_l2_table_reply.experimenter'] = ProtoField.uint32("of10.bsn_set_l2_table_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_set_l2_table_reply.subtype'] = ProtoField.uint32("of10.bsn_set_l2_table_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_set_l2_table_reply.l2_table_enable'] = ProtoField.uint8("of10.bsn_set_l2_table_reply.l2_table_enable", "l2_table_enable", base.DEC, nil)
+fields['of10.bsn_set_l2_table_reply.l2_table_priority'] = ProtoField.uint16("of10.bsn_set_l2_table_reply.l2_table_priority", "l2_table_priority", base.DEC, nil)
+fields['of10.bsn_set_l2_table_reply.status'] = ProtoField.uint32("of10.bsn_set_l2_table_reply.status", "status", base.DEC, nil)
+fields['of10.bsn_set_l2_table_request.version'] = ProtoField.uint8("of10.bsn_set_l2_table_request.version", "version", base.DEC, nil)
+fields['of10.bsn_set_l2_table_request.type'] = ProtoField.uint8("of10.bsn_set_l2_table_request.type", "type", base.DEC, nil)
+fields['of10.bsn_set_l2_table_request.length'] = ProtoField.uint16("of10.bsn_set_l2_table_request.length", "length", base.DEC, nil)
+fields['of10.bsn_set_l2_table_request.xid'] = ProtoField.uint32("of10.bsn_set_l2_table_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_set_l2_table_request.experimenter'] = ProtoField.uint32("of10.bsn_set_l2_table_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_set_l2_table_request.subtype'] = ProtoField.uint32("of10.bsn_set_l2_table_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_set_l2_table_request.l2_table_enable'] = ProtoField.uint8("of10.bsn_set_l2_table_request.l2_table_enable", "l2_table_enable", base.DEC, nil)
+fields['of10.bsn_set_l2_table_request.l2_table_priority'] = ProtoField.uint16("of10.bsn_set_l2_table_request.l2_table_priority", "l2_table_priority", base.DEC, nil)
+fields['of10.bsn_set_mirroring.version'] = ProtoField.uint8("of10.bsn_set_mirroring.version", "version", base.DEC, nil)
+fields['of10.bsn_set_mirroring.type'] = ProtoField.uint8("of10.bsn_set_mirroring.type", "type", base.DEC, nil)
+fields['of10.bsn_set_mirroring.length'] = ProtoField.uint16("of10.bsn_set_mirroring.length", "length", base.DEC, nil)
+fields['of10.bsn_set_mirroring.xid'] = ProtoField.uint32("of10.bsn_set_mirroring.xid", "xid", base.DEC, nil)
+fields['of10.bsn_set_mirroring.experimenter'] = ProtoField.uint32("of10.bsn_set_mirroring.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_set_mirroring.subtype'] = ProtoField.uint32("of10.bsn_set_mirroring.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_set_mirroring.report_mirror_ports'] = ProtoField.uint8("of10.bsn_set_mirroring.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_reply.version'] = ProtoField.uint8("of10.bsn_set_pktin_suppression_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_reply.type'] = ProtoField.uint8("of10.bsn_set_pktin_suppression_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_reply.length'] = ProtoField.uint16("of10.bsn_set_pktin_suppression_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_reply.xid'] = ProtoField.uint32("of10.bsn_set_pktin_suppression_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_reply.experimenter'] = ProtoField.uint32("of10.bsn_set_pktin_suppression_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_reply.subtype'] = ProtoField.uint32("of10.bsn_set_pktin_suppression_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_reply.status'] = ProtoField.uint32("of10.bsn_set_pktin_suppression_reply.status", "status", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_request.version'] = ProtoField.uint8("of10.bsn_set_pktin_suppression_request.version", "version", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_request.type'] = ProtoField.uint8("of10.bsn_set_pktin_suppression_request.type", "type", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_request.length'] = ProtoField.uint16("of10.bsn_set_pktin_suppression_request.length", "length", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_request.xid'] = ProtoField.uint32("of10.bsn_set_pktin_suppression_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_request.experimenter'] = ProtoField.uint32("of10.bsn_set_pktin_suppression_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_request.subtype'] = ProtoField.uint32("of10.bsn_set_pktin_suppression_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_request.enabled'] = ProtoField.uint8("of10.bsn_set_pktin_suppression_request.enabled", "enabled", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_request.idle_timeout'] = ProtoField.uint16("of10.bsn_set_pktin_suppression_request.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_request.hard_timeout'] = ProtoField.uint16("of10.bsn_set_pktin_suppression_request.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_request.priority'] = ProtoField.uint16("of10.bsn_set_pktin_suppression_request.priority", "priority", base.DEC, nil)
+fields['of10.bsn_set_pktin_suppression_request.cookie'] = ProtoField.uint64("of10.bsn_set_pktin_suppression_request.cookie", "cookie", base.DEC, nil)
+fields['of10.bsn_shell_command.version'] = ProtoField.uint8("of10.bsn_shell_command.version", "version", base.DEC, nil)
+fields['of10.bsn_shell_command.type'] = ProtoField.uint8("of10.bsn_shell_command.type", "type", base.DEC, nil)
+fields['of10.bsn_shell_command.length'] = ProtoField.uint16("of10.bsn_shell_command.length", "length", base.DEC, nil)
+fields['of10.bsn_shell_command.xid'] = ProtoField.uint32("of10.bsn_shell_command.xid", "xid", base.DEC, nil)
+fields['of10.bsn_shell_command.experimenter'] = ProtoField.uint32("of10.bsn_shell_command.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_shell_command.subtype'] = ProtoField.uint32("of10.bsn_shell_command.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_shell_command.service'] = ProtoField.uint32("of10.bsn_shell_command.service", "service", base.DEC, nil)
+fields['of10.bsn_shell_command.data'] = ProtoField.bytes("of10.bsn_shell_command.data", "data")
+fields['of10.bsn_shell_output.version'] = ProtoField.uint8("of10.bsn_shell_output.version", "version", base.DEC, nil)
+fields['of10.bsn_shell_output.type'] = ProtoField.uint8("of10.bsn_shell_output.type", "type", base.DEC, nil)
+fields['of10.bsn_shell_output.length'] = ProtoField.uint16("of10.bsn_shell_output.length", "length", base.DEC, nil)
+fields['of10.bsn_shell_output.xid'] = ProtoField.uint32("of10.bsn_shell_output.xid", "xid", base.DEC, nil)
+fields['of10.bsn_shell_output.experimenter'] = ProtoField.uint32("of10.bsn_shell_output.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_shell_output.subtype'] = ProtoField.uint32("of10.bsn_shell_output.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_shell_output.data'] = ProtoField.bytes("of10.bsn_shell_output.data", "data")
+fields['of10.bsn_shell_status.version'] = ProtoField.uint8("of10.bsn_shell_status.version", "version", base.DEC, nil)
+fields['of10.bsn_shell_status.type'] = ProtoField.uint8("of10.bsn_shell_status.type", "type", base.DEC, nil)
+fields['of10.bsn_shell_status.length'] = ProtoField.uint16("of10.bsn_shell_status.length", "length", base.DEC, nil)
+fields['of10.bsn_shell_status.xid'] = ProtoField.uint32("of10.bsn_shell_status.xid", "xid", base.DEC, nil)
+fields['of10.bsn_shell_status.experimenter'] = ProtoField.uint32("of10.bsn_shell_status.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_shell_status.subtype'] = ProtoField.uint32("of10.bsn_shell_status.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_shell_status.status'] = ProtoField.uint32("of10.bsn_shell_status.status", "status", base.DEC, nil)
+fields['of10.experimenter_stats_reply.version'] = ProtoField.uint8("of10.experimenter_stats_reply.version", "version", base.DEC, nil)
+fields['of10.experimenter_stats_reply.type'] = ProtoField.uint8("of10.experimenter_stats_reply.type", "type", base.DEC, nil)
+fields['of10.experimenter_stats_reply.length'] = ProtoField.uint16("of10.experimenter_stats_reply.length", "length", base.DEC, nil)
+fields['of10.experimenter_stats_reply.xid'] = ProtoField.uint32("of10.experimenter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of10.experimenter_stats_reply.stats_type'] = ProtoField.uint16("of10.experimenter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of10.experimenter_stats_reply.flags'] = ProtoField.uint32("of10.experimenter_stats_reply.flags", "flags", base.HEX, enum_v1_ofp_stats_reply_flags)
+fields['of10.experimenter_stats_reply.experimenter'] = ProtoField.uint32("of10.experimenter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.experimenter_stats_reply.data'] = ProtoField.bytes("of10.experimenter_stats_reply.data", "data")
+fields['of10.bsn_stats_reply.version'] = ProtoField.uint8("of10.bsn_stats_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_stats_reply.type'] = ProtoField.uint8("of10.bsn_stats_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_stats_reply.length'] = ProtoField.uint16("of10.bsn_stats_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_stats_reply.xid'] = ProtoField.uint32("of10.bsn_stats_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_stats_reply.stats_type'] = ProtoField.uint16("of10.bsn_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of10.bsn_stats_reply.flags'] = ProtoField.uint32("of10.bsn_stats_reply.flags", "flags", base.HEX, enum_v1_ofp_stats_reply_flags)
+fields['of10.bsn_stats_reply.experimenter'] = ProtoField.uint32("of10.bsn_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_stats_reply.subtype'] = ProtoField.uint32("of10.bsn_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.experimenter_stats_request.version'] = ProtoField.uint8("of10.experimenter_stats_request.version", "version", base.DEC, nil)
+fields['of10.experimenter_stats_request.type'] = ProtoField.uint8("of10.experimenter_stats_request.type", "type", base.DEC, nil)
+fields['of10.experimenter_stats_request.length'] = ProtoField.uint16("of10.experimenter_stats_request.length", "length", base.DEC, nil)
+fields['of10.experimenter_stats_request.xid'] = ProtoField.uint32("of10.experimenter_stats_request.xid", "xid", base.DEC, nil)
+fields['of10.experimenter_stats_request.stats_type'] = ProtoField.uint16("of10.experimenter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of10.experimenter_stats_request.flags'] = ProtoField.uint32("of10.experimenter_stats_request.flags", "flags", base.HEX, enum_v1_ofp_stats_request_flags)
+fields['of10.experimenter_stats_request.experimenter'] = ProtoField.uint32("of10.experimenter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.experimenter_stats_request.data'] = ProtoField.bytes("of10.experimenter_stats_request.data", "data")
+fields['of10.bsn_stats_request.version'] = ProtoField.uint8("of10.bsn_stats_request.version", "version", base.DEC, nil)
+fields['of10.bsn_stats_request.type'] = ProtoField.uint8("of10.bsn_stats_request.type", "type", base.DEC, nil)
+fields['of10.bsn_stats_request.length'] = ProtoField.uint16("of10.bsn_stats_request.length", "length", base.DEC, nil)
+fields['of10.bsn_stats_request.xid'] = ProtoField.uint32("of10.bsn_stats_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_stats_request.stats_type'] = ProtoField.uint16("of10.bsn_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of10.bsn_stats_request.flags'] = ProtoField.uint32("of10.bsn_stats_request.flags", "flags", base.HEX, enum_v1_ofp_stats_request_flags)
+fields['of10.bsn_stats_request.experimenter'] = ProtoField.uint32("of10.bsn_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_stats_request.subtype'] = ProtoField.uint32("of10.bsn_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_reply.version'] = ProtoField.uint8("of10.bsn_virtual_port_create_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_reply.type'] = ProtoField.uint8("of10.bsn_virtual_port_create_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_reply.length'] = ProtoField.uint16("of10.bsn_virtual_port_create_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_reply.xid'] = ProtoField.uint32("of10.bsn_virtual_port_create_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_reply.experimenter'] = ProtoField.uint32("of10.bsn_virtual_port_create_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_reply.subtype'] = ProtoField.uint32("of10.bsn_virtual_port_create_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_reply.status'] = ProtoField.uint32("of10.bsn_virtual_port_create_reply.status", "status", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_reply.vport_no'] = ProtoField.uint32("of10.bsn_virtual_port_create_reply.vport_no", "vport_no", base.DEC, nil)
+fields['of10.bsn_vport.type'] = ProtoField.uint16("of10.bsn_vport.type", "type", base.DEC, nil)
+fields['of10.bsn_vport.length'] = ProtoField.uint16("of10.bsn_vport.length", "length", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_request.version'] = ProtoField.uint8("of10.bsn_virtual_port_create_request.version", "version", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_request.type'] = ProtoField.uint8("of10.bsn_virtual_port_create_request.type", "type", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_request.length'] = ProtoField.uint16("of10.bsn_virtual_port_create_request.length", "length", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_request.xid'] = ProtoField.uint32("of10.bsn_virtual_port_create_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_request.experimenter'] = ProtoField.uint32("of10.bsn_virtual_port_create_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_request.subtype'] = ProtoField.uint32("of10.bsn_virtual_port_create_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_virtual_port_create_request.vport'] = ProtoField.bytes("of10.bsn_virtual_port_create_request.vport", "vport")
+fields['of10.bsn_virtual_port_remove_reply.version'] = ProtoField.uint8("of10.bsn_virtual_port_remove_reply.version", "version", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_reply.type'] = ProtoField.uint8("of10.bsn_virtual_port_remove_reply.type", "type", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_reply.length'] = ProtoField.uint16("of10.bsn_virtual_port_remove_reply.length", "length", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_reply.xid'] = ProtoField.uint32("of10.bsn_virtual_port_remove_reply.xid", "xid", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_reply.experimenter'] = ProtoField.uint32("of10.bsn_virtual_port_remove_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_reply.subtype'] = ProtoField.uint32("of10.bsn_virtual_port_remove_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_reply.status'] = ProtoField.uint32("of10.bsn_virtual_port_remove_reply.status", "status", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_request.version'] = ProtoField.uint8("of10.bsn_virtual_port_remove_request.version", "version", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_request.type'] = ProtoField.uint8("of10.bsn_virtual_port_remove_request.type", "type", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_request.length'] = ProtoField.uint16("of10.bsn_virtual_port_remove_request.length", "length", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_request.xid'] = ProtoField.uint32("of10.bsn_virtual_port_remove_request.xid", "xid", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_request.experimenter'] = ProtoField.uint32("of10.bsn_virtual_port_remove_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_request.subtype'] = ProtoField.uint32("of10.bsn_virtual_port_remove_request.subtype", "subtype", base.DEC, nil)
+fields['of10.bsn_virtual_port_remove_request.vport_no'] = ProtoField.uint32("of10.bsn_virtual_port_remove_request.vport_no", "vport_no", base.DEC, nil)
+fields['of10.bsn_vport_l2gre.type'] = ProtoField.uint16("of10.bsn_vport_l2gre.type", "type", base.DEC, nil)
+fields['of10.bsn_vport_l2gre.length'] = ProtoField.uint16("of10.bsn_vport_l2gre.length", "length", base.DEC, nil)
+fields['of10.bsn_vport_l2gre.flags'] = ProtoField.uint32("of10.bsn_vport_l2gre.flags", "flags", base.HEX, enum_v1_ofp_bsn_vport_l2gre_flags)
+fields['of10.bsn_vport_l2gre.port_no'] = ProtoField.uint32("of10.bsn_vport_l2gre.port_no", "port_no", base.DEC, nil)
+fields['of10.bsn_vport_l2gre.loopback_port_no'] = ProtoField.uint32("of10.bsn_vport_l2gre.loopback_port_no", "loopback_port_no", base.DEC, nil)
+fields['of10.bsn_vport_l2gre.local_mac'] = ProtoField.ether("of10.bsn_vport_l2gre.local_mac", "local_mac")
+fields['of10.bsn_vport_l2gre.nh_mac'] = ProtoField.ether("of10.bsn_vport_l2gre.nh_mac", "nh_mac")
+fields['of10.bsn_vport_l2gre.src_ip'] = ProtoField.ipv4("of10.bsn_vport_l2gre.src_ip", "src_ip")
+fields['of10.bsn_vport_l2gre.dst_ip'] = ProtoField.ipv4("of10.bsn_vport_l2gre.dst_ip", "dst_ip")
+fields['of10.bsn_vport_l2gre.dscp'] = ProtoField.uint8("of10.bsn_vport_l2gre.dscp", "dscp", base.DEC, nil)
+fields['of10.bsn_vport_l2gre.ttl'] = ProtoField.uint8("of10.bsn_vport_l2gre.ttl", "ttl", base.DEC, nil)
+fields['of10.bsn_vport_l2gre.vpn'] = ProtoField.uint32("of10.bsn_vport_l2gre.vpn", "vpn", base.DEC, nil)
+fields['of10.bsn_vport_l2gre.rate_limit'] = ProtoField.uint32("of10.bsn_vport_l2gre.rate_limit", "rate_limit", base.DEC, nil)
+fields['of10.bsn_vport_l2gre.if_name'] = ProtoField.stringz("of10.bsn_vport_l2gre.if_name", "if_name")
+fields['of10.bsn_vport_q_in_q.type'] = ProtoField.uint16("of10.bsn_vport_q_in_q.type", "type", base.DEC, nil)
+fields['of10.bsn_vport_q_in_q.length'] = ProtoField.uint16("of10.bsn_vport_q_in_q.length", "length", base.DEC, nil)
+fields['of10.bsn_vport_q_in_q.port_no'] = ProtoField.uint32("of10.bsn_vport_q_in_q.port_no", "port_no", base.DEC, nil)
+fields['of10.bsn_vport_q_in_q.ingress_tpid'] = ProtoField.uint16("of10.bsn_vport_q_in_q.ingress_tpid", "ingress_tpid", base.DEC, nil)
+fields['of10.bsn_vport_q_in_q.ingress_vlan_id'] = ProtoField.uint16("of10.bsn_vport_q_in_q.ingress_vlan_id", "ingress_vlan_id", base.DEC, nil)
+fields['of10.bsn_vport_q_in_q.egress_tpid'] = ProtoField.uint16("of10.bsn_vport_q_in_q.egress_tpid", "egress_tpid", base.DEC, nil)
+fields['of10.bsn_vport_q_in_q.egress_vlan_id'] = ProtoField.uint16("of10.bsn_vport_q_in_q.egress_vlan_id", "egress_vlan_id", base.DEC, nil)
+fields['of10.bsn_vport_q_in_q.if_name'] = ProtoField.stringz("of10.bsn_vport_q_in_q.if_name", "if_name")
+fields['of10.desc_stats_reply.version'] = ProtoField.uint8("of10.desc_stats_reply.version", "version", base.DEC, nil)
+fields['of10.desc_stats_reply.type'] = ProtoField.uint32("of10.desc_stats_reply.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.desc_stats_reply.length'] = ProtoField.uint16("of10.desc_stats_reply.length", "length", base.DEC, nil)
+fields['of10.desc_stats_reply.xid'] = ProtoField.uint32("of10.desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of10.desc_stats_reply.stats_type'] = ProtoField.uint32("of10.desc_stats_reply.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.desc_stats_reply.flags'] = ProtoField.uint32("of10.desc_stats_reply.flags", "flags", base.HEX, enum_v1_ofp_stats_reply_flags)
+fields['of10.desc_stats_reply.mfr_desc'] = ProtoField.stringz("of10.desc_stats_reply.mfr_desc", "mfr_desc")
+fields['of10.desc_stats_reply.hw_desc'] = ProtoField.stringz("of10.desc_stats_reply.hw_desc", "hw_desc")
+fields['of10.desc_stats_reply.sw_desc'] = ProtoField.stringz("of10.desc_stats_reply.sw_desc", "sw_desc")
+fields['of10.desc_stats_reply.serial_num'] = ProtoField.stringz("of10.desc_stats_reply.serial_num", "serial_num")
+fields['of10.desc_stats_reply.dp_desc'] = ProtoField.stringz("of10.desc_stats_reply.dp_desc", "dp_desc")
+fields['of10.desc_stats_request.version'] = ProtoField.uint8("of10.desc_stats_request.version", "version", base.DEC, nil)
+fields['of10.desc_stats_request.type'] = ProtoField.uint32("of10.desc_stats_request.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.desc_stats_request.length'] = ProtoField.uint16("of10.desc_stats_request.length", "length", base.DEC, nil)
+fields['of10.desc_stats_request.xid'] = ProtoField.uint32("of10.desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of10.desc_stats_request.stats_type'] = ProtoField.uint32("of10.desc_stats_request.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.desc_stats_request.flags'] = ProtoField.uint32("of10.desc_stats_request.flags", "flags", base.HEX, enum_v1_ofp_stats_request_flags)
+fields['of10.echo_reply.version'] = ProtoField.uint8("of10.echo_reply.version", "version", base.DEC, nil)
+fields['of10.echo_reply.type'] = ProtoField.uint32("of10.echo_reply.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.echo_reply.length'] = ProtoField.uint16("of10.echo_reply.length", "length", base.DEC, nil)
+fields['of10.echo_reply.xid'] = ProtoField.uint32("of10.echo_reply.xid", "xid", base.DEC, nil)
+fields['of10.echo_reply.data'] = ProtoField.bytes("of10.echo_reply.data", "data")
+fields['of10.echo_request.version'] = ProtoField.uint8("of10.echo_request.version", "version", base.DEC, nil)
+fields['of10.echo_request.type'] = ProtoField.uint32("of10.echo_request.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.echo_request.length'] = ProtoField.uint16("of10.echo_request.length", "length", base.DEC, nil)
+fields['of10.echo_request.xid'] = ProtoField.uint32("of10.echo_request.xid", "xid", base.DEC, nil)
+fields['of10.echo_request.data'] = ProtoField.bytes("of10.echo_request.data", "data")
+fields['of10.features_reply.version'] = ProtoField.uint8("of10.features_reply.version", "version", base.DEC, nil)
+fields['of10.features_reply.type'] = ProtoField.uint32("of10.features_reply.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.features_reply.length'] = ProtoField.uint16("of10.features_reply.length", "length", base.DEC, nil)
+fields['of10.features_reply.xid'] = ProtoField.uint32("of10.features_reply.xid", "xid", base.DEC, nil)
+fields['of10.features_reply.datapath_id'] = ProtoField.uint64("of10.features_reply.datapath_id", "datapath_id", base.DEC, nil)
+fields['of10.features_reply.n_buffers'] = ProtoField.uint32("of10.features_reply.n_buffers", "n_buffers", base.DEC, nil)
+fields['of10.features_reply.n_tables'] = ProtoField.uint8("of10.features_reply.n_tables", "n_tables", base.DEC, nil)
+fields['of10.features_reply.capabilities'] = ProtoField.uint32("of10.features_reply.capabilities", "capabilities", base.HEX, enum_v1_ofp_capabilities)
+fields['of10.features_reply.actions'] = ProtoField.uint32("of10.features_reply.actions", "actions", base.DEC, nil)
+fields['of10.features_reply.ports'] = ProtoField.bytes("of10.features_reply.ports", "ports")
+fields['of10.features_request.version'] = ProtoField.uint8("of10.features_request.version", "version", base.DEC, nil)
+fields['of10.features_request.type'] = ProtoField.uint32("of10.features_request.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.features_request.length'] = ProtoField.uint16("of10.features_request.length", "length", base.DEC, nil)
+fields['of10.features_request.xid'] = ProtoField.uint32("of10.features_request.xid", "xid", base.DEC, nil)
+fields['of10.flow_mod.version'] = ProtoField.uint8("of10.flow_mod.version", "version", base.DEC, nil)
+fields['of10.flow_mod.type'] = ProtoField.uint32("of10.flow_mod.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.flow_mod.length'] = ProtoField.uint16("of10.flow_mod.length", "length", base.DEC, nil)
+fields['of10.flow_mod.xid'] = ProtoField.uint32("of10.flow_mod.xid", "xid", base.DEC, nil)
+fields['of10.flow_mod.match'] = ProtoField.bytes("of10.flow_mod.match", "match")
+fields['of10.flow_mod.cookie'] = ProtoField.uint64("of10.flow_mod.cookie", "cookie", base.DEC, nil)
+fields['of10.flow_mod._command'] = ProtoField.uint32("of10.flow_mod._command", "_command", base.DEC, enum_v1_ofp_flow_mod_command)
+fields['of10.flow_mod.idle_timeout'] = ProtoField.uint16("of10.flow_mod.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of10.flow_mod.hard_timeout'] = ProtoField.uint16("of10.flow_mod.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of10.flow_mod.priority'] = ProtoField.uint16("of10.flow_mod.priority", "priority", base.DEC, nil)
+fields['of10.flow_mod.buffer_id'] = ProtoField.uint32("of10.flow_mod.buffer_id", "buffer_id", base.DEC, nil)
+fields['of10.flow_mod.out_port'] = ProtoField.uint32("of10.flow_mod.out_port", "out_port", base.DEC, enum_v1_ofp_port)
+fields['of10.flow_mod.flags'] = ProtoField.uint32("of10.flow_mod.flags", "flags", base.HEX, enum_v1_ofp_flow_mod_flags)
+fields['of10.flow_mod.actions'] = ProtoField.bytes("of10.flow_mod.actions", "actions")
+fields['of10.flow_add.version'] = ProtoField.uint8("of10.flow_add.version", "version", base.DEC, nil)
+fields['of10.flow_add.type'] = ProtoField.uint32("of10.flow_add.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.flow_add.length'] = ProtoField.uint16("of10.flow_add.length", "length", base.DEC, nil)
+fields['of10.flow_add.xid'] = ProtoField.uint32("of10.flow_add.xid", "xid", base.DEC, nil)
+fields['of10.flow_add.match'] = ProtoField.bytes("of10.flow_add.match", "match")
+fields['of10.flow_add.cookie'] = ProtoField.uint64("of10.flow_add.cookie", "cookie", base.DEC, nil)
+fields['of10.flow_add._command'] = ProtoField.uint16("of10.flow_add._command", "_command", base.DEC, nil)
+fields['of10.flow_add.idle_timeout'] = ProtoField.uint16("of10.flow_add.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of10.flow_add.hard_timeout'] = ProtoField.uint16("of10.flow_add.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of10.flow_add.priority'] = ProtoField.uint16("of10.flow_add.priority", "priority", base.DEC, nil)
+fields['of10.flow_add.buffer_id'] = ProtoField.uint32("of10.flow_add.buffer_id", "buffer_id", base.DEC, nil)
+fields['of10.flow_add.out_port'] = ProtoField.uint32("of10.flow_add.out_port", "out_port", base.DEC, nil)
+fields['of10.flow_add.flags'] = ProtoField.uint32("of10.flow_add.flags", "flags", base.HEX, enum_v1_ofp_flow_mod_flags)
+fields['of10.flow_add.actions'] = ProtoField.bytes("of10.flow_add.actions", "actions")
+fields['of10.flow_delete.version'] = ProtoField.uint8("of10.flow_delete.version", "version", base.DEC, nil)
+fields['of10.flow_delete.type'] = ProtoField.uint32("of10.flow_delete.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.flow_delete.length'] = ProtoField.uint16("of10.flow_delete.length", "length", base.DEC, nil)
+fields['of10.flow_delete.xid'] = ProtoField.uint32("of10.flow_delete.xid", "xid", base.DEC, nil)
+fields['of10.flow_delete.match'] = ProtoField.bytes("of10.flow_delete.match", "match")
+fields['of10.flow_delete.cookie'] = ProtoField.uint64("of10.flow_delete.cookie", "cookie", base.DEC, nil)
+fields['of10.flow_delete._command'] = ProtoField.uint16("of10.flow_delete._command", "_command", base.DEC, nil)
+fields['of10.flow_delete.idle_timeout'] = ProtoField.uint16("of10.flow_delete.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of10.flow_delete.hard_timeout'] = ProtoField.uint16("of10.flow_delete.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of10.flow_delete.priority'] = ProtoField.uint16("of10.flow_delete.priority", "priority", base.DEC, nil)
+fields['of10.flow_delete.buffer_id'] = ProtoField.uint32("of10.flow_delete.buffer_id", "buffer_id", base.DEC, nil)
+fields['of10.flow_delete.out_port'] = ProtoField.uint32("of10.flow_delete.out_port", "out_port", base.DEC, nil)
+fields['of10.flow_delete.flags'] = ProtoField.uint32("of10.flow_delete.flags", "flags", base.HEX, enum_v1_ofp_flow_mod_flags)
+fields['of10.flow_delete.actions'] = ProtoField.bytes("of10.flow_delete.actions", "actions")
+fields['of10.flow_delete_strict.version'] = ProtoField.uint8("of10.flow_delete_strict.version", "version", base.DEC, nil)
+fields['of10.flow_delete_strict.type'] = ProtoField.uint8("of10.flow_delete_strict.type", "type", base.DEC, nil)
+fields['of10.flow_delete_strict.length'] = ProtoField.uint16("of10.flow_delete_strict.length", "length", base.DEC, nil)
+fields['of10.flow_delete_strict.xid'] = ProtoField.uint32("of10.flow_delete_strict.xid", "xid", base.DEC, nil)
+fields['of10.flow_delete_strict.match'] = ProtoField.bytes("of10.flow_delete_strict.match", "match")
+fields['of10.flow_delete_strict.cookie'] = ProtoField.uint64("of10.flow_delete_strict.cookie", "cookie", base.DEC, nil)
+fields['of10.flow_delete_strict._command'] = ProtoField.uint16("of10.flow_delete_strict._command", "_command", base.DEC, nil)
+fields['of10.flow_delete_strict.idle_timeout'] = ProtoField.uint16("of10.flow_delete_strict.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of10.flow_delete_strict.hard_timeout'] = ProtoField.uint16("of10.flow_delete_strict.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of10.flow_delete_strict.priority'] = ProtoField.uint16("of10.flow_delete_strict.priority", "priority", base.DEC, nil)
+fields['of10.flow_delete_strict.buffer_id'] = ProtoField.uint32("of10.flow_delete_strict.buffer_id", "buffer_id", base.DEC, nil)
+fields['of10.flow_delete_strict.out_port'] = ProtoField.uint32("of10.flow_delete_strict.out_port", "out_port", base.DEC, nil)
+fields['of10.flow_delete_strict.flags'] = ProtoField.uint32("of10.flow_delete_strict.flags", "flags", base.HEX, enum_v1_ofp_flow_mod_flags)
+fields['of10.flow_delete_strict.actions'] = ProtoField.bytes("of10.flow_delete_strict.actions", "actions")
+fields['of10.flow_mod_failed_error_msg.version'] = ProtoField.uint8("of10.flow_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of10.flow_mod_failed_error_msg.type'] = ProtoField.uint8("of10.flow_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of10.flow_mod_failed_error_msg.length'] = ProtoField.uint16("of10.flow_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of10.flow_mod_failed_error_msg.xid'] = ProtoField.uint32("of10.flow_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of10.flow_mod_failed_error_msg.err_type'] = ProtoField.uint16("of10.flow_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of10.flow_mod_failed_error_msg.code'] = ProtoField.uint32("of10.flow_mod_failed_error_msg.code", "code", base.DEC, enum_v1_ofp_flow_mod_failed_code)
+fields['of10.flow_mod_failed_error_msg.data'] = ProtoField.bytes("of10.flow_mod_failed_error_msg.data", "data")
+fields['of10.flow_modify.version'] = ProtoField.uint8("of10.flow_modify.version", "version", base.DEC, nil)
+fields['of10.flow_modify.type'] = ProtoField.uint8("of10.flow_modify.type", "type", base.DEC, nil)
+fields['of10.flow_modify.length'] = ProtoField.uint16("of10.flow_modify.length", "length", base.DEC, nil)
+fields['of10.flow_modify.xid'] = ProtoField.uint32("of10.flow_modify.xid", "xid", base.DEC, nil)
+fields['of10.flow_modify.match'] = ProtoField.bytes("of10.flow_modify.match", "match")
+fields['of10.flow_modify.cookie'] = ProtoField.uint64("of10.flow_modify.cookie", "cookie", base.DEC, nil)
+fields['of10.flow_modify._command'] = ProtoField.uint16("of10.flow_modify._command", "_command", base.DEC, nil)
+fields['of10.flow_modify.idle_timeout'] = ProtoField.uint16("of10.flow_modify.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of10.flow_modify.hard_timeout'] = ProtoField.uint16("of10.flow_modify.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of10.flow_modify.priority'] = ProtoField.uint16("of10.flow_modify.priority", "priority", base.DEC, nil)
+fields['of10.flow_modify.buffer_id'] = ProtoField.uint32("of10.flow_modify.buffer_id", "buffer_id", base.DEC, nil)
+fields['of10.flow_modify.out_port'] = ProtoField.uint32("of10.flow_modify.out_port", "out_port", base.DEC, nil)
+fields['of10.flow_modify.flags'] = ProtoField.uint32("of10.flow_modify.flags", "flags", base.HEX, enum_v1_ofp_flow_mod_flags)
+fields['of10.flow_modify.actions'] = ProtoField.bytes("of10.flow_modify.actions", "actions")
+fields['of10.flow_modify_strict.version'] = ProtoField.uint8("of10.flow_modify_strict.version", "version", base.DEC, nil)
+fields['of10.flow_modify_strict.type'] = ProtoField.uint8("of10.flow_modify_strict.type", "type", base.DEC, nil)
+fields['of10.flow_modify_strict.length'] = ProtoField.uint16("of10.flow_modify_strict.length", "length", base.DEC, nil)
+fields['of10.flow_modify_strict.xid'] = ProtoField.uint32("of10.flow_modify_strict.xid", "xid", base.DEC, nil)
+fields['of10.flow_modify_strict.match'] = ProtoField.bytes("of10.flow_modify_strict.match", "match")
+fields['of10.flow_modify_strict.cookie'] = ProtoField.uint64("of10.flow_modify_strict.cookie", "cookie", base.DEC, nil)
+fields['of10.flow_modify_strict._command'] = ProtoField.uint16("of10.flow_modify_strict._command", "_command", base.DEC, nil)
+fields['of10.flow_modify_strict.idle_timeout'] = ProtoField.uint16("of10.flow_modify_strict.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of10.flow_modify_strict.hard_timeout'] = ProtoField.uint16("of10.flow_modify_strict.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of10.flow_modify_strict.priority'] = ProtoField.uint16("of10.flow_modify_strict.priority", "priority", base.DEC, nil)
+fields['of10.flow_modify_strict.buffer_id'] = ProtoField.uint32("of10.flow_modify_strict.buffer_id", "buffer_id", base.DEC, nil)
+fields['of10.flow_modify_strict.out_port'] = ProtoField.uint32("of10.flow_modify_strict.out_port", "out_port", base.DEC, nil)
+fields['of10.flow_modify_strict.flags'] = ProtoField.uint32("of10.flow_modify_strict.flags", "flags", base.HEX, enum_v1_ofp_flow_mod_flags)
+fields['of10.flow_modify_strict.actions'] = ProtoField.bytes("of10.flow_modify_strict.actions", "actions")
+fields['of10.flow_removed.version'] = ProtoField.uint8("of10.flow_removed.version", "version", base.DEC, nil)
+fields['of10.flow_removed.type'] = ProtoField.uint8("of10.flow_removed.type", "type", base.DEC, nil)
+fields['of10.flow_removed.length'] = ProtoField.uint16("of10.flow_removed.length", "length", base.DEC, nil)
+fields['of10.flow_removed.xid'] = ProtoField.uint32("of10.flow_removed.xid", "xid", base.DEC, nil)
+fields['of10.flow_removed.match'] = ProtoField.bytes("of10.flow_removed.match", "match")
+fields['of10.flow_removed.cookie'] = ProtoField.uint64("of10.flow_removed.cookie", "cookie", base.DEC, nil)
+fields['of10.flow_removed.priority'] = ProtoField.uint16("of10.flow_removed.priority", "priority", base.DEC, nil)
+fields['of10.flow_removed.reason'] = ProtoField.uint8("of10.flow_removed.reason", "reason", base.DEC, nil)
+fields['of10.flow_removed.duration_sec'] = ProtoField.uint32("of10.flow_removed.duration_sec", "duration_sec", base.DEC, nil)
+fields['of10.flow_removed.duration_nsec'] = ProtoField.uint32("of10.flow_removed.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of10.flow_removed.idle_timeout'] = ProtoField.uint16("of10.flow_removed.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of10.flow_removed.packet_count'] = ProtoField.uint64("of10.flow_removed.packet_count", "packet_count", base.DEC, nil)
+fields['of10.flow_removed.byte_count'] = ProtoField.uint64("of10.flow_removed.byte_count", "byte_count", base.DEC, nil)
+fields['of10.flow_stats_entry.length'] = ProtoField.uint16("of10.flow_stats_entry.length", "length", base.DEC, nil)
+fields['of10.flow_stats_entry.table_id'] = ProtoField.uint8("of10.flow_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of10.flow_stats_entry.match'] = ProtoField.bytes("of10.flow_stats_entry.match", "match")
+fields['of10.flow_stats_entry.duration_sec'] = ProtoField.uint32("of10.flow_stats_entry.duration_sec", "duration_sec", base.DEC, nil)
+fields['of10.flow_stats_entry.duration_nsec'] = ProtoField.uint32("of10.flow_stats_entry.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of10.flow_stats_entry.priority'] = ProtoField.uint16("of10.flow_stats_entry.priority", "priority", base.DEC, nil)
+fields['of10.flow_stats_entry.idle_timeout'] = ProtoField.uint16("of10.flow_stats_entry.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of10.flow_stats_entry.hard_timeout'] = ProtoField.uint16("of10.flow_stats_entry.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of10.flow_stats_entry.cookie'] = ProtoField.uint64("of10.flow_stats_entry.cookie", "cookie", base.DEC, nil)
+fields['of10.flow_stats_entry.packet_count'] = ProtoField.uint64("of10.flow_stats_entry.packet_count", "packet_count", base.DEC, nil)
+fields['of10.flow_stats_entry.byte_count'] = ProtoField.uint64("of10.flow_stats_entry.byte_count", "byte_count", base.DEC, nil)
+fields['of10.flow_stats_entry.actions'] = ProtoField.bytes("of10.flow_stats_entry.actions", "actions")
+fields['of10.flow_stats_reply.version'] = ProtoField.uint8("of10.flow_stats_reply.version", "version", base.DEC, nil)
+fields['of10.flow_stats_reply.type'] = ProtoField.uint32("of10.flow_stats_reply.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.flow_stats_reply.length'] = ProtoField.uint16("of10.flow_stats_reply.length", "length", base.DEC, nil)
+fields['of10.flow_stats_reply.xid'] = ProtoField.uint32("of10.flow_stats_reply.xid", "xid", base.DEC, nil)
+fields['of10.flow_stats_reply.stats_type'] = ProtoField.uint32("of10.flow_stats_reply.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.flow_stats_reply.flags'] = ProtoField.uint32("of10.flow_stats_reply.flags", "flags", base.HEX, enum_v1_ofp_stats_reply_flags)
+fields['of10.flow_stats_reply.entries'] = ProtoField.bytes("of10.flow_stats_reply.entries", "entries")
+fields['of10.flow_stats_request.version'] = ProtoField.uint8("of10.flow_stats_request.version", "version", base.DEC, nil)
+fields['of10.flow_stats_request.type'] = ProtoField.uint32("of10.flow_stats_request.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.flow_stats_request.length'] = ProtoField.uint16("of10.flow_stats_request.length", "length", base.DEC, nil)
+fields['of10.flow_stats_request.xid'] = ProtoField.uint32("of10.flow_stats_request.xid", "xid", base.DEC, nil)
+fields['of10.flow_stats_request.stats_type'] = ProtoField.uint32("of10.flow_stats_request.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.flow_stats_request.flags'] = ProtoField.uint32("of10.flow_stats_request.flags", "flags", base.HEX, enum_v1_ofp_stats_request_flags)
+fields['of10.flow_stats_request.match'] = ProtoField.bytes("of10.flow_stats_request.match", "match")
+fields['of10.flow_stats_request.table_id'] = ProtoField.uint8("of10.flow_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of10.flow_stats_request.out_port'] = ProtoField.uint32("of10.flow_stats_request.out_port", "out_port", base.DEC, nil)
+fields['of10.get_config_reply.version'] = ProtoField.uint8("of10.get_config_reply.version", "version", base.DEC, nil)
+fields['of10.get_config_reply.type'] = ProtoField.uint8("of10.get_config_reply.type", "type", base.DEC, nil)
+fields['of10.get_config_reply.length'] = ProtoField.uint16("of10.get_config_reply.length", "length", base.DEC, nil)
+fields['of10.get_config_reply.xid'] = ProtoField.uint32("of10.get_config_reply.xid", "xid", base.DEC, nil)
+fields['of10.get_config_reply.flags'] = ProtoField.uint32("of10.get_config_reply.flags", "flags", base.HEX, enum_v1_ofp_config_flags)
+fields['of10.get_config_reply.miss_send_len'] = ProtoField.uint16("of10.get_config_reply.miss_send_len", "miss_send_len", base.DEC, nil)
+fields['of10.get_config_request.version'] = ProtoField.uint8("of10.get_config_request.version", "version", base.DEC, nil)
+fields['of10.get_config_request.type'] = ProtoField.uint8("of10.get_config_request.type", "type", base.DEC, nil)
+fields['of10.get_config_request.length'] = ProtoField.uint16("of10.get_config_request.length", "length", base.DEC, nil)
+fields['of10.get_config_request.xid'] = ProtoField.uint32("of10.get_config_request.xid", "xid", base.DEC, nil)
+fields['of10.hello.version'] = ProtoField.uint8("of10.hello.version", "version", base.DEC, nil)
+fields['of10.hello.type'] = ProtoField.uint32("of10.hello.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.hello.length'] = ProtoField.uint16("of10.hello.length", "length", base.DEC, nil)
+fields['of10.hello.xid'] = ProtoField.uint32("of10.hello.xid", "xid", base.DEC, nil)
+fields['of10.hello_failed_error_msg.version'] = ProtoField.uint8("of10.hello_failed_error_msg.version", "version", base.DEC, nil)
+fields['of10.hello_failed_error_msg.type'] = ProtoField.uint8("of10.hello_failed_error_msg.type", "type", base.DEC, nil)
+fields['of10.hello_failed_error_msg.length'] = ProtoField.uint16("of10.hello_failed_error_msg.length", "length", base.DEC, nil)
+fields['of10.hello_failed_error_msg.xid'] = ProtoField.uint32("of10.hello_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of10.hello_failed_error_msg.err_type'] = ProtoField.uint16("of10.hello_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of10.hello_failed_error_msg.code'] = ProtoField.uint32("of10.hello_failed_error_msg.code", "code", base.DEC, enum_v1_ofp_hello_failed_code)
+fields['of10.hello_failed_error_msg.data'] = ProtoField.bytes("of10.hello_failed_error_msg.data", "data")
+fields['of10.match_v1.wildcards'] = ProtoField.uint64("of10.match_v1.wildcards", "wildcards", base.HEX, nil)
+fields['of10.match_v1.in_port'] = ProtoField.uint32("of10.match_v1.in_port", "in_port", base.DEC, nil)
+fields['of10.match_v1.eth_src'] = ProtoField.ether("of10.match_v1.eth_src", "eth_src")
+fields['of10.match_v1.eth_dst'] = ProtoField.ether("of10.match_v1.eth_dst", "eth_dst")
+fields['of10.match_v1.vlan_vid'] = ProtoField.uint16("of10.match_v1.vlan_vid", "vlan_vid", base.DEC, nil)
+fields['of10.match_v1.vlan_pcp'] = ProtoField.uint8("of10.match_v1.vlan_pcp", "vlan_pcp", base.DEC, nil)
+fields['of10.match_v1.eth_type'] = ProtoField.uint16("of10.match_v1.eth_type", "eth_type", base.DEC, nil)
+fields['of10.match_v1.ip_dscp'] = ProtoField.uint8("of10.match_v1.ip_dscp", "ip_dscp", base.DEC, nil)
+fields['of10.match_v1.ip_proto'] = ProtoField.uint8("of10.match_v1.ip_proto", "ip_proto", base.DEC, nil)
+fields['of10.match_v1.ipv4_src'] = ProtoField.ipv4("of10.match_v1.ipv4_src", "ipv4_src")
+fields['of10.match_v1.ipv4_dst'] = ProtoField.ipv4("of10.match_v1.ipv4_dst", "ipv4_dst")
+fields['of10.match_v1.tcp_src'] = ProtoField.uint16("of10.match_v1.tcp_src", "tcp_src", base.DEC, nil)
+fields['of10.match_v1.tcp_dst'] = ProtoField.uint16("of10.match_v1.tcp_dst", "tcp_dst", base.DEC, nil)
+fields['of10.nicira_header.version'] = ProtoField.uint8("of10.nicira_header.version", "version", base.DEC, nil)
+fields['of10.nicira_header.type'] = ProtoField.uint8("of10.nicira_header.type", "type", base.DEC, nil)
+fields['of10.nicira_header.length'] = ProtoField.uint16("of10.nicira_header.length", "length", base.DEC, nil)
+fields['of10.nicira_header.xid'] = ProtoField.uint32("of10.nicira_header.xid", "xid", base.DEC, nil)
+fields['of10.nicira_header.experimenter'] = ProtoField.uint32("of10.nicira_header.experimenter", "experimenter", base.DEC, nil)
+fields['of10.nicira_header.subtype'] = ProtoField.uint32("of10.nicira_header.subtype", "subtype", base.DEC, nil)
+fields['of10.nicira_controller_role_reply.version'] = ProtoField.uint8("of10.nicira_controller_role_reply.version", "version", base.DEC, nil)
+fields['of10.nicira_controller_role_reply.type'] = ProtoField.uint8("of10.nicira_controller_role_reply.type", "type", base.DEC, nil)
+fields['of10.nicira_controller_role_reply.length'] = ProtoField.uint16("of10.nicira_controller_role_reply.length", "length", base.DEC, nil)
+fields['of10.nicira_controller_role_reply.xid'] = ProtoField.uint32("of10.nicira_controller_role_reply.xid", "xid", base.DEC, nil)
+fields['of10.nicira_controller_role_reply.experimenter'] = ProtoField.uint32("of10.nicira_controller_role_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of10.nicira_controller_role_reply.subtype'] = ProtoField.uint32("of10.nicira_controller_role_reply.subtype", "subtype", base.DEC, nil)
+fields['of10.nicira_controller_role_reply.role'] = ProtoField.uint32("of10.nicira_controller_role_reply.role", "role", base.DEC, enum_v1_ofp_nicira_controller_role)
+fields['of10.nicira_controller_role_request.version'] = ProtoField.uint8("of10.nicira_controller_role_request.version", "version", base.DEC, nil)
+fields['of10.nicira_controller_role_request.type'] = ProtoField.uint8("of10.nicira_controller_role_request.type", "type", base.DEC, nil)
+fields['of10.nicira_controller_role_request.length'] = ProtoField.uint16("of10.nicira_controller_role_request.length", "length", base.DEC, nil)
+fields['of10.nicira_controller_role_request.xid'] = ProtoField.uint32("of10.nicira_controller_role_request.xid", "xid", base.DEC, nil)
+fields['of10.nicira_controller_role_request.experimenter'] = ProtoField.uint32("of10.nicira_controller_role_request.experimenter", "experimenter", base.DEC, nil)
+fields['of10.nicira_controller_role_request.subtype'] = ProtoField.uint32("of10.nicira_controller_role_request.subtype", "subtype", base.DEC, nil)
+fields['of10.nicira_controller_role_request.role'] = ProtoField.uint32("of10.nicira_controller_role_request.role", "role", base.DEC, enum_v1_ofp_nicira_controller_role)
+fields['of10.packet_in.version'] = ProtoField.uint8("of10.packet_in.version", "version", base.DEC, nil)
+fields['of10.packet_in.type'] = ProtoField.uint32("of10.packet_in.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.packet_in.length'] = ProtoField.uint16("of10.packet_in.length", "length", base.DEC, nil)
+fields['of10.packet_in.xid'] = ProtoField.uint32("of10.packet_in.xid", "xid", base.DEC, nil)
+fields['of10.packet_in.buffer_id'] = ProtoField.uint32("of10.packet_in.buffer_id", "buffer_id", base.DEC, nil)
+fields['of10.packet_in.total_len'] = ProtoField.uint16("of10.packet_in.total_len", "total_len", base.DEC, nil)
+fields['of10.packet_in.in_port'] = ProtoField.uint32("of10.packet_in.in_port", "in_port", base.DEC, nil)
+fields['of10.packet_in.reason'] = ProtoField.uint32("of10.packet_in.reason", "reason", base.DEC, enum_v1_ofp_packet_in_reason)
+fields['of10.packet_in.data'] = ProtoField.bytes("of10.packet_in.data", "data")
+fields['of10.packet_out.version'] = ProtoField.uint8("of10.packet_out.version", "version", base.DEC, nil)
+fields['of10.packet_out.type'] = ProtoField.uint32("of10.packet_out.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.packet_out.length'] = ProtoField.uint16("of10.packet_out.length", "length", base.DEC, nil)
+fields['of10.packet_out.xid'] = ProtoField.uint32("of10.packet_out.xid", "xid", base.DEC, nil)
+fields['of10.packet_out.buffer_id'] = ProtoField.uint32("of10.packet_out.buffer_id", "buffer_id", base.DEC, nil)
+fields['of10.packet_out.in_port'] = ProtoField.uint32("of10.packet_out.in_port", "in_port", base.DEC, nil)
+fields['of10.packet_out.actions_len'] = ProtoField.uint16("of10.packet_out.actions_len", "actions_len", base.DEC, nil)
+fields['of10.packet_out.actions'] = ProtoField.bytes("of10.packet_out.actions", "actions")
+fields['of10.packet_out.data'] = ProtoField.bytes("of10.packet_out.data", "data")
+fields['of10.packet_queue.queue_id'] = ProtoField.uint32("of10.packet_queue.queue_id", "queue_id", base.DEC, nil)
+fields['of10.packet_queue.len'] = ProtoField.uint16("of10.packet_queue.len", "len", base.DEC, nil)
+fields['of10.packet_queue.properties'] = ProtoField.bytes("of10.packet_queue.properties", "properties")
+fields['of10.port_desc.port_no'] = ProtoField.uint32("of10.port_desc.port_no", "port_no", base.DEC, nil)
+fields['of10.port_desc.hw_addr'] = ProtoField.ether("of10.port_desc.hw_addr", "hw_addr")
+fields['of10.port_desc.name'] = ProtoField.stringz("of10.port_desc.name", "name")
+fields['of10.port_desc.config'] = ProtoField.uint32("of10.port_desc.config", "config", base.HEX, enum_v1_ofp_port_config)
+fields['of10.port_desc.state'] = ProtoField.uint32("of10.port_desc.state", "state", base.HEX, enum_v1_ofp_port_state)
+fields['of10.port_desc.curr'] = ProtoField.uint32("of10.port_desc.curr", "curr", base.HEX, enum_v1_ofp_port_features)
+fields['of10.port_desc.advertised'] = ProtoField.uint32("of10.port_desc.advertised", "advertised", base.HEX, enum_v1_ofp_port_features)
+fields['of10.port_desc.supported'] = ProtoField.uint32("of10.port_desc.supported", "supported", base.HEX, enum_v1_ofp_port_features)
+fields['of10.port_desc.peer'] = ProtoField.uint32("of10.port_desc.peer", "peer", base.HEX, enum_v1_ofp_port_features)
+fields['of10.port_mod.version'] = ProtoField.uint8("of10.port_mod.version", "version", base.DEC, nil)
+fields['of10.port_mod.type'] = ProtoField.uint32("of10.port_mod.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.port_mod.length'] = ProtoField.uint16("of10.port_mod.length", "length", base.DEC, nil)
+fields['of10.port_mod.xid'] = ProtoField.uint32("of10.port_mod.xid", "xid", base.DEC, nil)
+fields['of10.port_mod.port_no'] = ProtoField.uint32("of10.port_mod.port_no", "port_no", base.DEC, nil)
+fields['of10.port_mod.hw_addr'] = ProtoField.ether("of10.port_mod.hw_addr", "hw_addr")
+fields['of10.port_mod.config'] = ProtoField.uint32("of10.port_mod.config", "config", base.DEC, nil)
+fields['of10.port_mod.mask'] = ProtoField.uint32("of10.port_mod.mask", "mask", base.DEC, nil)
+fields['of10.port_mod.advertise'] = ProtoField.uint32("of10.port_mod.advertise", "advertise", base.DEC, nil)
+fields['of10.port_mod_failed_error_msg.version'] = ProtoField.uint8("of10.port_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of10.port_mod_failed_error_msg.type'] = ProtoField.uint8("of10.port_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of10.port_mod_failed_error_msg.length'] = ProtoField.uint16("of10.port_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of10.port_mod_failed_error_msg.xid'] = ProtoField.uint32("of10.port_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of10.port_mod_failed_error_msg.err_type'] = ProtoField.uint16("of10.port_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of10.port_mod_failed_error_msg.code'] = ProtoField.uint32("of10.port_mod_failed_error_msg.code", "code", base.DEC, enum_v1_ofp_port_mod_failed_code)
+fields['of10.port_mod_failed_error_msg.data'] = ProtoField.bytes("of10.port_mod_failed_error_msg.data", "data")
+fields['of10.port_stats_entry.port_no'] = ProtoField.uint32("of10.port_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of10.port_stats_entry.rx_packets'] = ProtoField.uint64("of10.port_stats_entry.rx_packets", "rx_packets", base.DEC, nil)
+fields['of10.port_stats_entry.tx_packets'] = ProtoField.uint64("of10.port_stats_entry.tx_packets", "tx_packets", base.DEC, nil)
+fields['of10.port_stats_entry.rx_bytes'] = ProtoField.uint64("of10.port_stats_entry.rx_bytes", "rx_bytes", base.DEC, nil)
+fields['of10.port_stats_entry.tx_bytes'] = ProtoField.uint64("of10.port_stats_entry.tx_bytes", "tx_bytes", base.DEC, nil)
+fields['of10.port_stats_entry.rx_dropped'] = ProtoField.uint64("of10.port_stats_entry.rx_dropped", "rx_dropped", base.DEC, nil)
+fields['of10.port_stats_entry.tx_dropped'] = ProtoField.uint64("of10.port_stats_entry.tx_dropped", "tx_dropped", base.DEC, nil)
+fields['of10.port_stats_entry.rx_errors'] = ProtoField.uint64("of10.port_stats_entry.rx_errors", "rx_errors", base.DEC, nil)
+fields['of10.port_stats_entry.tx_errors'] = ProtoField.uint64("of10.port_stats_entry.tx_errors", "tx_errors", base.DEC, nil)
+fields['of10.port_stats_entry.rx_frame_err'] = ProtoField.uint64("of10.port_stats_entry.rx_frame_err", "rx_frame_err", base.DEC, nil)
+fields['of10.port_stats_entry.rx_over_err'] = ProtoField.uint64("of10.port_stats_entry.rx_over_err", "rx_over_err", base.DEC, nil)
+fields['of10.port_stats_entry.rx_crc_err'] = ProtoField.uint64("of10.port_stats_entry.rx_crc_err", "rx_crc_err", base.DEC, nil)
+fields['of10.port_stats_entry.collisions'] = ProtoField.uint64("of10.port_stats_entry.collisions", "collisions", base.DEC, nil)
+fields['of10.port_stats_reply.version'] = ProtoField.uint8("of10.port_stats_reply.version", "version", base.DEC, nil)
+fields['of10.port_stats_reply.type'] = ProtoField.uint32("of10.port_stats_reply.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.port_stats_reply.length'] = ProtoField.uint16("of10.port_stats_reply.length", "length", base.DEC, nil)
+fields['of10.port_stats_reply.xid'] = ProtoField.uint32("of10.port_stats_reply.xid", "xid", base.DEC, nil)
+fields['of10.port_stats_reply.stats_type'] = ProtoField.uint32("of10.port_stats_reply.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.port_stats_reply.flags'] = ProtoField.uint32("of10.port_stats_reply.flags", "flags", base.HEX, enum_v1_ofp_stats_reply_flags)
+fields['of10.port_stats_reply.entries'] = ProtoField.bytes("of10.port_stats_reply.entries", "entries")
+fields['of10.port_stats_request.version'] = ProtoField.uint8("of10.port_stats_request.version", "version", base.DEC, nil)
+fields['of10.port_stats_request.type'] = ProtoField.uint32("of10.port_stats_request.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.port_stats_request.length'] = ProtoField.uint16("of10.port_stats_request.length", "length", base.DEC, nil)
+fields['of10.port_stats_request.xid'] = ProtoField.uint32("of10.port_stats_request.xid", "xid", base.DEC, nil)
+fields['of10.port_stats_request.stats_type'] = ProtoField.uint32("of10.port_stats_request.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.port_stats_request.flags'] = ProtoField.uint32("of10.port_stats_request.flags", "flags", base.HEX, enum_v1_ofp_stats_request_flags)
+fields['of10.port_stats_request.port_no'] = ProtoField.uint32("of10.port_stats_request.port_no", "port_no", base.DEC, nil)
+fields['of10.port_status.version'] = ProtoField.uint8("of10.port_status.version", "version", base.DEC, nil)
+fields['of10.port_status.type'] = ProtoField.uint32("of10.port_status.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.port_status.length'] = ProtoField.uint16("of10.port_status.length", "length", base.DEC, nil)
+fields['of10.port_status.xid'] = ProtoField.uint32("of10.port_status.xid", "xid", base.DEC, nil)
+fields['of10.port_status.reason'] = ProtoField.uint32("of10.port_status.reason", "reason", base.DEC, enum_v1_ofp_port_reason)
+fields['of10.port_status.desc'] = ProtoField.stringz("of10.port_status.desc", "desc")
+fields['of10.queue_get_config_reply.version'] = ProtoField.uint8("of10.queue_get_config_reply.version", "version", base.DEC, nil)
+fields['of10.queue_get_config_reply.type'] = ProtoField.uint8("of10.queue_get_config_reply.type", "type", base.DEC, nil)
+fields['of10.queue_get_config_reply.length'] = ProtoField.uint16("of10.queue_get_config_reply.length", "length", base.DEC, nil)
+fields['of10.queue_get_config_reply.xid'] = ProtoField.uint32("of10.queue_get_config_reply.xid", "xid", base.DEC, nil)
+fields['of10.queue_get_config_reply.port'] = ProtoField.uint32("of10.queue_get_config_reply.port", "port", base.DEC, nil)
+fields['of10.queue_get_config_reply.queues'] = ProtoField.bytes("of10.queue_get_config_reply.queues", "queues")
+fields['of10.queue_get_config_request.version'] = ProtoField.uint8("of10.queue_get_config_request.version", "version", base.DEC, nil)
+fields['of10.queue_get_config_request.type'] = ProtoField.uint8("of10.queue_get_config_request.type", "type", base.DEC, nil)
+fields['of10.queue_get_config_request.length'] = ProtoField.uint16("of10.queue_get_config_request.length", "length", base.DEC, nil)
+fields['of10.queue_get_config_request.xid'] = ProtoField.uint32("of10.queue_get_config_request.xid", "xid", base.DEC, nil)
+fields['of10.queue_get_config_request.port'] = ProtoField.uint32("of10.queue_get_config_request.port", "port", base.DEC, nil)
+fields['of10.queue_op_failed_error_msg.version'] = ProtoField.uint8("of10.queue_op_failed_error_msg.version", "version", base.DEC, nil)
+fields['of10.queue_op_failed_error_msg.type'] = ProtoField.uint8("of10.queue_op_failed_error_msg.type", "type", base.DEC, nil)
+fields['of10.queue_op_failed_error_msg.length'] = ProtoField.uint16("of10.queue_op_failed_error_msg.length", "length", base.DEC, nil)
+fields['of10.queue_op_failed_error_msg.xid'] = ProtoField.uint32("of10.queue_op_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of10.queue_op_failed_error_msg.err_type'] = ProtoField.uint16("of10.queue_op_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of10.queue_op_failed_error_msg.code'] = ProtoField.uint32("of10.queue_op_failed_error_msg.code", "code", base.DEC, enum_v1_ofp_queue_op_failed_code)
+fields['of10.queue_op_failed_error_msg.data'] = ProtoField.bytes("of10.queue_op_failed_error_msg.data", "data")
+fields['of10.queue_prop.type'] = ProtoField.uint16("of10.queue_prop.type", "type", base.DEC, nil)
+fields['of10.queue_prop.len'] = ProtoField.uint16("of10.queue_prop.len", "len", base.DEC, nil)
+fields['of10.queue_prop_min_rate.type'] = ProtoField.uint16("of10.queue_prop_min_rate.type", "type", base.DEC, nil)
+fields['of10.queue_prop_min_rate.len'] = ProtoField.uint16("of10.queue_prop_min_rate.len", "len", base.DEC, nil)
+fields['of10.queue_prop_min_rate.rate'] = ProtoField.uint16("of10.queue_prop_min_rate.rate", "rate", base.DEC, nil)
+fields['of10.queue_stats_entry.port_no'] = ProtoField.uint32("of10.queue_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of10.queue_stats_entry.queue_id'] = ProtoField.uint32("of10.queue_stats_entry.queue_id", "queue_id", base.DEC, nil)
+fields['of10.queue_stats_entry.tx_bytes'] = ProtoField.uint64("of10.queue_stats_entry.tx_bytes", "tx_bytes", base.DEC, nil)
+fields['of10.queue_stats_entry.tx_packets'] = ProtoField.uint64("of10.queue_stats_entry.tx_packets", "tx_packets", base.DEC, nil)
+fields['of10.queue_stats_entry.tx_errors'] = ProtoField.uint64("of10.queue_stats_entry.tx_errors", "tx_errors", base.DEC, nil)
+fields['of10.queue_stats_reply.version'] = ProtoField.uint8("of10.queue_stats_reply.version", "version", base.DEC, nil)
+fields['of10.queue_stats_reply.type'] = ProtoField.uint32("of10.queue_stats_reply.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.queue_stats_reply.length'] = ProtoField.uint16("of10.queue_stats_reply.length", "length", base.DEC, nil)
+fields['of10.queue_stats_reply.xid'] = ProtoField.uint32("of10.queue_stats_reply.xid", "xid", base.DEC, nil)
+fields['of10.queue_stats_reply.stats_type'] = ProtoField.uint32("of10.queue_stats_reply.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.queue_stats_reply.flags'] = ProtoField.uint32("of10.queue_stats_reply.flags", "flags", base.HEX, enum_v1_ofp_stats_reply_flags)
+fields['of10.queue_stats_reply.entries'] = ProtoField.bytes("of10.queue_stats_reply.entries", "entries")
+fields['of10.queue_stats_request.version'] = ProtoField.uint8("of10.queue_stats_request.version", "version", base.DEC, nil)
+fields['of10.queue_stats_request.type'] = ProtoField.uint32("of10.queue_stats_request.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.queue_stats_request.length'] = ProtoField.uint16("of10.queue_stats_request.length", "length", base.DEC, nil)
+fields['of10.queue_stats_request.xid'] = ProtoField.uint32("of10.queue_stats_request.xid", "xid", base.DEC, nil)
+fields['of10.queue_stats_request.stats_type'] = ProtoField.uint32("of10.queue_stats_request.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.queue_stats_request.flags'] = ProtoField.uint32("of10.queue_stats_request.flags", "flags", base.HEX, enum_v1_ofp_stats_request_flags)
+fields['of10.queue_stats_request.port_no'] = ProtoField.uint32("of10.queue_stats_request.port_no", "port_no", base.DEC, nil)
+fields['of10.queue_stats_request.queue_id'] = ProtoField.uint32("of10.queue_stats_request.queue_id", "queue_id", base.DEC, nil)
+fields['of10.set_config.version'] = ProtoField.uint8("of10.set_config.version", "version", base.DEC, nil)
+fields['of10.set_config.type'] = ProtoField.uint8("of10.set_config.type", "type", base.DEC, nil)
+fields['of10.set_config.length'] = ProtoField.uint16("of10.set_config.length", "length", base.DEC, nil)
+fields['of10.set_config.xid'] = ProtoField.uint32("of10.set_config.xid", "xid", base.DEC, nil)
+fields['of10.set_config.flags'] = ProtoField.uint32("of10.set_config.flags", "flags", base.HEX, enum_v1_ofp_config_flags)
+fields['of10.set_config.miss_send_len'] = ProtoField.uint16("of10.set_config.miss_send_len", "miss_send_len", base.DEC, nil)
+fields['of10.table_mod.version'] = ProtoField.uint8("of10.table_mod.version", "version", base.DEC, nil)
+fields['of10.table_mod.type'] = ProtoField.uint8("of10.table_mod.type", "type", base.DEC, nil)
+fields['of10.table_mod.length'] = ProtoField.uint16("of10.table_mod.length", "length", base.DEC, nil)
+fields['of10.table_mod.xid'] = ProtoField.uint32("of10.table_mod.xid", "xid", base.DEC, nil)
+fields['of10.table_mod.table_id'] = ProtoField.uint8("of10.table_mod.table_id", "table_id", base.DEC, nil)
+fields['of10.table_mod.config'] = ProtoField.uint32("of10.table_mod.config", "config", base.DEC, nil)
+fields['of10.table_stats_entry.table_id'] = ProtoField.uint8("of10.table_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of10.table_stats_entry.name'] = ProtoField.stringz("of10.table_stats_entry.name", "name")
+fields['of10.table_stats_entry.wildcards'] = ProtoField.uint64("of10.table_stats_entry.wildcards", "wildcards", base.HEX, nil)
+fields['of10.table_stats_entry.max_entries'] = ProtoField.uint32("of10.table_stats_entry.max_entries", "max_entries", base.DEC, nil)
+fields['of10.table_stats_entry.active_count'] = ProtoField.uint32("of10.table_stats_entry.active_count", "active_count", base.DEC, nil)
+fields['of10.table_stats_entry.lookup_count'] = ProtoField.uint64("of10.table_stats_entry.lookup_count", "lookup_count", base.DEC, nil)
+fields['of10.table_stats_entry.matched_count'] = ProtoField.uint64("of10.table_stats_entry.matched_count", "matched_count", base.DEC, nil)
+fields['of10.table_stats_reply.version'] = ProtoField.uint8("of10.table_stats_reply.version", "version", base.DEC, nil)
+fields['of10.table_stats_reply.type'] = ProtoField.uint32("of10.table_stats_reply.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.table_stats_reply.length'] = ProtoField.uint16("of10.table_stats_reply.length", "length", base.DEC, nil)
+fields['of10.table_stats_reply.xid'] = ProtoField.uint32("of10.table_stats_reply.xid", "xid", base.DEC, nil)
+fields['of10.table_stats_reply.stats_type'] = ProtoField.uint32("of10.table_stats_reply.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.table_stats_reply.flags'] = ProtoField.uint32("of10.table_stats_reply.flags", "flags", base.HEX, enum_v1_ofp_stats_reply_flags)
+fields['of10.table_stats_reply.entries'] = ProtoField.bytes("of10.table_stats_reply.entries", "entries")
+fields['of10.table_stats_request.version'] = ProtoField.uint8("of10.table_stats_request.version", "version", base.DEC, nil)
+fields['of10.table_stats_request.type'] = ProtoField.uint32("of10.table_stats_request.type", "type", base.DEC, enum_v1_ofp_type)
+fields['of10.table_stats_request.length'] = ProtoField.uint16("of10.table_stats_request.length", "length", base.DEC, nil)
+fields['of10.table_stats_request.xid'] = ProtoField.uint32("of10.table_stats_request.xid", "xid", base.DEC, nil)
+fields['of10.table_stats_request.stats_type'] = ProtoField.uint32("of10.table_stats_request.stats_type", "stats_type", base.DEC, enum_v1_ofp_stats_type)
+fields['of10.table_stats_request.flags'] = ProtoField.uint32("of10.table_stats_request.flags", "flags", base.HEX, enum_v1_ofp_stats_request_flags)
+fields['of11.action.type'] = ProtoField.uint16("of11.action.type", "type", base.DEC, nil)
+fields['of11.action.len'] = ProtoField.uint16("of11.action.len", "len", base.DEC, nil)
+fields['of11.action_experimenter.type'] = ProtoField.uint16("of11.action_experimenter.type", "type", base.DEC, nil)
+fields['of11.action_experimenter.len'] = ProtoField.uint16("of11.action_experimenter.len", "len", base.DEC, nil)
+fields['of11.action_experimenter.experimenter'] = ProtoField.uint32("of11.action_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of11.action_experimenter.data'] = ProtoField.bytes("of11.action_experimenter.data", "data")
+fields['of11.action_bsn.type'] = ProtoField.uint16("of11.action_bsn.type", "type", base.DEC, nil)
+fields['of11.action_bsn.len'] = ProtoField.uint16("of11.action_bsn.len", "len", base.DEC, nil)
+fields['of11.action_bsn.experimenter'] = ProtoField.uint32("of11.action_bsn.experimenter", "experimenter", base.DEC, nil)
+fields['of11.action_bsn.subtype'] = ProtoField.uint32("of11.action_bsn.subtype", "subtype", base.DEC, nil)
+fields['of11.action_bsn_checksum.type'] = ProtoField.uint16("of11.action_bsn_checksum.type", "type", base.DEC, nil)
+fields['of11.action_bsn_checksum.len'] = ProtoField.uint16("of11.action_bsn_checksum.len", "len", base.DEC, nil)
+fields['of11.action_bsn_checksum.experimenter'] = ProtoField.uint32("of11.action_bsn_checksum.experimenter", "experimenter", base.DEC, nil)
+fields['of11.action_bsn_checksum.subtype'] = ProtoField.uint32("of11.action_bsn_checksum.subtype", "subtype", base.DEC, nil)
+fields['of11.action_bsn_checksum.checksum'] = ProtoField.bytes("of11.action_bsn_checksum.checksum", "checksum")
+fields['of11.action_bsn_mirror.type'] = ProtoField.uint16("of11.action_bsn_mirror.type", "type", base.DEC, nil)
+fields['of11.action_bsn_mirror.len'] = ProtoField.uint16("of11.action_bsn_mirror.len", "len", base.DEC, nil)
+fields['of11.action_bsn_mirror.experimenter'] = ProtoField.uint32("of11.action_bsn_mirror.experimenter", "experimenter", base.DEC, nil)
+fields['of11.action_bsn_mirror.subtype'] = ProtoField.uint32("of11.action_bsn_mirror.subtype", "subtype", base.DEC, nil)
+fields['of11.action_bsn_mirror.dest_port'] = ProtoField.uint32("of11.action_bsn_mirror.dest_port", "dest_port", base.DEC, nil)
+fields['of11.action_bsn_mirror.vlan_tag'] = ProtoField.uint32("of11.action_bsn_mirror.vlan_tag", "vlan_tag", base.DEC, nil)
+fields['of11.action_bsn_mirror.copy_stage'] = ProtoField.uint8("of11.action_bsn_mirror.copy_stage", "copy_stage", base.DEC, nil)
+fields['of11.action_bsn_set_tunnel_dst.type'] = ProtoField.uint16("of11.action_bsn_set_tunnel_dst.type", "type", base.DEC, nil)
+fields['of11.action_bsn_set_tunnel_dst.len'] = ProtoField.uint16("of11.action_bsn_set_tunnel_dst.len", "len", base.DEC, nil)
+fields['of11.action_bsn_set_tunnel_dst.experimenter'] = ProtoField.uint32("of11.action_bsn_set_tunnel_dst.experimenter", "experimenter", base.DEC, nil)
+fields['of11.action_bsn_set_tunnel_dst.subtype'] = ProtoField.uint32("of11.action_bsn_set_tunnel_dst.subtype", "subtype", base.DEC, nil)
+fields['of11.action_bsn_set_tunnel_dst.dst'] = ProtoField.uint32("of11.action_bsn_set_tunnel_dst.dst", "dst", base.DEC, nil)
+fields['of11.action_copy_ttl_in.type'] = ProtoField.uint16("of11.action_copy_ttl_in.type", "type", base.DEC, nil)
+fields['of11.action_copy_ttl_in.len'] = ProtoField.uint16("of11.action_copy_ttl_in.len", "len", base.DEC, nil)
+fields['of11.action_copy_ttl_out.type'] = ProtoField.uint16("of11.action_copy_ttl_out.type", "type", base.DEC, nil)
+fields['of11.action_copy_ttl_out.len'] = ProtoField.uint16("of11.action_copy_ttl_out.len", "len", base.DEC, nil)
+fields['of11.action_dec_mpls_ttl.type'] = ProtoField.uint16("of11.action_dec_mpls_ttl.type", "type", base.DEC, nil)
+fields['of11.action_dec_mpls_ttl.len'] = ProtoField.uint16("of11.action_dec_mpls_ttl.len", "len", base.DEC, nil)
+fields['of11.action_dec_nw_ttl.type'] = ProtoField.uint16("of11.action_dec_nw_ttl.type", "type", base.DEC, nil)
+fields['of11.action_dec_nw_ttl.len'] = ProtoField.uint16("of11.action_dec_nw_ttl.len", "len", base.DEC, nil)
+fields['of11.action_group.type'] = ProtoField.uint32("of11.action_group.type", "type", base.DEC, enum_v2_ofp_action_type)
+fields['of11.action_group.len'] = ProtoField.uint16("of11.action_group.len", "len", base.DEC, nil)
+fields['of11.action_group.group_id'] = ProtoField.uint32("of11.action_group.group_id", "group_id", base.DEC, nil)
+fields['of11.action_nicira.type'] = ProtoField.uint16("of11.action_nicira.type", "type", base.DEC, nil)
+fields['of11.action_nicira.len'] = ProtoField.uint16("of11.action_nicira.len", "len", base.DEC, nil)
+fields['of11.action_nicira.experimenter'] = ProtoField.uint32("of11.action_nicira.experimenter", "experimenter", base.DEC, nil)
+fields['of11.action_nicira.subtype'] = ProtoField.uint16("of11.action_nicira.subtype", "subtype", base.DEC, nil)
+fields['of11.action_nicira_dec_ttl.type'] = ProtoField.uint16("of11.action_nicira_dec_ttl.type", "type", base.DEC, nil)
+fields['of11.action_nicira_dec_ttl.len'] = ProtoField.uint16("of11.action_nicira_dec_ttl.len", "len", base.DEC, nil)
+fields['of11.action_nicira_dec_ttl.experimenter'] = ProtoField.uint32("of11.action_nicira_dec_ttl.experimenter", "experimenter", base.DEC, nil)
+fields['of11.action_nicira_dec_ttl.subtype'] = ProtoField.uint16("of11.action_nicira_dec_ttl.subtype", "subtype", base.DEC, nil)
+fields['of11.action_output.type'] = ProtoField.uint32("of11.action_output.type", "type", base.DEC, enum_v2_ofp_action_type)
+fields['of11.action_output.len'] = ProtoField.uint16("of11.action_output.len", "len", base.DEC, nil)
+fields['of11.action_output.port'] = ProtoField.uint32("of11.action_output.port", "port", base.DEC, nil)
+fields['of11.action_output.max_len'] = ProtoField.uint16("of11.action_output.max_len", "max_len", base.DEC, nil)
+fields['of11.action_pop_mpls.type'] = ProtoField.uint16("of11.action_pop_mpls.type", "type", base.DEC, nil)
+fields['of11.action_pop_mpls.len'] = ProtoField.uint16("of11.action_pop_mpls.len", "len", base.DEC, nil)
+fields['of11.action_pop_mpls.ethertype'] = ProtoField.uint16("of11.action_pop_mpls.ethertype", "ethertype", base.DEC, nil)
+fields['of11.action_pop_vlan.type'] = ProtoField.uint16("of11.action_pop_vlan.type", "type", base.DEC, nil)
+fields['of11.action_pop_vlan.len'] = ProtoField.uint16("of11.action_pop_vlan.len", "len", base.DEC, nil)
+fields['of11.action_push_mpls.type'] = ProtoField.uint16("of11.action_push_mpls.type", "type", base.DEC, nil)
+fields['of11.action_push_mpls.len'] = ProtoField.uint16("of11.action_push_mpls.len", "len", base.DEC, nil)
+fields['of11.action_push_mpls.ethertype'] = ProtoField.uint16("of11.action_push_mpls.ethertype", "ethertype", base.DEC, nil)
+fields['of11.action_push_vlan.type'] = ProtoField.uint16("of11.action_push_vlan.type", "type", base.DEC, nil)
+fields['of11.action_push_vlan.len'] = ProtoField.uint16("of11.action_push_vlan.len", "len", base.DEC, nil)
+fields['of11.action_push_vlan.ethertype'] = ProtoField.uint16("of11.action_push_vlan.ethertype", "ethertype", base.DEC, nil)
+fields['of11.action_set_dl_dst.type'] = ProtoField.uint16("of11.action_set_dl_dst.type", "type", base.DEC, nil)
+fields['of11.action_set_dl_dst.len'] = ProtoField.uint16("of11.action_set_dl_dst.len", "len", base.DEC, nil)
+fields['of11.action_set_dl_dst.dl_addr'] = ProtoField.ether("of11.action_set_dl_dst.dl_addr", "dl_addr")
+fields['of11.action_set_dl_src.type'] = ProtoField.uint16("of11.action_set_dl_src.type", "type", base.DEC, nil)
+fields['of11.action_set_dl_src.len'] = ProtoField.uint16("of11.action_set_dl_src.len", "len", base.DEC, nil)
+fields['of11.action_set_dl_src.dl_addr'] = ProtoField.ether("of11.action_set_dl_src.dl_addr", "dl_addr")
+fields['of11.action_set_mpls_label.type'] = ProtoField.uint16("of11.action_set_mpls_label.type", "type", base.DEC, nil)
+fields['of11.action_set_mpls_label.len'] = ProtoField.uint16("of11.action_set_mpls_label.len", "len", base.DEC, nil)
+fields['of11.action_set_mpls_label.mpls_label'] = ProtoField.uint32("of11.action_set_mpls_label.mpls_label", "mpls_label", base.DEC, nil)
+fields['of11.action_set_mpls_tc.type'] = ProtoField.uint16("of11.action_set_mpls_tc.type", "type", base.DEC, nil)
+fields['of11.action_set_mpls_tc.len'] = ProtoField.uint16("of11.action_set_mpls_tc.len", "len", base.DEC, nil)
+fields['of11.action_set_mpls_tc.mpls_tc'] = ProtoField.uint8("of11.action_set_mpls_tc.mpls_tc", "mpls_tc", base.DEC, nil)
+fields['of11.action_set_mpls_ttl.type'] = ProtoField.uint16("of11.action_set_mpls_ttl.type", "type", base.DEC, nil)
+fields['of11.action_set_mpls_ttl.len'] = ProtoField.uint16("of11.action_set_mpls_ttl.len", "len", base.DEC, nil)
+fields['of11.action_set_mpls_ttl.mpls_ttl'] = ProtoField.uint8("of11.action_set_mpls_ttl.mpls_ttl", "mpls_ttl", base.DEC, nil)
+fields['of11.action_set_nw_dst.type'] = ProtoField.uint16("of11.action_set_nw_dst.type", "type", base.DEC, nil)
+fields['of11.action_set_nw_dst.len'] = ProtoField.uint16("of11.action_set_nw_dst.len", "len", base.DEC, nil)
+fields['of11.action_set_nw_dst.nw_addr'] = ProtoField.uint32("of11.action_set_nw_dst.nw_addr", "nw_addr", base.DEC, nil)
+fields['of11.action_set_nw_ecn.type'] = ProtoField.uint16("of11.action_set_nw_ecn.type", "type", base.DEC, nil)
+fields['of11.action_set_nw_ecn.len'] = ProtoField.uint16("of11.action_set_nw_ecn.len", "len", base.DEC, nil)
+fields['of11.action_set_nw_ecn.nw_ecn'] = ProtoField.uint8("of11.action_set_nw_ecn.nw_ecn", "nw_ecn", base.DEC, nil)
+fields['of11.action_set_nw_src.type'] = ProtoField.uint16("of11.action_set_nw_src.type", "type", base.DEC, nil)
+fields['of11.action_set_nw_src.len'] = ProtoField.uint16("of11.action_set_nw_src.len", "len", base.DEC, nil)
+fields['of11.action_set_nw_src.nw_addr'] = ProtoField.uint32("of11.action_set_nw_src.nw_addr", "nw_addr", base.DEC, nil)
+fields['of11.action_set_nw_tos.type'] = ProtoField.uint16("of11.action_set_nw_tos.type", "type", base.DEC, nil)
+fields['of11.action_set_nw_tos.len'] = ProtoField.uint16("of11.action_set_nw_tos.len", "len", base.DEC, nil)
+fields['of11.action_set_nw_tos.nw_tos'] = ProtoField.uint8("of11.action_set_nw_tos.nw_tos", "nw_tos", base.DEC, nil)
+fields['of11.action_set_nw_ttl.type'] = ProtoField.uint32("of11.action_set_nw_ttl.type", "type", base.DEC, enum_v2_ofp_action_type)
+fields['of11.action_set_nw_ttl.len'] = ProtoField.uint16("of11.action_set_nw_ttl.len", "len", base.DEC, nil)
+fields['of11.action_set_nw_ttl.nw_ttl'] = ProtoField.uint8("of11.action_set_nw_ttl.nw_ttl", "nw_ttl", base.DEC, nil)
+fields['of11.action_set_queue.type'] = ProtoField.uint16("of11.action_set_queue.type", "type", base.DEC, nil)
+fields['of11.action_set_queue.len'] = ProtoField.uint16("of11.action_set_queue.len", "len", base.DEC, nil)
+fields['of11.action_set_queue.queue_id'] = ProtoField.uint32("of11.action_set_queue.queue_id", "queue_id", base.DEC, nil)
+fields['of11.action_set_tp_dst.type'] = ProtoField.uint16("of11.action_set_tp_dst.type", "type", base.DEC, nil)
+fields['of11.action_set_tp_dst.len'] = ProtoField.uint16("of11.action_set_tp_dst.len", "len", base.DEC, nil)
+fields['of11.action_set_tp_dst.tp_port'] = ProtoField.uint16("of11.action_set_tp_dst.tp_port", "tp_port", base.DEC, nil)
+fields['of11.action_set_tp_src.type'] = ProtoField.uint16("of11.action_set_tp_src.type", "type", base.DEC, nil)
+fields['of11.action_set_tp_src.len'] = ProtoField.uint16("of11.action_set_tp_src.len", "len", base.DEC, nil)
+fields['of11.action_set_tp_src.tp_port'] = ProtoField.uint16("of11.action_set_tp_src.tp_port", "tp_port", base.DEC, nil)
+fields['of11.action_set_vlan_pcp.type'] = ProtoField.uint16("of11.action_set_vlan_pcp.type", "type", base.DEC, nil)
+fields['of11.action_set_vlan_pcp.len'] = ProtoField.uint16("of11.action_set_vlan_pcp.len", "len", base.DEC, nil)
+fields['of11.action_set_vlan_pcp.vlan_pcp'] = ProtoField.uint8("of11.action_set_vlan_pcp.vlan_pcp", "vlan_pcp", base.DEC, nil)
+fields['of11.action_set_vlan_vid.type'] = ProtoField.uint16("of11.action_set_vlan_vid.type", "type", base.DEC, nil)
+fields['of11.action_set_vlan_vid.len'] = ProtoField.uint16("of11.action_set_vlan_vid.len", "len", base.DEC, nil)
+fields['of11.action_set_vlan_vid.vlan_vid'] = ProtoField.uint16("of11.action_set_vlan_vid.vlan_vid", "vlan_vid", base.DEC, nil)
+fields['of11.header.version'] = ProtoField.uint8("of11.header.version", "version", base.DEC, nil)
+fields['of11.header.type'] = ProtoField.uint8("of11.header.type", "type", base.DEC, nil)
+fields['of11.header.length'] = ProtoField.uint16("of11.header.length", "length", base.DEC, nil)
+fields['of11.header.xid'] = ProtoField.uint32("of11.header.xid", "xid", base.DEC, nil)
+fields['of11.stats_reply.version'] = ProtoField.uint8("of11.stats_reply.version", "version", base.DEC, nil)
+fields['of11.stats_reply.type'] = ProtoField.uint32("of11.stats_reply.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.stats_reply.length'] = ProtoField.uint16("of11.stats_reply.length", "length", base.DEC, nil)
+fields['of11.stats_reply.xid'] = ProtoField.uint32("of11.stats_reply.xid", "xid", base.DEC, nil)
+fields['of11.stats_reply.stats_type'] = ProtoField.uint32("of11.stats_reply.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.stats_reply.flags'] = ProtoField.uint32("of11.stats_reply.flags", "flags", base.HEX, enum_v2_ofp_stats_reply_flags)
+fields['of11.aggregate_stats_reply.version'] = ProtoField.uint8("of11.aggregate_stats_reply.version", "version", base.DEC, nil)
+fields['of11.aggregate_stats_reply.type'] = ProtoField.uint32("of11.aggregate_stats_reply.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.aggregate_stats_reply.length'] = ProtoField.uint16("of11.aggregate_stats_reply.length", "length", base.DEC, nil)
+fields['of11.aggregate_stats_reply.xid'] = ProtoField.uint32("of11.aggregate_stats_reply.xid", "xid", base.DEC, nil)
+fields['of11.aggregate_stats_reply.stats_type'] = ProtoField.uint32("of11.aggregate_stats_reply.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.aggregate_stats_reply.flags'] = ProtoField.uint32("of11.aggregate_stats_reply.flags", "flags", base.HEX, enum_v2_ofp_stats_reply_flags)
+fields['of11.aggregate_stats_reply.packet_count'] = ProtoField.uint64("of11.aggregate_stats_reply.packet_count", "packet_count", base.DEC, nil)
+fields['of11.aggregate_stats_reply.byte_count'] = ProtoField.uint64("of11.aggregate_stats_reply.byte_count", "byte_count", base.DEC, nil)
+fields['of11.aggregate_stats_reply.flow_count'] = ProtoField.uint32("of11.aggregate_stats_reply.flow_count", "flow_count", base.DEC, nil)
+fields['of11.stats_request.version'] = ProtoField.uint8("of11.stats_request.version", "version", base.DEC, nil)
+fields['of11.stats_request.type'] = ProtoField.uint32("of11.stats_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.stats_request.length'] = ProtoField.uint16("of11.stats_request.length", "length", base.DEC, nil)
+fields['of11.stats_request.xid'] = ProtoField.uint32("of11.stats_request.xid", "xid", base.DEC, nil)
+fields['of11.stats_request.stats_type'] = ProtoField.uint32("of11.stats_request.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.stats_request.flags'] = ProtoField.uint32("of11.stats_request.flags", "flags", base.HEX, enum_v2_ofp_stats_request_flags)
+fields['of11.aggregate_stats_request.version'] = ProtoField.uint8("of11.aggregate_stats_request.version", "version", base.DEC, nil)
+fields['of11.aggregate_stats_request.type'] = ProtoField.uint32("of11.aggregate_stats_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.aggregate_stats_request.length'] = ProtoField.uint16("of11.aggregate_stats_request.length", "length", base.DEC, nil)
+fields['of11.aggregate_stats_request.xid'] = ProtoField.uint32("of11.aggregate_stats_request.xid", "xid", base.DEC, nil)
+fields['of11.aggregate_stats_request.stats_type'] = ProtoField.uint32("of11.aggregate_stats_request.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.aggregate_stats_request.flags'] = ProtoField.uint32("of11.aggregate_stats_request.flags", "flags", base.HEX, enum_v2_ofp_stats_request_flags)
+fields['of11.aggregate_stats_request.table_id'] = ProtoField.uint8("of11.aggregate_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of11.aggregate_stats_request.out_port'] = ProtoField.uint32("of11.aggregate_stats_request.out_port", "out_port", base.DEC, nil)
+fields['of11.aggregate_stats_request.out_group'] = ProtoField.uint32("of11.aggregate_stats_request.out_group", "out_group", base.DEC, nil)
+fields['of11.aggregate_stats_request.cookie'] = ProtoField.uint64("of11.aggregate_stats_request.cookie", "cookie", base.DEC, nil)
+fields['of11.aggregate_stats_request.cookie_mask'] = ProtoField.uint64("of11.aggregate_stats_request.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of11.aggregate_stats_request.match'] = ProtoField.bytes("of11.aggregate_stats_request.match", "match")
+fields['of11.error_msg.version'] = ProtoField.uint8("of11.error_msg.version", "version", base.DEC, nil)
+fields['of11.error_msg.type'] = ProtoField.uint32("of11.error_msg.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.error_msg.length'] = ProtoField.uint16("of11.error_msg.length", "length", base.DEC, nil)
+fields['of11.error_msg.xid'] = ProtoField.uint32("of11.error_msg.xid", "xid", base.DEC, nil)
+fields['of11.error_msg.err_type'] = ProtoField.uint32("of11.error_msg.err_type", "err_type", base.DEC, enum_v2_ofp_error_type)
+fields['of11.bad_action_error_msg.version'] = ProtoField.uint8("of11.bad_action_error_msg.version", "version", base.DEC, nil)
+fields['of11.bad_action_error_msg.type'] = ProtoField.uint8("of11.bad_action_error_msg.type", "type", base.DEC, nil)
+fields['of11.bad_action_error_msg.length'] = ProtoField.uint16("of11.bad_action_error_msg.length", "length", base.DEC, nil)
+fields['of11.bad_action_error_msg.xid'] = ProtoField.uint32("of11.bad_action_error_msg.xid", "xid", base.DEC, nil)
+fields['of11.bad_action_error_msg.err_type'] = ProtoField.uint16("of11.bad_action_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of11.bad_action_error_msg.code'] = ProtoField.uint32("of11.bad_action_error_msg.code", "code", base.DEC, enum_v2_ofp_bad_action_code)
+fields['of11.bad_action_error_msg.data'] = ProtoField.bytes("of11.bad_action_error_msg.data", "data")
+fields['of11.bad_instruction_error_msg.version'] = ProtoField.uint8("of11.bad_instruction_error_msg.version", "version", base.DEC, nil)
+fields['of11.bad_instruction_error_msg.type'] = ProtoField.uint8("of11.bad_instruction_error_msg.type", "type", base.DEC, nil)
+fields['of11.bad_instruction_error_msg.length'] = ProtoField.uint16("of11.bad_instruction_error_msg.length", "length", base.DEC, nil)
+fields['of11.bad_instruction_error_msg.xid'] = ProtoField.uint32("of11.bad_instruction_error_msg.xid", "xid", base.DEC, nil)
+fields['of11.bad_instruction_error_msg.err_type'] = ProtoField.uint16("of11.bad_instruction_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of11.bad_instruction_error_msg.code'] = ProtoField.uint32("of11.bad_instruction_error_msg.code", "code", base.DEC, enum_v2_ofp_bad_instruction_code)
+fields['of11.bad_instruction_error_msg.data'] = ProtoField.bytes("of11.bad_instruction_error_msg.data", "data")
+fields['of11.bad_match_error_msg.version'] = ProtoField.uint8("of11.bad_match_error_msg.version", "version", base.DEC, nil)
+fields['of11.bad_match_error_msg.type'] = ProtoField.uint8("of11.bad_match_error_msg.type", "type", base.DEC, nil)
+fields['of11.bad_match_error_msg.length'] = ProtoField.uint16("of11.bad_match_error_msg.length", "length", base.DEC, nil)
+fields['of11.bad_match_error_msg.xid'] = ProtoField.uint32("of11.bad_match_error_msg.xid", "xid", base.DEC, nil)
+fields['of11.bad_match_error_msg.err_type'] = ProtoField.uint16("of11.bad_match_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of11.bad_match_error_msg.code'] = ProtoField.uint32("of11.bad_match_error_msg.code", "code", base.DEC, enum_v2_ofp_bad_match_code)
+fields['of11.bad_match_error_msg.data'] = ProtoField.bytes("of11.bad_match_error_msg.data", "data")
+fields['of11.bad_request_error_msg.version'] = ProtoField.uint8("of11.bad_request_error_msg.version", "version", base.DEC, nil)
+fields['of11.bad_request_error_msg.type'] = ProtoField.uint8("of11.bad_request_error_msg.type", "type", base.DEC, nil)
+fields['of11.bad_request_error_msg.length'] = ProtoField.uint16("of11.bad_request_error_msg.length", "length", base.DEC, nil)
+fields['of11.bad_request_error_msg.xid'] = ProtoField.uint32("of11.bad_request_error_msg.xid", "xid", base.DEC, nil)
+fields['of11.bad_request_error_msg.err_type'] = ProtoField.uint16("of11.bad_request_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of11.bad_request_error_msg.code'] = ProtoField.uint32("of11.bad_request_error_msg.code", "code", base.DEC, enum_v2_ofp_bad_request_code)
+fields['of11.bad_request_error_msg.data'] = ProtoField.bytes("of11.bad_request_error_msg.data", "data")
+fields['of11.barrier_reply.version'] = ProtoField.uint8("of11.barrier_reply.version", "version", base.DEC, nil)
+fields['of11.barrier_reply.type'] = ProtoField.uint32("of11.barrier_reply.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.barrier_reply.length'] = ProtoField.uint16("of11.barrier_reply.length", "length", base.DEC, nil)
+fields['of11.barrier_reply.xid'] = ProtoField.uint32("of11.barrier_reply.xid", "xid", base.DEC, nil)
+fields['of11.barrier_request.version'] = ProtoField.uint8("of11.barrier_request.version", "version", base.DEC, nil)
+fields['of11.barrier_request.type'] = ProtoField.uint32("of11.barrier_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.barrier_request.length'] = ProtoField.uint16("of11.barrier_request.length", "length", base.DEC, nil)
+fields['of11.barrier_request.xid'] = ProtoField.uint32("of11.barrier_request.xid", "xid", base.DEC, nil)
+fields['of11.experimenter.version'] = ProtoField.uint8("of11.experimenter.version", "version", base.DEC, nil)
+fields['of11.experimenter.type'] = ProtoField.uint8("of11.experimenter.type", "type", base.DEC, nil)
+fields['of11.experimenter.length'] = ProtoField.uint16("of11.experimenter.length", "length", base.DEC, nil)
+fields['of11.experimenter.xid'] = ProtoField.uint32("of11.experimenter.xid", "xid", base.DEC, nil)
+fields['of11.experimenter.experimenter'] = ProtoField.uint32("of11.experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of11.experimenter.data'] = ProtoField.bytes("of11.experimenter.data", "data")
+fields['of11.bsn_header.version'] = ProtoField.uint8("of11.bsn_header.version", "version", base.DEC, nil)
+fields['of11.bsn_header.type'] = ProtoField.uint8("of11.bsn_header.type", "type", base.DEC, nil)
+fields['of11.bsn_header.length'] = ProtoField.uint16("of11.bsn_header.length", "length", base.DEC, nil)
+fields['of11.bsn_header.xid'] = ProtoField.uint32("of11.bsn_header.xid", "xid", base.DEC, nil)
+fields['of11.bsn_header.experimenter'] = ProtoField.uint32("of11.bsn_header.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_header.subtype'] = ProtoField.uint32("of11.bsn_header.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_reply.version'] = ProtoField.uint8("of11.bsn_bw_clear_data_reply.version", "version", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_reply.type'] = ProtoField.uint8("of11.bsn_bw_clear_data_reply.type", "type", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_reply.length'] = ProtoField.uint16("of11.bsn_bw_clear_data_reply.length", "length", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_reply.xid'] = ProtoField.uint32("of11.bsn_bw_clear_data_reply.xid", "xid", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_reply.experimenter'] = ProtoField.uint32("of11.bsn_bw_clear_data_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_reply.subtype'] = ProtoField.uint32("of11.bsn_bw_clear_data_reply.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_reply.status'] = ProtoField.uint32("of11.bsn_bw_clear_data_reply.status", "status", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_request.version'] = ProtoField.uint8("of11.bsn_bw_clear_data_request.version", "version", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_request.type'] = ProtoField.uint8("of11.bsn_bw_clear_data_request.type", "type", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_request.length'] = ProtoField.uint16("of11.bsn_bw_clear_data_request.length", "length", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_request.xid'] = ProtoField.uint32("of11.bsn_bw_clear_data_request.xid", "xid", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_request.experimenter'] = ProtoField.uint32("of11.bsn_bw_clear_data_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_bw_clear_data_request.subtype'] = ProtoField.uint32("of11.bsn_bw_clear_data_request.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_reply.version'] = ProtoField.uint8("of11.bsn_bw_enable_get_reply.version", "version", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_reply.type'] = ProtoField.uint8("of11.bsn_bw_enable_get_reply.type", "type", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_reply.length'] = ProtoField.uint16("of11.bsn_bw_enable_get_reply.length", "length", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_reply.xid'] = ProtoField.uint32("of11.bsn_bw_enable_get_reply.xid", "xid", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_reply.experimenter'] = ProtoField.uint32("of11.bsn_bw_enable_get_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_reply.subtype'] = ProtoField.uint32("of11.bsn_bw_enable_get_reply.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_reply.enabled'] = ProtoField.uint32("of11.bsn_bw_enable_get_reply.enabled", "enabled", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_request.version'] = ProtoField.uint8("of11.bsn_bw_enable_get_request.version", "version", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_request.type'] = ProtoField.uint8("of11.bsn_bw_enable_get_request.type", "type", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_request.length'] = ProtoField.uint16("of11.bsn_bw_enable_get_request.length", "length", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_request.xid'] = ProtoField.uint32("of11.bsn_bw_enable_get_request.xid", "xid", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_request.experimenter'] = ProtoField.uint32("of11.bsn_bw_enable_get_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_bw_enable_get_request.subtype'] = ProtoField.uint32("of11.bsn_bw_enable_get_request.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_reply.version'] = ProtoField.uint8("of11.bsn_bw_enable_set_reply.version", "version", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_reply.type'] = ProtoField.uint8("of11.bsn_bw_enable_set_reply.type", "type", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_reply.length'] = ProtoField.uint16("of11.bsn_bw_enable_set_reply.length", "length", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_reply.xid'] = ProtoField.uint32("of11.bsn_bw_enable_set_reply.xid", "xid", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_reply.experimenter'] = ProtoField.uint32("of11.bsn_bw_enable_set_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_reply.subtype'] = ProtoField.uint32("of11.bsn_bw_enable_set_reply.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_reply.enable'] = ProtoField.uint32("of11.bsn_bw_enable_set_reply.enable", "enable", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_reply.status'] = ProtoField.uint32("of11.bsn_bw_enable_set_reply.status", "status", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_request.version'] = ProtoField.uint8("of11.bsn_bw_enable_set_request.version", "version", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_request.type'] = ProtoField.uint8("of11.bsn_bw_enable_set_request.type", "type", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_request.length'] = ProtoField.uint16("of11.bsn_bw_enable_set_request.length", "length", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_request.xid'] = ProtoField.uint32("of11.bsn_bw_enable_set_request.xid", "xid", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_request.experimenter'] = ProtoField.uint32("of11.bsn_bw_enable_set_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_request.subtype'] = ProtoField.uint32("of11.bsn_bw_enable_set_request.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_bw_enable_set_request.enable'] = ProtoField.uint32("of11.bsn_bw_enable_set_request.enable", "enable", base.DEC, nil)
+fields['of11.bsn_get_interfaces_reply.version'] = ProtoField.uint8("of11.bsn_get_interfaces_reply.version", "version", base.DEC, nil)
+fields['of11.bsn_get_interfaces_reply.type'] = ProtoField.uint8("of11.bsn_get_interfaces_reply.type", "type", base.DEC, nil)
+fields['of11.bsn_get_interfaces_reply.length'] = ProtoField.uint16("of11.bsn_get_interfaces_reply.length", "length", base.DEC, nil)
+fields['of11.bsn_get_interfaces_reply.xid'] = ProtoField.uint32("of11.bsn_get_interfaces_reply.xid", "xid", base.DEC, nil)
+fields['of11.bsn_get_interfaces_reply.experimenter'] = ProtoField.uint32("of11.bsn_get_interfaces_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_get_interfaces_reply.subtype'] = ProtoField.uint32("of11.bsn_get_interfaces_reply.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_get_interfaces_reply.interfaces'] = ProtoField.bytes("of11.bsn_get_interfaces_reply.interfaces", "interfaces")
+fields['of11.bsn_get_interfaces_request.version'] = ProtoField.uint8("of11.bsn_get_interfaces_request.version", "version", base.DEC, nil)
+fields['of11.bsn_get_interfaces_request.type'] = ProtoField.uint8("of11.bsn_get_interfaces_request.type", "type", base.DEC, nil)
+fields['of11.bsn_get_interfaces_request.length'] = ProtoField.uint16("of11.bsn_get_interfaces_request.length", "length", base.DEC, nil)
+fields['of11.bsn_get_interfaces_request.xid'] = ProtoField.uint32("of11.bsn_get_interfaces_request.xid", "xid", base.DEC, nil)
+fields['of11.bsn_get_interfaces_request.experimenter'] = ProtoField.uint32("of11.bsn_get_interfaces_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_get_interfaces_request.subtype'] = ProtoField.uint32("of11.bsn_get_interfaces_request.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_get_mirroring_reply.version'] = ProtoField.uint8("of11.bsn_get_mirroring_reply.version", "version", base.DEC, nil)
+fields['of11.bsn_get_mirroring_reply.type'] = ProtoField.uint8("of11.bsn_get_mirroring_reply.type", "type", base.DEC, nil)
+fields['of11.bsn_get_mirroring_reply.length'] = ProtoField.uint16("of11.bsn_get_mirroring_reply.length", "length", base.DEC, nil)
+fields['of11.bsn_get_mirroring_reply.xid'] = ProtoField.uint32("of11.bsn_get_mirroring_reply.xid", "xid", base.DEC, nil)
+fields['of11.bsn_get_mirroring_reply.experimenter'] = ProtoField.uint32("of11.bsn_get_mirroring_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_get_mirroring_reply.subtype'] = ProtoField.uint32("of11.bsn_get_mirroring_reply.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_get_mirroring_reply.report_mirror_ports'] = ProtoField.uint8("of11.bsn_get_mirroring_reply.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of11.bsn_get_mirroring_request.version'] = ProtoField.uint8("of11.bsn_get_mirroring_request.version", "version", base.DEC, nil)
+fields['of11.bsn_get_mirroring_request.type'] = ProtoField.uint8("of11.bsn_get_mirroring_request.type", "type", base.DEC, nil)
+fields['of11.bsn_get_mirroring_request.length'] = ProtoField.uint16("of11.bsn_get_mirroring_request.length", "length", base.DEC, nil)
+fields['of11.bsn_get_mirroring_request.xid'] = ProtoField.uint32("of11.bsn_get_mirroring_request.xid", "xid", base.DEC, nil)
+fields['of11.bsn_get_mirroring_request.experimenter'] = ProtoField.uint32("of11.bsn_get_mirroring_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_get_mirroring_request.subtype'] = ProtoField.uint32("of11.bsn_get_mirroring_request.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_get_mirroring_request.report_mirror_ports'] = ProtoField.uint8("of11.bsn_get_mirroring_request.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of11.bsn_interface.hw_addr'] = ProtoField.ether("of11.bsn_interface.hw_addr", "hw_addr")
+fields['of11.bsn_interface.name'] = ProtoField.stringz("of11.bsn_interface.name", "name")
+fields['of11.bsn_interface.ipv4_addr'] = ProtoField.ipv4("of11.bsn_interface.ipv4_addr", "ipv4_addr")
+fields['of11.bsn_interface.ipv4_netmask'] = ProtoField.ipv4("of11.bsn_interface.ipv4_netmask", "ipv4_netmask")
+fields['of11.bsn_pdu_rx_reply.version'] = ProtoField.uint8("of11.bsn_pdu_rx_reply.version", "version", base.DEC, nil)
+fields['of11.bsn_pdu_rx_reply.type'] = ProtoField.uint8("of11.bsn_pdu_rx_reply.type", "type", base.DEC, nil)
+fields['of11.bsn_pdu_rx_reply.length'] = ProtoField.uint16("of11.bsn_pdu_rx_reply.length", "length", base.DEC, nil)
+fields['of11.bsn_pdu_rx_reply.xid'] = ProtoField.uint32("of11.bsn_pdu_rx_reply.xid", "xid", base.DEC, nil)
+fields['of11.bsn_pdu_rx_reply.experimenter'] = ProtoField.uint32("of11.bsn_pdu_rx_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_pdu_rx_reply.subtype'] = ProtoField.uint32("of11.bsn_pdu_rx_reply.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_pdu_rx_reply.status'] = ProtoField.uint32("of11.bsn_pdu_rx_reply.status", "status", base.DEC, nil)
+fields['of11.bsn_pdu_rx_reply.port_no'] = ProtoField.uint32("of11.bsn_pdu_rx_reply.port_no", "port_no", base.DEC, nil)
+fields['of11.bsn_pdu_rx_reply.slot_num'] = ProtoField.uint8("of11.bsn_pdu_rx_reply.slot_num", "slot_num", base.DEC, nil)
+fields['of11.bsn_pdu_rx_request.version'] = ProtoField.uint8("of11.bsn_pdu_rx_request.version", "version", base.DEC, nil)
+fields['of11.bsn_pdu_rx_request.type'] = ProtoField.uint8("of11.bsn_pdu_rx_request.type", "type", base.DEC, nil)
+fields['of11.bsn_pdu_rx_request.length'] = ProtoField.uint16("of11.bsn_pdu_rx_request.length", "length", base.DEC, nil)
+fields['of11.bsn_pdu_rx_request.xid'] = ProtoField.uint32("of11.bsn_pdu_rx_request.xid", "xid", base.DEC, nil)
+fields['of11.bsn_pdu_rx_request.experimenter'] = ProtoField.uint32("of11.bsn_pdu_rx_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_pdu_rx_request.subtype'] = ProtoField.uint32("of11.bsn_pdu_rx_request.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_pdu_rx_request.timeout_ms'] = ProtoField.uint32("of11.bsn_pdu_rx_request.timeout_ms", "timeout_ms", base.DEC, nil)
+fields['of11.bsn_pdu_rx_request.port_no'] = ProtoField.uint32("of11.bsn_pdu_rx_request.port_no", "port_no", base.DEC, nil)
+fields['of11.bsn_pdu_rx_request.slot_num'] = ProtoField.uint8("of11.bsn_pdu_rx_request.slot_num", "slot_num", base.DEC, nil)
+fields['of11.bsn_pdu_rx_request.data'] = ProtoField.bytes("of11.bsn_pdu_rx_request.data", "data")
+fields['of11.bsn_pdu_rx_timeout.version'] = ProtoField.uint8("of11.bsn_pdu_rx_timeout.version", "version", base.DEC, nil)
+fields['of11.bsn_pdu_rx_timeout.type'] = ProtoField.uint8("of11.bsn_pdu_rx_timeout.type", "type", base.DEC, nil)
+fields['of11.bsn_pdu_rx_timeout.length'] = ProtoField.uint16("of11.bsn_pdu_rx_timeout.length", "length", base.DEC, nil)
+fields['of11.bsn_pdu_rx_timeout.xid'] = ProtoField.uint32("of11.bsn_pdu_rx_timeout.xid", "xid", base.DEC, nil)
+fields['of11.bsn_pdu_rx_timeout.experimenter'] = ProtoField.uint32("of11.bsn_pdu_rx_timeout.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_pdu_rx_timeout.subtype'] = ProtoField.uint32("of11.bsn_pdu_rx_timeout.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_pdu_rx_timeout.port_no'] = ProtoField.uint32("of11.bsn_pdu_rx_timeout.port_no", "port_no", base.DEC, nil)
+fields['of11.bsn_pdu_rx_timeout.slot_num'] = ProtoField.uint8("of11.bsn_pdu_rx_timeout.slot_num", "slot_num", base.DEC, nil)
+fields['of11.bsn_pdu_tx_reply.version'] = ProtoField.uint8("of11.bsn_pdu_tx_reply.version", "version", base.DEC, nil)
+fields['of11.bsn_pdu_tx_reply.type'] = ProtoField.uint8("of11.bsn_pdu_tx_reply.type", "type", base.DEC, nil)
+fields['of11.bsn_pdu_tx_reply.length'] = ProtoField.uint16("of11.bsn_pdu_tx_reply.length", "length", base.DEC, nil)
+fields['of11.bsn_pdu_tx_reply.xid'] = ProtoField.uint32("of11.bsn_pdu_tx_reply.xid", "xid", base.DEC, nil)
+fields['of11.bsn_pdu_tx_reply.experimenter'] = ProtoField.uint32("of11.bsn_pdu_tx_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_pdu_tx_reply.subtype'] = ProtoField.uint32("of11.bsn_pdu_tx_reply.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_pdu_tx_reply.status'] = ProtoField.uint32("of11.bsn_pdu_tx_reply.status", "status", base.DEC, nil)
+fields['of11.bsn_pdu_tx_reply.port_no'] = ProtoField.uint32("of11.bsn_pdu_tx_reply.port_no", "port_no", base.DEC, nil)
+fields['of11.bsn_pdu_tx_reply.slot_num'] = ProtoField.uint8("of11.bsn_pdu_tx_reply.slot_num", "slot_num", base.DEC, nil)
+fields['of11.bsn_pdu_tx_request.version'] = ProtoField.uint8("of11.bsn_pdu_tx_request.version", "version", base.DEC, nil)
+fields['of11.bsn_pdu_tx_request.type'] = ProtoField.uint8("of11.bsn_pdu_tx_request.type", "type", base.DEC, nil)
+fields['of11.bsn_pdu_tx_request.length'] = ProtoField.uint16("of11.bsn_pdu_tx_request.length", "length", base.DEC, nil)
+fields['of11.bsn_pdu_tx_request.xid'] = ProtoField.uint32("of11.bsn_pdu_tx_request.xid", "xid", base.DEC, nil)
+fields['of11.bsn_pdu_tx_request.experimenter'] = ProtoField.uint32("of11.bsn_pdu_tx_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_pdu_tx_request.subtype'] = ProtoField.uint32("of11.bsn_pdu_tx_request.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_pdu_tx_request.tx_interval_ms'] = ProtoField.uint32("of11.bsn_pdu_tx_request.tx_interval_ms", "tx_interval_ms", base.DEC, nil)
+fields['of11.bsn_pdu_tx_request.port_no'] = ProtoField.uint32("of11.bsn_pdu_tx_request.port_no", "port_no", base.DEC, nil)
+fields['of11.bsn_pdu_tx_request.slot_num'] = ProtoField.uint8("of11.bsn_pdu_tx_request.slot_num", "slot_num", base.DEC, nil)
+fields['of11.bsn_pdu_tx_request.data'] = ProtoField.bytes("of11.bsn_pdu_tx_request.data", "data")
+fields['of11.bsn_set_mirroring.version'] = ProtoField.uint8("of11.bsn_set_mirroring.version", "version", base.DEC, nil)
+fields['of11.bsn_set_mirroring.type'] = ProtoField.uint8("of11.bsn_set_mirroring.type", "type", base.DEC, nil)
+fields['of11.bsn_set_mirroring.length'] = ProtoField.uint16("of11.bsn_set_mirroring.length", "length", base.DEC, nil)
+fields['of11.bsn_set_mirroring.xid'] = ProtoField.uint32("of11.bsn_set_mirroring.xid", "xid", base.DEC, nil)
+fields['of11.bsn_set_mirroring.experimenter'] = ProtoField.uint32("of11.bsn_set_mirroring.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_set_mirroring.subtype'] = ProtoField.uint32("of11.bsn_set_mirroring.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_set_mirroring.report_mirror_ports'] = ProtoField.uint8("of11.bsn_set_mirroring.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_reply.version'] = ProtoField.uint8("of11.bsn_set_pktin_suppression_reply.version", "version", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_reply.type'] = ProtoField.uint8("of11.bsn_set_pktin_suppression_reply.type", "type", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_reply.length'] = ProtoField.uint16("of11.bsn_set_pktin_suppression_reply.length", "length", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_reply.xid'] = ProtoField.uint32("of11.bsn_set_pktin_suppression_reply.xid", "xid", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_reply.experimenter'] = ProtoField.uint32("of11.bsn_set_pktin_suppression_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_reply.subtype'] = ProtoField.uint32("of11.bsn_set_pktin_suppression_reply.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_reply.status'] = ProtoField.uint32("of11.bsn_set_pktin_suppression_reply.status", "status", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_request.version'] = ProtoField.uint8("of11.bsn_set_pktin_suppression_request.version", "version", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_request.type'] = ProtoField.uint8("of11.bsn_set_pktin_suppression_request.type", "type", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_request.length'] = ProtoField.uint16("of11.bsn_set_pktin_suppression_request.length", "length", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_request.xid'] = ProtoField.uint32("of11.bsn_set_pktin_suppression_request.xid", "xid", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_request.experimenter'] = ProtoField.uint32("of11.bsn_set_pktin_suppression_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_request.subtype'] = ProtoField.uint32("of11.bsn_set_pktin_suppression_request.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_request.enabled'] = ProtoField.uint8("of11.bsn_set_pktin_suppression_request.enabled", "enabled", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_request.idle_timeout'] = ProtoField.uint16("of11.bsn_set_pktin_suppression_request.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_request.hard_timeout'] = ProtoField.uint16("of11.bsn_set_pktin_suppression_request.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_request.priority'] = ProtoField.uint16("of11.bsn_set_pktin_suppression_request.priority", "priority", base.DEC, nil)
+fields['of11.bsn_set_pktin_suppression_request.cookie'] = ProtoField.uint64("of11.bsn_set_pktin_suppression_request.cookie", "cookie", base.DEC, nil)
+fields['of11.experimenter_stats_reply.version'] = ProtoField.uint8("of11.experimenter_stats_reply.version", "version", base.DEC, nil)
+fields['of11.experimenter_stats_reply.type'] = ProtoField.uint8("of11.experimenter_stats_reply.type", "type", base.DEC, nil)
+fields['of11.experimenter_stats_reply.length'] = ProtoField.uint16("of11.experimenter_stats_reply.length", "length", base.DEC, nil)
+fields['of11.experimenter_stats_reply.xid'] = ProtoField.uint32("of11.experimenter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of11.experimenter_stats_reply.stats_type'] = ProtoField.uint16("of11.experimenter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of11.experimenter_stats_reply.flags'] = ProtoField.uint32("of11.experimenter_stats_reply.flags", "flags", base.HEX, enum_v2_ofp_stats_reply_flags)
+fields['of11.experimenter_stats_reply.experimenter'] = ProtoField.uint32("of11.experimenter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.experimenter_stats_reply.data'] = ProtoField.bytes("of11.experimenter_stats_reply.data", "data")
+fields['of11.bsn_stats_reply.version'] = ProtoField.uint8("of11.bsn_stats_reply.version", "version", base.DEC, nil)
+fields['of11.bsn_stats_reply.type'] = ProtoField.uint8("of11.bsn_stats_reply.type", "type", base.DEC, nil)
+fields['of11.bsn_stats_reply.length'] = ProtoField.uint16("of11.bsn_stats_reply.length", "length", base.DEC, nil)
+fields['of11.bsn_stats_reply.xid'] = ProtoField.uint32("of11.bsn_stats_reply.xid", "xid", base.DEC, nil)
+fields['of11.bsn_stats_reply.stats_type'] = ProtoField.uint16("of11.bsn_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of11.bsn_stats_reply.flags'] = ProtoField.uint32("of11.bsn_stats_reply.flags", "flags", base.HEX, enum_v2_ofp_stats_reply_flags)
+fields['of11.bsn_stats_reply.experimenter'] = ProtoField.uint32("of11.bsn_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_stats_reply.subtype'] = ProtoField.uint32("of11.bsn_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of11.experimenter_stats_request.version'] = ProtoField.uint8("of11.experimenter_stats_request.version", "version", base.DEC, nil)
+fields['of11.experimenter_stats_request.type'] = ProtoField.uint8("of11.experimenter_stats_request.type", "type", base.DEC, nil)
+fields['of11.experimenter_stats_request.length'] = ProtoField.uint16("of11.experimenter_stats_request.length", "length", base.DEC, nil)
+fields['of11.experimenter_stats_request.xid'] = ProtoField.uint32("of11.experimenter_stats_request.xid", "xid", base.DEC, nil)
+fields['of11.experimenter_stats_request.stats_type'] = ProtoField.uint16("of11.experimenter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of11.experimenter_stats_request.flags'] = ProtoField.uint32("of11.experimenter_stats_request.flags", "flags", base.HEX, enum_v2_ofp_stats_request_flags)
+fields['of11.experimenter_stats_request.experimenter'] = ProtoField.uint32("of11.experimenter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.experimenter_stats_request.data'] = ProtoField.bytes("of11.experimenter_stats_request.data", "data")
+fields['of11.bsn_stats_request.version'] = ProtoField.uint8("of11.bsn_stats_request.version", "version", base.DEC, nil)
+fields['of11.bsn_stats_request.type'] = ProtoField.uint8("of11.bsn_stats_request.type", "type", base.DEC, nil)
+fields['of11.bsn_stats_request.length'] = ProtoField.uint16("of11.bsn_stats_request.length", "length", base.DEC, nil)
+fields['of11.bsn_stats_request.xid'] = ProtoField.uint32("of11.bsn_stats_request.xid", "xid", base.DEC, nil)
+fields['of11.bsn_stats_request.stats_type'] = ProtoField.uint16("of11.bsn_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of11.bsn_stats_request.flags'] = ProtoField.uint32("of11.bsn_stats_request.flags", "flags", base.HEX, enum_v2_ofp_stats_request_flags)
+fields['of11.bsn_stats_request.experimenter'] = ProtoField.uint32("of11.bsn_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_stats_request.subtype'] = ProtoField.uint32("of11.bsn_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_reply.version'] = ProtoField.uint8("of11.bsn_virtual_port_create_reply.version", "version", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_reply.type'] = ProtoField.uint8("of11.bsn_virtual_port_create_reply.type", "type", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_reply.length'] = ProtoField.uint16("of11.bsn_virtual_port_create_reply.length", "length", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_reply.xid'] = ProtoField.uint32("of11.bsn_virtual_port_create_reply.xid", "xid", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_reply.experimenter'] = ProtoField.uint32("of11.bsn_virtual_port_create_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_reply.subtype'] = ProtoField.uint32("of11.bsn_virtual_port_create_reply.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_reply.status'] = ProtoField.uint32("of11.bsn_virtual_port_create_reply.status", "status", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_reply.vport_no'] = ProtoField.uint32("of11.bsn_virtual_port_create_reply.vport_no", "vport_no", base.DEC, nil)
+fields['of11.bsn_vport.type'] = ProtoField.uint16("of11.bsn_vport.type", "type", base.DEC, nil)
+fields['of11.bsn_vport.length'] = ProtoField.uint16("of11.bsn_vport.length", "length", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_request.version'] = ProtoField.uint8("of11.bsn_virtual_port_create_request.version", "version", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_request.type'] = ProtoField.uint8("of11.bsn_virtual_port_create_request.type", "type", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_request.length'] = ProtoField.uint16("of11.bsn_virtual_port_create_request.length", "length", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_request.xid'] = ProtoField.uint32("of11.bsn_virtual_port_create_request.xid", "xid", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_request.experimenter'] = ProtoField.uint32("of11.bsn_virtual_port_create_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_request.subtype'] = ProtoField.uint32("of11.bsn_virtual_port_create_request.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_virtual_port_create_request.vport'] = ProtoField.bytes("of11.bsn_virtual_port_create_request.vport", "vport")
+fields['of11.bsn_virtual_port_remove_reply.version'] = ProtoField.uint8("of11.bsn_virtual_port_remove_reply.version", "version", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_reply.type'] = ProtoField.uint8("of11.bsn_virtual_port_remove_reply.type", "type", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_reply.length'] = ProtoField.uint16("of11.bsn_virtual_port_remove_reply.length", "length", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_reply.xid'] = ProtoField.uint32("of11.bsn_virtual_port_remove_reply.xid", "xid", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_reply.experimenter'] = ProtoField.uint32("of11.bsn_virtual_port_remove_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_reply.subtype'] = ProtoField.uint32("of11.bsn_virtual_port_remove_reply.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_reply.status'] = ProtoField.uint32("of11.bsn_virtual_port_remove_reply.status", "status", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_request.version'] = ProtoField.uint8("of11.bsn_virtual_port_remove_request.version", "version", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_request.type'] = ProtoField.uint8("of11.bsn_virtual_port_remove_request.type", "type", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_request.length'] = ProtoField.uint16("of11.bsn_virtual_port_remove_request.length", "length", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_request.xid'] = ProtoField.uint32("of11.bsn_virtual_port_remove_request.xid", "xid", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_request.experimenter'] = ProtoField.uint32("of11.bsn_virtual_port_remove_request.experimenter", "experimenter", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_request.subtype'] = ProtoField.uint32("of11.bsn_virtual_port_remove_request.subtype", "subtype", base.DEC, nil)
+fields['of11.bsn_virtual_port_remove_request.vport_no'] = ProtoField.uint32("of11.bsn_virtual_port_remove_request.vport_no", "vport_no", base.DEC, nil)
+fields['of11.bsn_vport_l2gre.type'] = ProtoField.uint16("of11.bsn_vport_l2gre.type", "type", base.DEC, nil)
+fields['of11.bsn_vport_l2gre.length'] = ProtoField.uint16("of11.bsn_vport_l2gre.length", "length", base.DEC, nil)
+fields['of11.bsn_vport_l2gre.flags'] = ProtoField.uint32("of11.bsn_vport_l2gre.flags", "flags", base.HEX, enum_v2_ofp_bsn_vport_l2gre_flags)
+fields['of11.bsn_vport_l2gre.port_no'] = ProtoField.uint32("of11.bsn_vport_l2gre.port_no", "port_no", base.DEC, nil)
+fields['of11.bsn_vport_l2gre.loopback_port_no'] = ProtoField.uint32("of11.bsn_vport_l2gre.loopback_port_no", "loopback_port_no", base.DEC, nil)
+fields['of11.bsn_vport_l2gre.local_mac'] = ProtoField.ether("of11.bsn_vport_l2gre.local_mac", "local_mac")
+fields['of11.bsn_vport_l2gre.nh_mac'] = ProtoField.ether("of11.bsn_vport_l2gre.nh_mac", "nh_mac")
+fields['of11.bsn_vport_l2gre.src_ip'] = ProtoField.ipv4("of11.bsn_vport_l2gre.src_ip", "src_ip")
+fields['of11.bsn_vport_l2gre.dst_ip'] = ProtoField.ipv4("of11.bsn_vport_l2gre.dst_ip", "dst_ip")
+fields['of11.bsn_vport_l2gre.dscp'] = ProtoField.uint8("of11.bsn_vport_l2gre.dscp", "dscp", base.DEC, nil)
+fields['of11.bsn_vport_l2gre.ttl'] = ProtoField.uint8("of11.bsn_vport_l2gre.ttl", "ttl", base.DEC, nil)
+fields['of11.bsn_vport_l2gre.vpn'] = ProtoField.uint32("of11.bsn_vport_l2gre.vpn", "vpn", base.DEC, nil)
+fields['of11.bsn_vport_l2gre.rate_limit'] = ProtoField.uint32("of11.bsn_vport_l2gre.rate_limit", "rate_limit", base.DEC, nil)
+fields['of11.bsn_vport_l2gre.if_name'] = ProtoField.stringz("of11.bsn_vport_l2gre.if_name", "if_name")
+fields['of11.bsn_vport_q_in_q.type'] = ProtoField.uint16("of11.bsn_vport_q_in_q.type", "type", base.DEC, nil)
+fields['of11.bsn_vport_q_in_q.length'] = ProtoField.uint16("of11.bsn_vport_q_in_q.length", "length", base.DEC, nil)
+fields['of11.bsn_vport_q_in_q.port_no'] = ProtoField.uint32("of11.bsn_vport_q_in_q.port_no", "port_no", base.DEC, nil)
+fields['of11.bsn_vport_q_in_q.ingress_tpid'] = ProtoField.uint16("of11.bsn_vport_q_in_q.ingress_tpid", "ingress_tpid", base.DEC, nil)
+fields['of11.bsn_vport_q_in_q.ingress_vlan_id'] = ProtoField.uint16("of11.bsn_vport_q_in_q.ingress_vlan_id", "ingress_vlan_id", base.DEC, nil)
+fields['of11.bsn_vport_q_in_q.egress_tpid'] = ProtoField.uint16("of11.bsn_vport_q_in_q.egress_tpid", "egress_tpid", base.DEC, nil)
+fields['of11.bsn_vport_q_in_q.egress_vlan_id'] = ProtoField.uint16("of11.bsn_vport_q_in_q.egress_vlan_id", "egress_vlan_id", base.DEC, nil)
+fields['of11.bsn_vport_q_in_q.if_name'] = ProtoField.stringz("of11.bsn_vport_q_in_q.if_name", "if_name")
+fields['of11.bucket.len'] = ProtoField.uint16("of11.bucket.len", "len", base.DEC, nil)
+fields['of11.bucket.weight'] = ProtoField.uint16("of11.bucket.weight", "weight", base.DEC, nil)
+fields['of11.bucket.watch_port'] = ProtoField.uint32("of11.bucket.watch_port", "watch_port", base.DEC, nil)
+fields['of11.bucket.watch_group'] = ProtoField.uint32("of11.bucket.watch_group", "watch_group", base.DEC, nil)
+fields['of11.bucket.actions'] = ProtoField.bytes("of11.bucket.actions", "actions")
+fields['of11.bucket_counter.packet_count'] = ProtoField.uint64("of11.bucket_counter.packet_count", "packet_count", base.DEC, nil)
+fields['of11.bucket_counter.byte_count'] = ProtoField.uint64("of11.bucket_counter.byte_count", "byte_count", base.DEC, nil)
+fields['of11.desc_stats_reply.version'] = ProtoField.uint8("of11.desc_stats_reply.version", "version", base.DEC, nil)
+fields['of11.desc_stats_reply.type'] = ProtoField.uint32("of11.desc_stats_reply.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.desc_stats_reply.length'] = ProtoField.uint16("of11.desc_stats_reply.length", "length", base.DEC, nil)
+fields['of11.desc_stats_reply.xid'] = ProtoField.uint32("of11.desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of11.desc_stats_reply.stats_type'] = ProtoField.uint32("of11.desc_stats_reply.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.desc_stats_reply.flags'] = ProtoField.uint32("of11.desc_stats_reply.flags", "flags", base.HEX, enum_v2_ofp_stats_reply_flags)
+fields['of11.desc_stats_reply.mfr_desc'] = ProtoField.stringz("of11.desc_stats_reply.mfr_desc", "mfr_desc")
+fields['of11.desc_stats_reply.hw_desc'] = ProtoField.stringz("of11.desc_stats_reply.hw_desc", "hw_desc")
+fields['of11.desc_stats_reply.sw_desc'] = ProtoField.stringz("of11.desc_stats_reply.sw_desc", "sw_desc")
+fields['of11.desc_stats_reply.serial_num'] = ProtoField.stringz("of11.desc_stats_reply.serial_num", "serial_num")
+fields['of11.desc_stats_reply.dp_desc'] = ProtoField.stringz("of11.desc_stats_reply.dp_desc", "dp_desc")
+fields['of11.desc_stats_request.version'] = ProtoField.uint8("of11.desc_stats_request.version", "version", base.DEC, nil)
+fields['of11.desc_stats_request.type'] = ProtoField.uint32("of11.desc_stats_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.desc_stats_request.length'] = ProtoField.uint16("of11.desc_stats_request.length", "length", base.DEC, nil)
+fields['of11.desc_stats_request.xid'] = ProtoField.uint32("of11.desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of11.desc_stats_request.stats_type'] = ProtoField.uint32("of11.desc_stats_request.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.desc_stats_request.flags'] = ProtoField.uint32("of11.desc_stats_request.flags", "flags", base.HEX, enum_v2_ofp_stats_request_flags)
+fields['of11.echo_reply.version'] = ProtoField.uint8("of11.echo_reply.version", "version", base.DEC, nil)
+fields['of11.echo_reply.type'] = ProtoField.uint32("of11.echo_reply.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.echo_reply.length'] = ProtoField.uint16("of11.echo_reply.length", "length", base.DEC, nil)
+fields['of11.echo_reply.xid'] = ProtoField.uint32("of11.echo_reply.xid", "xid", base.DEC, nil)
+fields['of11.echo_reply.data'] = ProtoField.bytes("of11.echo_reply.data", "data")
+fields['of11.echo_request.version'] = ProtoField.uint8("of11.echo_request.version", "version", base.DEC, nil)
+fields['of11.echo_request.type'] = ProtoField.uint32("of11.echo_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.echo_request.length'] = ProtoField.uint16("of11.echo_request.length", "length", base.DEC, nil)
+fields['of11.echo_request.xid'] = ProtoField.uint32("of11.echo_request.xid", "xid", base.DEC, nil)
+fields['of11.echo_request.data'] = ProtoField.bytes("of11.echo_request.data", "data")
+fields['of11.features_reply.version'] = ProtoField.uint8("of11.features_reply.version", "version", base.DEC, nil)
+fields['of11.features_reply.type'] = ProtoField.uint32("of11.features_reply.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.features_reply.length'] = ProtoField.uint16("of11.features_reply.length", "length", base.DEC, nil)
+fields['of11.features_reply.xid'] = ProtoField.uint32("of11.features_reply.xid", "xid", base.DEC, nil)
+fields['of11.features_reply.datapath_id'] = ProtoField.uint64("of11.features_reply.datapath_id", "datapath_id", base.DEC, nil)
+fields['of11.features_reply.n_buffers'] = ProtoField.uint32("of11.features_reply.n_buffers", "n_buffers", base.DEC, nil)
+fields['of11.features_reply.n_tables'] = ProtoField.uint8("of11.features_reply.n_tables", "n_tables", base.DEC, nil)
+fields['of11.features_reply.capabilities'] = ProtoField.uint32("of11.features_reply.capabilities", "capabilities", base.HEX, enum_v2_ofp_capabilities)
+fields['of11.features_reply.reserved'] = ProtoField.uint32("of11.features_reply.reserved", "reserved", base.DEC, nil)
+fields['of11.features_reply.ports'] = ProtoField.bytes("of11.features_reply.ports", "ports")
+fields['of11.features_request.version'] = ProtoField.uint8("of11.features_request.version", "version", base.DEC, nil)
+fields['of11.features_request.type'] = ProtoField.uint32("of11.features_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.features_request.length'] = ProtoField.uint16("of11.features_request.length", "length", base.DEC, nil)
+fields['of11.features_request.xid'] = ProtoField.uint32("of11.features_request.xid", "xid", base.DEC, nil)
+fields['of11.flow_mod.version'] = ProtoField.uint8("of11.flow_mod.version", "version", base.DEC, nil)
+fields['of11.flow_mod.type'] = ProtoField.uint32("of11.flow_mod.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.flow_mod.length'] = ProtoField.uint16("of11.flow_mod.length", "length", base.DEC, nil)
+fields['of11.flow_mod.xid'] = ProtoField.uint32("of11.flow_mod.xid", "xid", base.DEC, nil)
+fields['of11.flow_mod.cookie'] = ProtoField.uint64("of11.flow_mod.cookie", "cookie", base.DEC, nil)
+fields['of11.flow_mod.cookie_mask'] = ProtoField.uint64("of11.flow_mod.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of11.flow_mod.table_id'] = ProtoField.uint8("of11.flow_mod.table_id", "table_id", base.DEC, nil)
+fields['of11.flow_mod._command'] = ProtoField.uint32("of11.flow_mod._command", "_command", base.DEC, enum_v2_ofp_flow_mod_command)
+fields['of11.flow_mod.idle_timeout'] = ProtoField.uint16("of11.flow_mod.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of11.flow_mod.hard_timeout'] = ProtoField.uint16("of11.flow_mod.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of11.flow_mod.priority'] = ProtoField.uint16("of11.flow_mod.priority", "priority", base.DEC, nil)
+fields['of11.flow_mod.buffer_id'] = ProtoField.uint32("of11.flow_mod.buffer_id", "buffer_id", base.DEC, nil)
+fields['of11.flow_mod.out_port'] = ProtoField.uint32("of11.flow_mod.out_port", "out_port", base.DEC, enum_v2_ofp_port)
+fields['of11.flow_mod.out_group'] = ProtoField.uint32("of11.flow_mod.out_group", "out_group", base.DEC, enum_v2_ofp_group)
+fields['of11.flow_mod.flags'] = ProtoField.uint32("of11.flow_mod.flags", "flags", base.HEX, enum_v2_ofp_flow_mod_flags)
+fields['of11.flow_mod.match'] = ProtoField.bytes("of11.flow_mod.match", "match")
+fields['of11.flow_mod.instructions'] = ProtoField.bytes("of11.flow_mod.instructions", "instructions")
+fields['of11.flow_add.version'] = ProtoField.uint8("of11.flow_add.version", "version", base.DEC, nil)
+fields['of11.flow_add.type'] = ProtoField.uint32("of11.flow_add.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.flow_add.length'] = ProtoField.uint16("of11.flow_add.length", "length", base.DEC, nil)
+fields['of11.flow_add.xid'] = ProtoField.uint32("of11.flow_add.xid", "xid", base.DEC, nil)
+fields['of11.flow_add.cookie'] = ProtoField.uint64("of11.flow_add.cookie", "cookie", base.DEC, nil)
+fields['of11.flow_add.cookie_mask'] = ProtoField.uint64("of11.flow_add.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of11.flow_add.table_id'] = ProtoField.uint8("of11.flow_add.table_id", "table_id", base.DEC, nil)
+fields['of11.flow_add._command'] = ProtoField.uint16("of11.flow_add._command", "_command", base.DEC, nil)
+fields['of11.flow_add.idle_timeout'] = ProtoField.uint16("of11.flow_add.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of11.flow_add.hard_timeout'] = ProtoField.uint16("of11.flow_add.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of11.flow_add.priority'] = ProtoField.uint16("of11.flow_add.priority", "priority", base.DEC, nil)
+fields['of11.flow_add.buffer_id'] = ProtoField.uint32("of11.flow_add.buffer_id", "buffer_id", base.DEC, nil)
+fields['of11.flow_add.out_port'] = ProtoField.uint32("of11.flow_add.out_port", "out_port", base.DEC, nil)
+fields['of11.flow_add.out_group'] = ProtoField.uint32("of11.flow_add.out_group", "out_group", base.DEC, nil)
+fields['of11.flow_add.flags'] = ProtoField.uint32("of11.flow_add.flags", "flags", base.HEX, enum_v2_ofp_flow_mod_flags)
+fields['of11.flow_add.match'] = ProtoField.bytes("of11.flow_add.match", "match")
+fields['of11.flow_add.instructions'] = ProtoField.bytes("of11.flow_add.instructions", "instructions")
+fields['of11.flow_delete.version'] = ProtoField.uint8("of11.flow_delete.version", "version", base.DEC, nil)
+fields['of11.flow_delete.type'] = ProtoField.uint32("of11.flow_delete.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.flow_delete.length'] = ProtoField.uint16("of11.flow_delete.length", "length", base.DEC, nil)
+fields['of11.flow_delete.xid'] = ProtoField.uint32("of11.flow_delete.xid", "xid", base.DEC, nil)
+fields['of11.flow_delete.cookie'] = ProtoField.uint64("of11.flow_delete.cookie", "cookie", base.DEC, nil)
+fields['of11.flow_delete.cookie_mask'] = ProtoField.uint64("of11.flow_delete.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of11.flow_delete.table_id'] = ProtoField.uint8("of11.flow_delete.table_id", "table_id", base.DEC, nil)
+fields['of11.flow_delete._command'] = ProtoField.uint16("of11.flow_delete._command", "_command", base.DEC, nil)
+fields['of11.flow_delete.idle_timeout'] = ProtoField.uint16("of11.flow_delete.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of11.flow_delete.hard_timeout'] = ProtoField.uint16("of11.flow_delete.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of11.flow_delete.priority'] = ProtoField.uint16("of11.flow_delete.priority", "priority", base.DEC, nil)
+fields['of11.flow_delete.buffer_id'] = ProtoField.uint32("of11.flow_delete.buffer_id", "buffer_id", base.DEC, nil)
+fields['of11.flow_delete.out_port'] = ProtoField.uint32("of11.flow_delete.out_port", "out_port", base.DEC, nil)
+fields['of11.flow_delete.out_group'] = ProtoField.uint32("of11.flow_delete.out_group", "out_group", base.DEC, nil)
+fields['of11.flow_delete.flags'] = ProtoField.uint32("of11.flow_delete.flags", "flags", base.HEX, enum_v2_ofp_flow_mod_flags)
+fields['of11.flow_delete.match'] = ProtoField.bytes("of11.flow_delete.match", "match")
+fields['of11.flow_delete.instructions'] = ProtoField.bytes("of11.flow_delete.instructions", "instructions")
+fields['of11.flow_delete_strict.version'] = ProtoField.uint8("of11.flow_delete_strict.version", "version", base.DEC, nil)
+fields['of11.flow_delete_strict.type'] = ProtoField.uint8("of11.flow_delete_strict.type", "type", base.DEC, nil)
+fields['of11.flow_delete_strict.length'] = ProtoField.uint16("of11.flow_delete_strict.length", "length", base.DEC, nil)
+fields['of11.flow_delete_strict.xid'] = ProtoField.uint32("of11.flow_delete_strict.xid", "xid", base.DEC, nil)
+fields['of11.flow_delete_strict.cookie'] = ProtoField.uint64("of11.flow_delete_strict.cookie", "cookie", base.DEC, nil)
+fields['of11.flow_delete_strict.cookie_mask'] = ProtoField.uint64("of11.flow_delete_strict.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of11.flow_delete_strict.table_id'] = ProtoField.uint8("of11.flow_delete_strict.table_id", "table_id", base.DEC, nil)
+fields['of11.flow_delete_strict._command'] = ProtoField.uint16("of11.flow_delete_strict._command", "_command", base.DEC, nil)
+fields['of11.flow_delete_strict.idle_timeout'] = ProtoField.uint16("of11.flow_delete_strict.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of11.flow_delete_strict.hard_timeout'] = ProtoField.uint16("of11.flow_delete_strict.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of11.flow_delete_strict.priority'] = ProtoField.uint16("of11.flow_delete_strict.priority", "priority", base.DEC, nil)
+fields['of11.flow_delete_strict.buffer_id'] = ProtoField.uint32("of11.flow_delete_strict.buffer_id", "buffer_id", base.DEC, nil)
+fields['of11.flow_delete_strict.out_port'] = ProtoField.uint32("of11.flow_delete_strict.out_port", "out_port", base.DEC, nil)
+fields['of11.flow_delete_strict.out_group'] = ProtoField.uint32("of11.flow_delete_strict.out_group", "out_group", base.DEC, nil)
+fields['of11.flow_delete_strict.flags'] = ProtoField.uint32("of11.flow_delete_strict.flags", "flags", base.HEX, enum_v2_ofp_flow_mod_flags)
+fields['of11.flow_delete_strict.match'] = ProtoField.bytes("of11.flow_delete_strict.match", "match")
+fields['of11.flow_delete_strict.instructions'] = ProtoField.bytes("of11.flow_delete_strict.instructions", "instructions")
+fields['of11.flow_mod_failed_error_msg.version'] = ProtoField.uint8("of11.flow_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of11.flow_mod_failed_error_msg.type'] = ProtoField.uint8("of11.flow_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of11.flow_mod_failed_error_msg.length'] = ProtoField.uint16("of11.flow_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of11.flow_mod_failed_error_msg.xid'] = ProtoField.uint32("of11.flow_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of11.flow_mod_failed_error_msg.err_type'] = ProtoField.uint16("of11.flow_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of11.flow_mod_failed_error_msg.code'] = ProtoField.uint32("of11.flow_mod_failed_error_msg.code", "code", base.DEC, enum_v2_ofp_flow_mod_failed_code)
+fields['of11.flow_mod_failed_error_msg.data'] = ProtoField.bytes("of11.flow_mod_failed_error_msg.data", "data")
+fields['of11.flow_modify.version'] = ProtoField.uint8("of11.flow_modify.version", "version", base.DEC, nil)
+fields['of11.flow_modify.type'] = ProtoField.uint8("of11.flow_modify.type", "type", base.DEC, nil)
+fields['of11.flow_modify.length'] = ProtoField.uint16("of11.flow_modify.length", "length", base.DEC, nil)
+fields['of11.flow_modify.xid'] = ProtoField.uint32("of11.flow_modify.xid", "xid", base.DEC, nil)
+fields['of11.flow_modify.cookie'] = ProtoField.uint64("of11.flow_modify.cookie", "cookie", base.DEC, nil)
+fields['of11.flow_modify.cookie_mask'] = ProtoField.uint64("of11.flow_modify.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of11.flow_modify.table_id'] = ProtoField.uint8("of11.flow_modify.table_id", "table_id", base.DEC, nil)
+fields['of11.flow_modify._command'] = ProtoField.uint16("of11.flow_modify._command", "_command", base.DEC, nil)
+fields['of11.flow_modify.idle_timeout'] = ProtoField.uint16("of11.flow_modify.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of11.flow_modify.hard_timeout'] = ProtoField.uint16("of11.flow_modify.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of11.flow_modify.priority'] = ProtoField.uint16("of11.flow_modify.priority", "priority", base.DEC, nil)
+fields['of11.flow_modify.buffer_id'] = ProtoField.uint32("of11.flow_modify.buffer_id", "buffer_id", base.DEC, nil)
+fields['of11.flow_modify.out_port'] = ProtoField.uint32("of11.flow_modify.out_port", "out_port", base.DEC, nil)
+fields['of11.flow_modify.out_group'] = ProtoField.uint32("of11.flow_modify.out_group", "out_group", base.DEC, nil)
+fields['of11.flow_modify.flags'] = ProtoField.uint32("of11.flow_modify.flags", "flags", base.HEX, enum_v2_ofp_flow_mod_flags)
+fields['of11.flow_modify.match'] = ProtoField.bytes("of11.flow_modify.match", "match")
+fields['of11.flow_modify.instructions'] = ProtoField.bytes("of11.flow_modify.instructions", "instructions")
+fields['of11.flow_modify_strict.version'] = ProtoField.uint8("of11.flow_modify_strict.version", "version", base.DEC, nil)
+fields['of11.flow_modify_strict.type'] = ProtoField.uint8("of11.flow_modify_strict.type", "type", base.DEC, nil)
+fields['of11.flow_modify_strict.length'] = ProtoField.uint16("of11.flow_modify_strict.length", "length", base.DEC, nil)
+fields['of11.flow_modify_strict.xid'] = ProtoField.uint32("of11.flow_modify_strict.xid", "xid", base.DEC, nil)
+fields['of11.flow_modify_strict.cookie'] = ProtoField.uint64("of11.flow_modify_strict.cookie", "cookie", base.DEC, nil)
+fields['of11.flow_modify_strict.cookie_mask'] = ProtoField.uint64("of11.flow_modify_strict.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of11.flow_modify_strict.table_id'] = ProtoField.uint8("of11.flow_modify_strict.table_id", "table_id", base.DEC, nil)
+fields['of11.flow_modify_strict._command'] = ProtoField.uint16("of11.flow_modify_strict._command", "_command", base.DEC, nil)
+fields['of11.flow_modify_strict.idle_timeout'] = ProtoField.uint16("of11.flow_modify_strict.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of11.flow_modify_strict.hard_timeout'] = ProtoField.uint16("of11.flow_modify_strict.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of11.flow_modify_strict.priority'] = ProtoField.uint16("of11.flow_modify_strict.priority", "priority", base.DEC, nil)
+fields['of11.flow_modify_strict.buffer_id'] = ProtoField.uint32("of11.flow_modify_strict.buffer_id", "buffer_id", base.DEC, nil)
+fields['of11.flow_modify_strict.out_port'] = ProtoField.uint32("of11.flow_modify_strict.out_port", "out_port", base.DEC, nil)
+fields['of11.flow_modify_strict.out_group'] = ProtoField.uint32("of11.flow_modify_strict.out_group", "out_group", base.DEC, nil)
+fields['of11.flow_modify_strict.flags'] = ProtoField.uint32("of11.flow_modify_strict.flags", "flags", base.HEX, enum_v2_ofp_flow_mod_flags)
+fields['of11.flow_modify_strict.match'] = ProtoField.bytes("of11.flow_modify_strict.match", "match")
+fields['of11.flow_modify_strict.instructions'] = ProtoField.bytes("of11.flow_modify_strict.instructions", "instructions")
+fields['of11.flow_removed.version'] = ProtoField.uint8("of11.flow_removed.version", "version", base.DEC, nil)
+fields['of11.flow_removed.type'] = ProtoField.uint8("of11.flow_removed.type", "type", base.DEC, nil)
+fields['of11.flow_removed.length'] = ProtoField.uint16("of11.flow_removed.length", "length", base.DEC, nil)
+fields['of11.flow_removed.xid'] = ProtoField.uint32("of11.flow_removed.xid", "xid", base.DEC, nil)
+fields['of11.flow_removed.cookie'] = ProtoField.uint64("of11.flow_removed.cookie", "cookie", base.DEC, nil)
+fields['of11.flow_removed.priority'] = ProtoField.uint16("of11.flow_removed.priority", "priority", base.DEC, nil)
+fields['of11.flow_removed.reason'] = ProtoField.uint8("of11.flow_removed.reason", "reason", base.DEC, nil)
+fields['of11.flow_removed.table_id'] = ProtoField.uint8("of11.flow_removed.table_id", "table_id", base.DEC, nil)
+fields['of11.flow_removed.duration_sec'] = ProtoField.uint32("of11.flow_removed.duration_sec", "duration_sec", base.DEC, nil)
+fields['of11.flow_removed.duration_nsec'] = ProtoField.uint32("of11.flow_removed.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of11.flow_removed.idle_timeout'] = ProtoField.uint16("of11.flow_removed.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of11.flow_removed.packet_count'] = ProtoField.uint64("of11.flow_removed.packet_count", "packet_count", base.DEC, nil)
+fields['of11.flow_removed.byte_count'] = ProtoField.uint64("of11.flow_removed.byte_count", "byte_count", base.DEC, nil)
+fields['of11.flow_removed.match'] = ProtoField.bytes("of11.flow_removed.match", "match")
+fields['of11.flow_stats_entry.length'] = ProtoField.uint16("of11.flow_stats_entry.length", "length", base.DEC, nil)
+fields['of11.flow_stats_entry.table_id'] = ProtoField.uint8("of11.flow_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of11.flow_stats_entry.duration_sec'] = ProtoField.uint32("of11.flow_stats_entry.duration_sec", "duration_sec", base.DEC, nil)
+fields['of11.flow_stats_entry.duration_nsec'] = ProtoField.uint32("of11.flow_stats_entry.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of11.flow_stats_entry.priority'] = ProtoField.uint16("of11.flow_stats_entry.priority", "priority", base.DEC, nil)
+fields['of11.flow_stats_entry.idle_timeout'] = ProtoField.uint16("of11.flow_stats_entry.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of11.flow_stats_entry.hard_timeout'] = ProtoField.uint16("of11.flow_stats_entry.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of11.flow_stats_entry.cookie'] = ProtoField.uint64("of11.flow_stats_entry.cookie", "cookie", base.DEC, nil)
+fields['of11.flow_stats_entry.packet_count'] = ProtoField.uint64("of11.flow_stats_entry.packet_count", "packet_count", base.DEC, nil)
+fields['of11.flow_stats_entry.byte_count'] = ProtoField.uint64("of11.flow_stats_entry.byte_count", "byte_count", base.DEC, nil)
+fields['of11.flow_stats_entry.match'] = ProtoField.bytes("of11.flow_stats_entry.match", "match")
+fields['of11.flow_stats_entry.instructions'] = ProtoField.bytes("of11.flow_stats_entry.instructions", "instructions")
+fields['of11.flow_stats_reply.version'] = ProtoField.uint8("of11.flow_stats_reply.version", "version", base.DEC, nil)
+fields['of11.flow_stats_reply.type'] = ProtoField.uint32("of11.flow_stats_reply.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.flow_stats_reply.length'] = ProtoField.uint16("of11.flow_stats_reply.length", "length", base.DEC, nil)
+fields['of11.flow_stats_reply.xid'] = ProtoField.uint32("of11.flow_stats_reply.xid", "xid", base.DEC, nil)
+fields['of11.flow_stats_reply.stats_type'] = ProtoField.uint32("of11.flow_stats_reply.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.flow_stats_reply.flags'] = ProtoField.uint32("of11.flow_stats_reply.flags", "flags", base.HEX, enum_v2_ofp_stats_reply_flags)
+fields['of11.flow_stats_reply.entries'] = ProtoField.bytes("of11.flow_stats_reply.entries", "entries")
+fields['of11.flow_stats_request.version'] = ProtoField.uint8("of11.flow_stats_request.version", "version", base.DEC, nil)
+fields['of11.flow_stats_request.type'] = ProtoField.uint32("of11.flow_stats_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.flow_stats_request.length'] = ProtoField.uint16("of11.flow_stats_request.length", "length", base.DEC, nil)
+fields['of11.flow_stats_request.xid'] = ProtoField.uint32("of11.flow_stats_request.xid", "xid", base.DEC, nil)
+fields['of11.flow_stats_request.stats_type'] = ProtoField.uint32("of11.flow_stats_request.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.flow_stats_request.flags'] = ProtoField.uint32("of11.flow_stats_request.flags", "flags", base.HEX, enum_v2_ofp_stats_request_flags)
+fields['of11.flow_stats_request.table_id'] = ProtoField.uint8("of11.flow_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of11.flow_stats_request.out_port'] = ProtoField.uint32("of11.flow_stats_request.out_port", "out_port", base.DEC, nil)
+fields['of11.flow_stats_request.out_group'] = ProtoField.uint32("of11.flow_stats_request.out_group", "out_group", base.DEC, nil)
+fields['of11.flow_stats_request.cookie'] = ProtoField.uint64("of11.flow_stats_request.cookie", "cookie", base.DEC, nil)
+fields['of11.flow_stats_request.cookie_mask'] = ProtoField.uint64("of11.flow_stats_request.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of11.flow_stats_request.match'] = ProtoField.bytes("of11.flow_stats_request.match", "match")
+fields['of11.get_config_reply.version'] = ProtoField.uint8("of11.get_config_reply.version", "version", base.DEC, nil)
+fields['of11.get_config_reply.type'] = ProtoField.uint8("of11.get_config_reply.type", "type", base.DEC, nil)
+fields['of11.get_config_reply.length'] = ProtoField.uint16("of11.get_config_reply.length", "length", base.DEC, nil)
+fields['of11.get_config_reply.xid'] = ProtoField.uint32("of11.get_config_reply.xid", "xid", base.DEC, nil)
+fields['of11.get_config_reply.flags'] = ProtoField.uint32("of11.get_config_reply.flags", "flags", base.HEX, enum_v2_ofp_config_flags)
+fields['of11.get_config_reply.miss_send_len'] = ProtoField.uint16("of11.get_config_reply.miss_send_len", "miss_send_len", base.DEC, nil)
+fields['of11.get_config_request.version'] = ProtoField.uint8("of11.get_config_request.version", "version", base.DEC, nil)
+fields['of11.get_config_request.type'] = ProtoField.uint8("of11.get_config_request.type", "type", base.DEC, nil)
+fields['of11.get_config_request.length'] = ProtoField.uint16("of11.get_config_request.length", "length", base.DEC, nil)
+fields['of11.get_config_request.xid'] = ProtoField.uint32("of11.get_config_request.xid", "xid", base.DEC, nil)
+fields['of11.group_mod.version'] = ProtoField.uint8("of11.group_mod.version", "version", base.DEC, nil)
+fields['of11.group_mod.type'] = ProtoField.uint32("of11.group_mod.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.group_mod.length'] = ProtoField.uint16("of11.group_mod.length", "length", base.DEC, nil)
+fields['of11.group_mod.xid'] = ProtoField.uint32("of11.group_mod.xid", "xid", base.DEC, nil)
+fields['of11.group_mod.command'] = ProtoField.uint32("of11.group_mod.command", "command", base.DEC, enum_v2_ofp_group_mod_command)
+fields['of11.group_mod.group_type'] = ProtoField.uint32("of11.group_mod.group_type", "group_type", base.DEC, enum_v2_ofp_group_type)
+fields['of11.group_mod.group_id'] = ProtoField.uint32("of11.group_mod.group_id", "group_id", base.DEC, enum_v2_ofp_group)
+fields['of11.group_mod.buckets'] = ProtoField.bytes("of11.group_mod.buckets", "buckets")
+fields['of11.group_add.version'] = ProtoField.uint8("of11.group_add.version", "version", base.DEC, nil)
+fields['of11.group_add.type'] = ProtoField.uint8("of11.group_add.type", "type", base.DEC, nil)
+fields['of11.group_add.length'] = ProtoField.uint16("of11.group_add.length", "length", base.DEC, nil)
+fields['of11.group_add.xid'] = ProtoField.uint32("of11.group_add.xid", "xid", base.DEC, nil)
+fields['of11.group_add.command'] = ProtoField.uint32("of11.group_add.command", "command", base.DEC, enum_v2_ofp_group_mod_command)
+fields['of11.group_add.group_type'] = ProtoField.uint32("of11.group_add.group_type", "group_type", base.DEC, enum_v2_ofp_group_type)
+fields['of11.group_add.group_id'] = ProtoField.uint32("of11.group_add.group_id", "group_id", base.DEC, nil)
+fields['of11.group_add.buckets'] = ProtoField.bytes("of11.group_add.buckets", "buckets")
+fields['of11.group_delete.version'] = ProtoField.uint8("of11.group_delete.version", "version", base.DEC, nil)
+fields['of11.group_delete.type'] = ProtoField.uint8("of11.group_delete.type", "type", base.DEC, nil)
+fields['of11.group_delete.length'] = ProtoField.uint16("of11.group_delete.length", "length", base.DEC, nil)
+fields['of11.group_delete.xid'] = ProtoField.uint32("of11.group_delete.xid", "xid", base.DEC, nil)
+fields['of11.group_delete.command'] = ProtoField.uint32("of11.group_delete.command", "command", base.DEC, enum_v2_ofp_group_mod_command)
+fields['of11.group_delete.group_type'] = ProtoField.uint32("of11.group_delete.group_type", "group_type", base.DEC, enum_v2_ofp_group_type)
+fields['of11.group_delete.group_id'] = ProtoField.uint32("of11.group_delete.group_id", "group_id", base.DEC, nil)
+fields['of11.group_delete.buckets'] = ProtoField.bytes("of11.group_delete.buckets", "buckets")
+fields['of11.group_desc_stats_entry.length'] = ProtoField.uint16("of11.group_desc_stats_entry.length", "length", base.DEC, nil)
+fields['of11.group_desc_stats_entry.group_type'] = ProtoField.uint32("of11.group_desc_stats_entry.group_type", "group_type", base.DEC, enum_v2_ofp_group_type)
+fields['of11.group_desc_stats_entry.group_id'] = ProtoField.uint32("of11.group_desc_stats_entry.group_id", "group_id", base.DEC, nil)
+fields['of11.group_desc_stats_entry.buckets'] = ProtoField.bytes("of11.group_desc_stats_entry.buckets", "buckets")
+fields['of11.group_desc_stats_reply.version'] = ProtoField.uint8("of11.group_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of11.group_desc_stats_reply.type'] = ProtoField.uint8("of11.group_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of11.group_desc_stats_reply.length'] = ProtoField.uint16("of11.group_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of11.group_desc_stats_reply.xid'] = ProtoField.uint32("of11.group_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of11.group_desc_stats_reply.stats_type'] = ProtoField.uint16("of11.group_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of11.group_desc_stats_reply.flags'] = ProtoField.uint32("of11.group_desc_stats_reply.flags", "flags", base.HEX, enum_v2_ofp_stats_reply_flags)
+fields['of11.group_desc_stats_reply.entries'] = ProtoField.bytes("of11.group_desc_stats_reply.entries", "entries")
+fields['of11.group_desc_stats_request.version'] = ProtoField.uint8("of11.group_desc_stats_request.version", "version", base.DEC, nil)
+fields['of11.group_desc_stats_request.type'] = ProtoField.uint32("of11.group_desc_stats_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.group_desc_stats_request.length'] = ProtoField.uint16("of11.group_desc_stats_request.length", "length", base.DEC, nil)
+fields['of11.group_desc_stats_request.xid'] = ProtoField.uint32("of11.group_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of11.group_desc_stats_request.stats_type'] = ProtoField.uint32("of11.group_desc_stats_request.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.group_desc_stats_request.flags'] = ProtoField.uint32("of11.group_desc_stats_request.flags", "flags", base.HEX, enum_v2_ofp_stats_request_flags)
+fields['of11.group_mod_failed_error_msg.version'] = ProtoField.uint8("of11.group_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of11.group_mod_failed_error_msg.type'] = ProtoField.uint8("of11.group_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of11.group_mod_failed_error_msg.length'] = ProtoField.uint16("of11.group_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of11.group_mod_failed_error_msg.xid'] = ProtoField.uint32("of11.group_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of11.group_mod_failed_error_msg.err_type'] = ProtoField.uint16("of11.group_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of11.group_mod_failed_error_msg.code'] = ProtoField.uint32("of11.group_mod_failed_error_msg.code", "code", base.DEC, enum_v2_ofp_group_mod_failed_code)
+fields['of11.group_mod_failed_error_msg.data'] = ProtoField.bytes("of11.group_mod_failed_error_msg.data", "data")
+fields['of11.group_modify.version'] = ProtoField.uint8("of11.group_modify.version", "version", base.DEC, nil)
+fields['of11.group_modify.type'] = ProtoField.uint8("of11.group_modify.type", "type", base.DEC, nil)
+fields['of11.group_modify.length'] = ProtoField.uint16("of11.group_modify.length", "length", base.DEC, nil)
+fields['of11.group_modify.xid'] = ProtoField.uint32("of11.group_modify.xid", "xid", base.DEC, nil)
+fields['of11.group_modify.command'] = ProtoField.uint32("of11.group_modify.command", "command", base.DEC, enum_v2_ofp_group_mod_command)
+fields['of11.group_modify.group_type'] = ProtoField.uint32("of11.group_modify.group_type", "group_type", base.DEC, enum_v2_ofp_group_type)
+fields['of11.group_modify.group_id'] = ProtoField.uint32("of11.group_modify.group_id", "group_id", base.DEC, nil)
+fields['of11.group_modify.buckets'] = ProtoField.bytes("of11.group_modify.buckets", "buckets")
+fields['of11.group_stats_entry.length'] = ProtoField.uint16("of11.group_stats_entry.length", "length", base.DEC, nil)
+fields['of11.group_stats_entry.group_id'] = ProtoField.uint32("of11.group_stats_entry.group_id", "group_id", base.DEC, nil)
+fields['of11.group_stats_entry.ref_count'] = ProtoField.uint32("of11.group_stats_entry.ref_count", "ref_count", base.DEC, nil)
+fields['of11.group_stats_entry.packet_count'] = ProtoField.uint64("of11.group_stats_entry.packet_count", "packet_count", base.DEC, nil)
+fields['of11.group_stats_entry.byte_count'] = ProtoField.uint64("of11.group_stats_entry.byte_count", "byte_count", base.DEC, nil)
+fields['of11.group_stats_entry.bucket_stats'] = ProtoField.bytes("of11.group_stats_entry.bucket_stats", "bucket_stats")
+fields['of11.group_stats_reply.version'] = ProtoField.uint8("of11.group_stats_reply.version", "version", base.DEC, nil)
+fields['of11.group_stats_reply.type'] = ProtoField.uint8("of11.group_stats_reply.type", "type", base.DEC, nil)
+fields['of11.group_stats_reply.length'] = ProtoField.uint16("of11.group_stats_reply.length", "length", base.DEC, nil)
+fields['of11.group_stats_reply.xid'] = ProtoField.uint32("of11.group_stats_reply.xid", "xid", base.DEC, nil)
+fields['of11.group_stats_reply.stats_type'] = ProtoField.uint16("of11.group_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of11.group_stats_reply.flags'] = ProtoField.uint32("of11.group_stats_reply.flags", "flags", base.HEX, enum_v2_ofp_stats_reply_flags)
+fields['of11.group_stats_reply.entries'] = ProtoField.bytes("of11.group_stats_reply.entries", "entries")
+fields['of11.group_stats_request.version'] = ProtoField.uint8("of11.group_stats_request.version", "version", base.DEC, nil)
+fields['of11.group_stats_request.type'] = ProtoField.uint32("of11.group_stats_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.group_stats_request.length'] = ProtoField.uint16("of11.group_stats_request.length", "length", base.DEC, nil)
+fields['of11.group_stats_request.xid'] = ProtoField.uint32("of11.group_stats_request.xid", "xid", base.DEC, nil)
+fields['of11.group_stats_request.stats_type'] = ProtoField.uint32("of11.group_stats_request.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.group_stats_request.flags'] = ProtoField.uint32("of11.group_stats_request.flags", "flags", base.HEX, enum_v2_ofp_stats_request_flags)
+fields['of11.group_stats_request.group_id'] = ProtoField.uint32("of11.group_stats_request.group_id", "group_id", base.DEC, nil)
+fields['of11.hello.version'] = ProtoField.uint8("of11.hello.version", "version", base.DEC, nil)
+fields['of11.hello.type'] = ProtoField.uint32("of11.hello.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.hello.length'] = ProtoField.uint16("of11.hello.length", "length", base.DEC, nil)
+fields['of11.hello.xid'] = ProtoField.uint32("of11.hello.xid", "xid", base.DEC, nil)
+fields['of11.hello_failed_error_msg.version'] = ProtoField.uint8("of11.hello_failed_error_msg.version", "version", base.DEC, nil)
+fields['of11.hello_failed_error_msg.type'] = ProtoField.uint8("of11.hello_failed_error_msg.type", "type", base.DEC, nil)
+fields['of11.hello_failed_error_msg.length'] = ProtoField.uint16("of11.hello_failed_error_msg.length", "length", base.DEC, nil)
+fields['of11.hello_failed_error_msg.xid'] = ProtoField.uint32("of11.hello_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of11.hello_failed_error_msg.err_type'] = ProtoField.uint16("of11.hello_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of11.hello_failed_error_msg.code'] = ProtoField.uint32("of11.hello_failed_error_msg.code", "code", base.DEC, enum_v2_ofp_hello_failed_code)
+fields['of11.hello_failed_error_msg.data'] = ProtoField.bytes("of11.hello_failed_error_msg.data", "data")
+fields['of11.instruction.type'] = ProtoField.uint16("of11.instruction.type", "type", base.DEC, nil)
+fields['of11.instruction.len'] = ProtoField.uint16("of11.instruction.len", "len", base.DEC, nil)
+fields['of11.instruction_apply_actions.type'] = ProtoField.uint32("of11.instruction_apply_actions.type", "type", base.HEX, enum_v2_ofp_instruction_type)
+fields['of11.instruction_apply_actions.len'] = ProtoField.uint16("of11.instruction_apply_actions.len", "len", base.DEC, nil)
+fields['of11.instruction_apply_actions.actions'] = ProtoField.bytes("of11.instruction_apply_actions.actions", "actions")
+fields['of11.instruction_clear_actions.type'] = ProtoField.uint16("of11.instruction_clear_actions.type", "type", base.DEC, nil)
+fields['of11.instruction_clear_actions.len'] = ProtoField.uint16("of11.instruction_clear_actions.len", "len", base.DEC, nil)
+fields['of11.instruction_experimenter.type'] = ProtoField.uint16("of11.instruction_experimenter.type", "type", base.DEC, nil)
+fields['of11.instruction_experimenter.len'] = ProtoField.uint16("of11.instruction_experimenter.len", "len", base.DEC, nil)
+fields['of11.instruction_experimenter.experimenter'] = ProtoField.uint32("of11.instruction_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of11.instruction_experimenter.data'] = ProtoField.bytes("of11.instruction_experimenter.data", "data")
+fields['of11.instruction_goto_table.type'] = ProtoField.uint16("of11.instruction_goto_table.type", "type", base.DEC, nil)
+fields['of11.instruction_goto_table.len'] = ProtoField.uint16("of11.instruction_goto_table.len", "len", base.DEC, nil)
+fields['of11.instruction_goto_table.table_id'] = ProtoField.uint8("of11.instruction_goto_table.table_id", "table_id", base.DEC, nil)
+fields['of11.instruction_write_actions.type'] = ProtoField.uint32("of11.instruction_write_actions.type", "type", base.HEX, enum_v2_ofp_instruction_type)
+fields['of11.instruction_write_actions.len'] = ProtoField.uint16("of11.instruction_write_actions.len", "len", base.DEC, nil)
+fields['of11.instruction_write_actions.actions'] = ProtoField.bytes("of11.instruction_write_actions.actions", "actions")
+fields['of11.instruction_write_metadata.type'] = ProtoField.uint16("of11.instruction_write_metadata.type", "type", base.DEC, nil)
+fields['of11.instruction_write_metadata.len'] = ProtoField.uint16("of11.instruction_write_metadata.len", "len", base.DEC, nil)
+fields['of11.instruction_write_metadata.metadata'] = ProtoField.uint64("of11.instruction_write_metadata.metadata", "metadata", base.DEC, nil)
+fields['of11.instruction_write_metadata.metadata_mask'] = ProtoField.uint64("of11.instruction_write_metadata.metadata_mask", "metadata_mask", base.DEC, nil)
+fields['of11.match_v2.type'] = ProtoField.uint16("of11.match_v2.type", "type", base.DEC, nil)
+fields['of11.match_v2.length'] = ProtoField.uint16("of11.match_v2.length", "length", base.DEC, nil)
+fields['of11.match_v2.in_port'] = ProtoField.uint32("of11.match_v2.in_port", "in_port", base.DEC, nil)
+fields['of11.match_v2.wildcards'] = ProtoField.uint64("of11.match_v2.wildcards", "wildcards", base.HEX, nil)
+fields['of11.match_v2.eth_src'] = ProtoField.ether("of11.match_v2.eth_src", "eth_src")
+fields['of11.match_v2.eth_src_mask'] = ProtoField.ether("of11.match_v2.eth_src_mask", "eth_src_mask")
+fields['of11.match_v2.eth_dst'] = ProtoField.ether("of11.match_v2.eth_dst", "eth_dst")
+fields['of11.match_v2.eth_dst_mask'] = ProtoField.ether("of11.match_v2.eth_dst_mask", "eth_dst_mask")
+fields['of11.match_v2.vlan_vid'] = ProtoField.uint16("of11.match_v2.vlan_vid", "vlan_vid", base.DEC, nil)
+fields['of11.match_v2.vlan_pcp'] = ProtoField.uint8("of11.match_v2.vlan_pcp", "vlan_pcp", base.DEC, nil)
+fields['of11.match_v2.eth_type'] = ProtoField.uint16("of11.match_v2.eth_type", "eth_type", base.DEC, nil)
+fields['of11.match_v2.ip_dscp'] = ProtoField.uint8("of11.match_v2.ip_dscp", "ip_dscp", base.DEC, nil)
+fields['of11.match_v2.ip_proto'] = ProtoField.uint8("of11.match_v2.ip_proto", "ip_proto", base.DEC, nil)
+fields['of11.match_v2.ipv4_src'] = ProtoField.ipv4("of11.match_v2.ipv4_src", "ipv4_src")
+fields['of11.match_v2.ipv4_src_mask'] = ProtoField.ipv4("of11.match_v2.ipv4_src_mask", "ipv4_src_mask")
+fields['of11.match_v2.ipv4_dst'] = ProtoField.ipv4("of11.match_v2.ipv4_dst", "ipv4_dst")
+fields['of11.match_v2.ipv4_dst_mask'] = ProtoField.ipv4("of11.match_v2.ipv4_dst_mask", "ipv4_dst_mask")
+fields['of11.match_v2.tcp_src'] = ProtoField.uint16("of11.match_v2.tcp_src", "tcp_src", base.DEC, nil)
+fields['of11.match_v2.tcp_dst'] = ProtoField.uint16("of11.match_v2.tcp_dst", "tcp_dst", base.DEC, nil)
+fields['of11.match_v2.mpls_label'] = ProtoField.uint32("of11.match_v2.mpls_label", "mpls_label", base.DEC, nil)
+fields['of11.match_v2.mpls_tc'] = ProtoField.uint8("of11.match_v2.mpls_tc", "mpls_tc", base.DEC, nil)
+fields['of11.match_v2.metadata'] = ProtoField.uint64("of11.match_v2.metadata", "metadata", base.DEC, nil)
+fields['of11.match_v2.metadata_mask'] = ProtoField.uint64("of11.match_v2.metadata_mask", "metadata_mask", base.DEC, nil)
+fields['of11.nicira_header.version'] = ProtoField.uint8("of11.nicira_header.version", "version", base.DEC, nil)
+fields['of11.nicira_header.type'] = ProtoField.uint8("of11.nicira_header.type", "type", base.DEC, nil)
+fields['of11.nicira_header.length'] = ProtoField.uint16("of11.nicira_header.length", "length", base.DEC, nil)
+fields['of11.nicira_header.xid'] = ProtoField.uint32("of11.nicira_header.xid", "xid", base.DEC, nil)
+fields['of11.nicira_header.experimenter'] = ProtoField.uint32("of11.nicira_header.experimenter", "experimenter", base.DEC, nil)
+fields['of11.nicira_header.subtype'] = ProtoField.uint32("of11.nicira_header.subtype", "subtype", base.DEC, nil)
+fields['of11.packet_in.version'] = ProtoField.uint8("of11.packet_in.version", "version", base.DEC, nil)
+fields['of11.packet_in.type'] = ProtoField.uint32("of11.packet_in.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.packet_in.length'] = ProtoField.uint16("of11.packet_in.length", "length", base.DEC, nil)
+fields['of11.packet_in.xid'] = ProtoField.uint32("of11.packet_in.xid", "xid", base.DEC, nil)
+fields['of11.packet_in.buffer_id'] = ProtoField.uint32("of11.packet_in.buffer_id", "buffer_id", base.DEC, nil)
+fields['of11.packet_in.in_port'] = ProtoField.uint32("of11.packet_in.in_port", "in_port", base.DEC, nil)
+fields['of11.packet_in.in_phy_port'] = ProtoField.uint32("of11.packet_in.in_phy_port", "in_phy_port", base.DEC, nil)
+fields['of11.packet_in.total_len'] = ProtoField.uint16("of11.packet_in.total_len", "total_len", base.DEC, nil)
+fields['of11.packet_in.reason'] = ProtoField.uint32("of11.packet_in.reason", "reason", base.DEC, enum_v2_ofp_packet_in_reason)
+fields['of11.packet_in.table_id'] = ProtoField.uint8("of11.packet_in.table_id", "table_id", base.DEC, nil)
+fields['of11.packet_in.data'] = ProtoField.bytes("of11.packet_in.data", "data")
+fields['of11.packet_out.version'] = ProtoField.uint8("of11.packet_out.version", "version", base.DEC, nil)
+fields['of11.packet_out.type'] = ProtoField.uint32("of11.packet_out.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.packet_out.length'] = ProtoField.uint16("of11.packet_out.length", "length", base.DEC, nil)
+fields['of11.packet_out.xid'] = ProtoField.uint32("of11.packet_out.xid", "xid", base.DEC, nil)
+fields['of11.packet_out.buffer_id'] = ProtoField.uint32("of11.packet_out.buffer_id", "buffer_id", base.DEC, nil)
+fields['of11.packet_out.in_port'] = ProtoField.uint32("of11.packet_out.in_port", "in_port", base.DEC, nil)
+fields['of11.packet_out.actions_len'] = ProtoField.uint16("of11.packet_out.actions_len", "actions_len", base.DEC, nil)
+fields['of11.packet_out.actions'] = ProtoField.bytes("of11.packet_out.actions", "actions")
+fields['of11.packet_out.data'] = ProtoField.bytes("of11.packet_out.data", "data")
+fields['of11.packet_queue.queue_id'] = ProtoField.uint32("of11.packet_queue.queue_id", "queue_id", base.DEC, nil)
+fields['of11.packet_queue.len'] = ProtoField.uint16("of11.packet_queue.len", "len", base.DEC, nil)
+fields['of11.packet_queue.properties'] = ProtoField.bytes("of11.packet_queue.properties", "properties")
+fields['of11.port_desc.port_no'] = ProtoField.uint32("of11.port_desc.port_no", "port_no", base.DEC, nil)
+fields['of11.port_desc.hw_addr'] = ProtoField.ether("of11.port_desc.hw_addr", "hw_addr")
+fields['of11.port_desc.name'] = ProtoField.stringz("of11.port_desc.name", "name")
+fields['of11.port_desc.config'] = ProtoField.uint32("of11.port_desc.config", "config", base.HEX, enum_v2_ofp_port_config)
+fields['of11.port_desc.state'] = ProtoField.uint32("of11.port_desc.state", "state", base.HEX, enum_v2_ofp_port_state)
+fields['of11.port_desc.curr'] = ProtoField.uint32("of11.port_desc.curr", "curr", base.HEX, enum_v2_ofp_port_features)
+fields['of11.port_desc.advertised'] = ProtoField.uint32("of11.port_desc.advertised", "advertised", base.HEX, enum_v2_ofp_port_features)
+fields['of11.port_desc.supported'] = ProtoField.uint32("of11.port_desc.supported", "supported", base.HEX, enum_v2_ofp_port_features)
+fields['of11.port_desc.peer'] = ProtoField.uint32("of11.port_desc.peer", "peer", base.HEX, enum_v2_ofp_port_features)
+fields['of11.port_desc.curr_speed'] = ProtoField.uint32("of11.port_desc.curr_speed", "curr_speed", base.DEC, nil)
+fields['of11.port_desc.max_speed'] = ProtoField.uint32("of11.port_desc.max_speed", "max_speed", base.DEC, nil)
+fields['of11.port_mod.version'] = ProtoField.uint8("of11.port_mod.version", "version", base.DEC, nil)
+fields['of11.port_mod.type'] = ProtoField.uint32("of11.port_mod.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.port_mod.length'] = ProtoField.uint16("of11.port_mod.length", "length", base.DEC, nil)
+fields['of11.port_mod.xid'] = ProtoField.uint32("of11.port_mod.xid", "xid", base.DEC, nil)
+fields['of11.port_mod.port_no'] = ProtoField.uint32("of11.port_mod.port_no", "port_no", base.DEC, nil)
+fields['of11.port_mod.hw_addr'] = ProtoField.ether("of11.port_mod.hw_addr", "hw_addr")
+fields['of11.port_mod.config'] = ProtoField.uint32("of11.port_mod.config", "config", base.DEC, nil)
+fields['of11.port_mod.mask'] = ProtoField.uint32("of11.port_mod.mask", "mask", base.DEC, nil)
+fields['of11.port_mod.advertise'] = ProtoField.uint32("of11.port_mod.advertise", "advertise", base.DEC, nil)
+fields['of11.port_mod_failed_error_msg.version'] = ProtoField.uint8("of11.port_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of11.port_mod_failed_error_msg.type'] = ProtoField.uint8("of11.port_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of11.port_mod_failed_error_msg.length'] = ProtoField.uint16("of11.port_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of11.port_mod_failed_error_msg.xid'] = ProtoField.uint32("of11.port_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of11.port_mod_failed_error_msg.err_type'] = ProtoField.uint16("of11.port_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of11.port_mod_failed_error_msg.code'] = ProtoField.uint32("of11.port_mod_failed_error_msg.code", "code", base.DEC, enum_v2_ofp_port_mod_failed_code)
+fields['of11.port_mod_failed_error_msg.data'] = ProtoField.bytes("of11.port_mod_failed_error_msg.data", "data")
+fields['of11.port_stats_entry.port_no'] = ProtoField.uint32("of11.port_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of11.port_stats_entry.rx_packets'] = ProtoField.uint64("of11.port_stats_entry.rx_packets", "rx_packets", base.DEC, nil)
+fields['of11.port_stats_entry.tx_packets'] = ProtoField.uint64("of11.port_stats_entry.tx_packets", "tx_packets", base.DEC, nil)
+fields['of11.port_stats_entry.rx_bytes'] = ProtoField.uint64("of11.port_stats_entry.rx_bytes", "rx_bytes", base.DEC, nil)
+fields['of11.port_stats_entry.tx_bytes'] = ProtoField.uint64("of11.port_stats_entry.tx_bytes", "tx_bytes", base.DEC, nil)
+fields['of11.port_stats_entry.rx_dropped'] = ProtoField.uint64("of11.port_stats_entry.rx_dropped", "rx_dropped", base.DEC, nil)
+fields['of11.port_stats_entry.tx_dropped'] = ProtoField.uint64("of11.port_stats_entry.tx_dropped", "tx_dropped", base.DEC, nil)
+fields['of11.port_stats_entry.rx_errors'] = ProtoField.uint64("of11.port_stats_entry.rx_errors", "rx_errors", base.DEC, nil)
+fields['of11.port_stats_entry.tx_errors'] = ProtoField.uint64("of11.port_stats_entry.tx_errors", "tx_errors", base.DEC, nil)
+fields['of11.port_stats_entry.rx_frame_err'] = ProtoField.uint64("of11.port_stats_entry.rx_frame_err", "rx_frame_err", base.DEC, nil)
+fields['of11.port_stats_entry.rx_over_err'] = ProtoField.uint64("of11.port_stats_entry.rx_over_err", "rx_over_err", base.DEC, nil)
+fields['of11.port_stats_entry.rx_crc_err'] = ProtoField.uint64("of11.port_stats_entry.rx_crc_err", "rx_crc_err", base.DEC, nil)
+fields['of11.port_stats_entry.collisions'] = ProtoField.uint64("of11.port_stats_entry.collisions", "collisions", base.DEC, nil)
+fields['of11.port_stats_reply.version'] = ProtoField.uint8("of11.port_stats_reply.version", "version", base.DEC, nil)
+fields['of11.port_stats_reply.type'] = ProtoField.uint32("of11.port_stats_reply.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.port_stats_reply.length'] = ProtoField.uint16("of11.port_stats_reply.length", "length", base.DEC, nil)
+fields['of11.port_stats_reply.xid'] = ProtoField.uint32("of11.port_stats_reply.xid", "xid", base.DEC, nil)
+fields['of11.port_stats_reply.stats_type'] = ProtoField.uint32("of11.port_stats_reply.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.port_stats_reply.flags'] = ProtoField.uint32("of11.port_stats_reply.flags", "flags", base.HEX, enum_v2_ofp_stats_reply_flags)
+fields['of11.port_stats_reply.entries'] = ProtoField.bytes("of11.port_stats_reply.entries", "entries")
+fields['of11.port_stats_request.version'] = ProtoField.uint8("of11.port_stats_request.version", "version", base.DEC, nil)
+fields['of11.port_stats_request.type'] = ProtoField.uint32("of11.port_stats_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.port_stats_request.length'] = ProtoField.uint16("of11.port_stats_request.length", "length", base.DEC, nil)
+fields['of11.port_stats_request.xid'] = ProtoField.uint32("of11.port_stats_request.xid", "xid", base.DEC, nil)
+fields['of11.port_stats_request.stats_type'] = ProtoField.uint32("of11.port_stats_request.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.port_stats_request.flags'] = ProtoField.uint32("of11.port_stats_request.flags", "flags", base.HEX, enum_v2_ofp_stats_request_flags)
+fields['of11.port_stats_request.port_no'] = ProtoField.uint32("of11.port_stats_request.port_no", "port_no", base.DEC, nil)
+fields['of11.port_status.version'] = ProtoField.uint8("of11.port_status.version", "version", base.DEC, nil)
+fields['of11.port_status.type'] = ProtoField.uint32("of11.port_status.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.port_status.length'] = ProtoField.uint16("of11.port_status.length", "length", base.DEC, nil)
+fields['of11.port_status.xid'] = ProtoField.uint32("of11.port_status.xid", "xid", base.DEC, nil)
+fields['of11.port_status.reason'] = ProtoField.uint32("of11.port_status.reason", "reason", base.DEC, enum_v2_ofp_port_reason)
+fields['of11.port_status.desc'] = ProtoField.stringz("of11.port_status.desc", "desc")
+fields['of11.queue_get_config_reply.version'] = ProtoField.uint8("of11.queue_get_config_reply.version", "version", base.DEC, nil)
+fields['of11.queue_get_config_reply.type'] = ProtoField.uint8("of11.queue_get_config_reply.type", "type", base.DEC, nil)
+fields['of11.queue_get_config_reply.length'] = ProtoField.uint16("of11.queue_get_config_reply.length", "length", base.DEC, nil)
+fields['of11.queue_get_config_reply.xid'] = ProtoField.uint32("of11.queue_get_config_reply.xid", "xid", base.DEC, nil)
+fields['of11.queue_get_config_reply.port'] = ProtoField.uint32("of11.queue_get_config_reply.port", "port", base.DEC, nil)
+fields['of11.queue_get_config_reply.queues'] = ProtoField.bytes("of11.queue_get_config_reply.queues", "queues")
+fields['of11.queue_get_config_request.version'] = ProtoField.uint8("of11.queue_get_config_request.version", "version", base.DEC, nil)
+fields['of11.queue_get_config_request.type'] = ProtoField.uint8("of11.queue_get_config_request.type", "type", base.DEC, nil)
+fields['of11.queue_get_config_request.length'] = ProtoField.uint16("of11.queue_get_config_request.length", "length", base.DEC, nil)
+fields['of11.queue_get_config_request.xid'] = ProtoField.uint32("of11.queue_get_config_request.xid", "xid", base.DEC, nil)
+fields['of11.queue_get_config_request.port'] = ProtoField.uint32("of11.queue_get_config_request.port", "port", base.DEC, nil)
+fields['of11.queue_op_failed_error_msg.version'] = ProtoField.uint8("of11.queue_op_failed_error_msg.version", "version", base.DEC, nil)
+fields['of11.queue_op_failed_error_msg.type'] = ProtoField.uint8("of11.queue_op_failed_error_msg.type", "type", base.DEC, nil)
+fields['of11.queue_op_failed_error_msg.length'] = ProtoField.uint16("of11.queue_op_failed_error_msg.length", "length", base.DEC, nil)
+fields['of11.queue_op_failed_error_msg.xid'] = ProtoField.uint32("of11.queue_op_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of11.queue_op_failed_error_msg.err_type'] = ProtoField.uint16("of11.queue_op_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of11.queue_op_failed_error_msg.code'] = ProtoField.uint32("of11.queue_op_failed_error_msg.code", "code", base.DEC, enum_v2_ofp_queue_op_failed_code)
+fields['of11.queue_op_failed_error_msg.data'] = ProtoField.bytes("of11.queue_op_failed_error_msg.data", "data")
+fields['of11.queue_prop.type'] = ProtoField.uint16("of11.queue_prop.type", "type", base.DEC, nil)
+fields['of11.queue_prop.len'] = ProtoField.uint16("of11.queue_prop.len", "len", base.DEC, nil)
+fields['of11.queue_prop_min_rate.type'] = ProtoField.uint16("of11.queue_prop_min_rate.type", "type", base.DEC, nil)
+fields['of11.queue_prop_min_rate.len'] = ProtoField.uint16("of11.queue_prop_min_rate.len", "len", base.DEC, nil)
+fields['of11.queue_prop_min_rate.rate'] = ProtoField.uint16("of11.queue_prop_min_rate.rate", "rate", base.DEC, nil)
+fields['of11.queue_stats_entry.port_no'] = ProtoField.uint32("of11.queue_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of11.queue_stats_entry.queue_id'] = ProtoField.uint32("of11.queue_stats_entry.queue_id", "queue_id", base.DEC, nil)
+fields['of11.queue_stats_entry.tx_bytes'] = ProtoField.uint64("of11.queue_stats_entry.tx_bytes", "tx_bytes", base.DEC, nil)
+fields['of11.queue_stats_entry.tx_packets'] = ProtoField.uint64("of11.queue_stats_entry.tx_packets", "tx_packets", base.DEC, nil)
+fields['of11.queue_stats_entry.tx_errors'] = ProtoField.uint64("of11.queue_stats_entry.tx_errors", "tx_errors", base.DEC, nil)
+fields['of11.queue_stats_reply.version'] = ProtoField.uint8("of11.queue_stats_reply.version", "version", base.DEC, nil)
+fields['of11.queue_stats_reply.type'] = ProtoField.uint32("of11.queue_stats_reply.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.queue_stats_reply.length'] = ProtoField.uint16("of11.queue_stats_reply.length", "length", base.DEC, nil)
+fields['of11.queue_stats_reply.xid'] = ProtoField.uint32("of11.queue_stats_reply.xid", "xid", base.DEC, nil)
+fields['of11.queue_stats_reply.stats_type'] = ProtoField.uint32("of11.queue_stats_reply.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.queue_stats_reply.flags'] = ProtoField.uint32("of11.queue_stats_reply.flags", "flags", base.HEX, enum_v2_ofp_stats_reply_flags)
+fields['of11.queue_stats_reply.entries'] = ProtoField.bytes("of11.queue_stats_reply.entries", "entries")
+fields['of11.queue_stats_request.version'] = ProtoField.uint8("of11.queue_stats_request.version", "version", base.DEC, nil)
+fields['of11.queue_stats_request.type'] = ProtoField.uint32("of11.queue_stats_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.queue_stats_request.length'] = ProtoField.uint16("of11.queue_stats_request.length", "length", base.DEC, nil)
+fields['of11.queue_stats_request.xid'] = ProtoField.uint32("of11.queue_stats_request.xid", "xid", base.DEC, nil)
+fields['of11.queue_stats_request.stats_type'] = ProtoField.uint32("of11.queue_stats_request.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.queue_stats_request.flags'] = ProtoField.uint32("of11.queue_stats_request.flags", "flags", base.HEX, enum_v2_ofp_stats_request_flags)
+fields['of11.queue_stats_request.port_no'] = ProtoField.uint32("of11.queue_stats_request.port_no", "port_no", base.DEC, nil)
+fields['of11.queue_stats_request.queue_id'] = ProtoField.uint32("of11.queue_stats_request.queue_id", "queue_id", base.DEC, nil)
+fields['of11.set_config.version'] = ProtoField.uint8("of11.set_config.version", "version", base.DEC, nil)
+fields['of11.set_config.type'] = ProtoField.uint8("of11.set_config.type", "type", base.DEC, nil)
+fields['of11.set_config.length'] = ProtoField.uint16("of11.set_config.length", "length", base.DEC, nil)
+fields['of11.set_config.xid'] = ProtoField.uint32("of11.set_config.xid", "xid", base.DEC, nil)
+fields['of11.set_config.flags'] = ProtoField.uint32("of11.set_config.flags", "flags", base.HEX, enum_v2_ofp_config_flags)
+fields['of11.set_config.miss_send_len'] = ProtoField.uint16("of11.set_config.miss_send_len", "miss_send_len", base.DEC, nil)
+fields['of11.switch_config_failed_error_msg.version'] = ProtoField.uint8("of11.switch_config_failed_error_msg.version", "version", base.DEC, nil)
+fields['of11.switch_config_failed_error_msg.type'] = ProtoField.uint8("of11.switch_config_failed_error_msg.type", "type", base.DEC, nil)
+fields['of11.switch_config_failed_error_msg.length'] = ProtoField.uint16("of11.switch_config_failed_error_msg.length", "length", base.DEC, nil)
+fields['of11.switch_config_failed_error_msg.xid'] = ProtoField.uint32("of11.switch_config_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of11.switch_config_failed_error_msg.err_type'] = ProtoField.uint16("of11.switch_config_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of11.switch_config_failed_error_msg.code'] = ProtoField.uint32("of11.switch_config_failed_error_msg.code", "code", base.DEC, enum_v2_ofp_switch_config_failed_code)
+fields['of11.switch_config_failed_error_msg.data'] = ProtoField.bytes("of11.switch_config_failed_error_msg.data", "data")
+fields['of11.table_mod.version'] = ProtoField.uint8("of11.table_mod.version", "version", base.DEC, nil)
+fields['of11.table_mod.type'] = ProtoField.uint8("of11.table_mod.type", "type", base.DEC, nil)
+fields['of11.table_mod.length'] = ProtoField.uint16("of11.table_mod.length", "length", base.DEC, nil)
+fields['of11.table_mod.xid'] = ProtoField.uint32("of11.table_mod.xid", "xid", base.DEC, nil)
+fields['of11.table_mod.table_id'] = ProtoField.uint8("of11.table_mod.table_id", "table_id", base.DEC, nil)
+fields['of11.table_mod.config'] = ProtoField.uint32("of11.table_mod.config", "config", base.DEC, nil)
+fields['of11.table_mod_failed_error_msg.version'] = ProtoField.uint8("of11.table_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of11.table_mod_failed_error_msg.type'] = ProtoField.uint8("of11.table_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of11.table_mod_failed_error_msg.length'] = ProtoField.uint16("of11.table_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of11.table_mod_failed_error_msg.xid'] = ProtoField.uint32("of11.table_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of11.table_mod_failed_error_msg.err_type'] = ProtoField.uint16("of11.table_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of11.table_mod_failed_error_msg.code'] = ProtoField.uint32("of11.table_mod_failed_error_msg.code", "code", base.DEC, enum_v2_ofp_table_mod_failed_code)
+fields['of11.table_mod_failed_error_msg.data'] = ProtoField.bytes("of11.table_mod_failed_error_msg.data", "data")
+fields['of11.table_stats_entry.table_id'] = ProtoField.uint8("of11.table_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of11.table_stats_entry.name'] = ProtoField.stringz("of11.table_stats_entry.name", "name")
+fields['of11.table_stats_entry.wildcards'] = ProtoField.uint64("of11.table_stats_entry.wildcards", "wildcards", base.HEX, nil)
+fields['of11.table_stats_entry.match'] = ProtoField.uint64("of11.table_stats_entry.match", "match", base.HEX, nil)
+fields['of11.table_stats_entry.instructions'] = ProtoField.uint32("of11.table_stats_entry.instructions", "instructions", base.DEC, nil)
+fields['of11.table_stats_entry.write_actions'] = ProtoField.uint32("of11.table_stats_entry.write_actions", "write_actions", base.DEC, nil)
+fields['of11.table_stats_entry.apply_actions'] = ProtoField.uint32("of11.table_stats_entry.apply_actions", "apply_actions", base.DEC, nil)
+fields['of11.table_stats_entry.config'] = ProtoField.uint32("of11.table_stats_entry.config", "config", base.DEC, nil)
+fields['of11.table_stats_entry.max_entries'] = ProtoField.uint32("of11.table_stats_entry.max_entries", "max_entries", base.DEC, nil)
+fields['of11.table_stats_entry.active_count'] = ProtoField.uint32("of11.table_stats_entry.active_count", "active_count", base.DEC, nil)
+fields['of11.table_stats_entry.lookup_count'] = ProtoField.uint64("of11.table_stats_entry.lookup_count", "lookup_count", base.DEC, nil)
+fields['of11.table_stats_entry.matched_count'] = ProtoField.uint64("of11.table_stats_entry.matched_count", "matched_count", base.DEC, nil)
+fields['of11.table_stats_reply.version'] = ProtoField.uint8("of11.table_stats_reply.version", "version", base.DEC, nil)
+fields['of11.table_stats_reply.type'] = ProtoField.uint32("of11.table_stats_reply.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.table_stats_reply.length'] = ProtoField.uint16("of11.table_stats_reply.length", "length", base.DEC, nil)
+fields['of11.table_stats_reply.xid'] = ProtoField.uint32("of11.table_stats_reply.xid", "xid", base.DEC, nil)
+fields['of11.table_stats_reply.stats_type'] = ProtoField.uint32("of11.table_stats_reply.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.table_stats_reply.flags'] = ProtoField.uint32("of11.table_stats_reply.flags", "flags", base.HEX, enum_v2_ofp_stats_reply_flags)
+fields['of11.table_stats_reply.entries'] = ProtoField.bytes("of11.table_stats_reply.entries", "entries")
+fields['of11.table_stats_request.version'] = ProtoField.uint8("of11.table_stats_request.version", "version", base.DEC, nil)
+fields['of11.table_stats_request.type'] = ProtoField.uint32("of11.table_stats_request.type", "type", base.DEC, enum_v2_ofp_type)
+fields['of11.table_stats_request.length'] = ProtoField.uint16("of11.table_stats_request.length", "length", base.DEC, nil)
+fields['of11.table_stats_request.xid'] = ProtoField.uint32("of11.table_stats_request.xid", "xid", base.DEC, nil)
+fields['of11.table_stats_request.stats_type'] = ProtoField.uint32("of11.table_stats_request.stats_type", "stats_type", base.DEC, enum_v2_ofp_stats_type)
+fields['of11.table_stats_request.flags'] = ProtoField.uint32("of11.table_stats_request.flags", "flags", base.HEX, enum_v2_ofp_stats_request_flags)
+fields['of12.action.type'] = ProtoField.uint16("of12.action.type", "type", base.DEC, nil)
+fields['of12.action.len'] = ProtoField.uint16("of12.action.len", "len", base.DEC, nil)
+fields['of12.action_experimenter.type'] = ProtoField.uint16("of12.action_experimenter.type", "type", base.DEC, nil)
+fields['of12.action_experimenter.len'] = ProtoField.uint16("of12.action_experimenter.len", "len", base.DEC, nil)
+fields['of12.action_experimenter.experimenter'] = ProtoField.uint32("of12.action_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of12.action_experimenter.data'] = ProtoField.bytes("of12.action_experimenter.data", "data")
+fields['of12.action_bsn.type'] = ProtoField.uint16("of12.action_bsn.type", "type", base.DEC, nil)
+fields['of12.action_bsn.len'] = ProtoField.uint16("of12.action_bsn.len", "len", base.DEC, nil)
+fields['of12.action_bsn.experimenter'] = ProtoField.uint32("of12.action_bsn.experimenter", "experimenter", base.DEC, nil)
+fields['of12.action_bsn.subtype'] = ProtoField.uint32("of12.action_bsn.subtype", "subtype", base.DEC, nil)
+fields['of12.action_bsn_checksum.type'] = ProtoField.uint16("of12.action_bsn_checksum.type", "type", base.DEC, nil)
+fields['of12.action_bsn_checksum.len'] = ProtoField.uint16("of12.action_bsn_checksum.len", "len", base.DEC, nil)
+fields['of12.action_bsn_checksum.experimenter'] = ProtoField.uint32("of12.action_bsn_checksum.experimenter", "experimenter", base.DEC, nil)
+fields['of12.action_bsn_checksum.subtype'] = ProtoField.uint32("of12.action_bsn_checksum.subtype", "subtype", base.DEC, nil)
+fields['of12.action_bsn_checksum.checksum'] = ProtoField.bytes("of12.action_bsn_checksum.checksum", "checksum")
+fields['of12.action_bsn_mirror.type'] = ProtoField.uint16("of12.action_bsn_mirror.type", "type", base.DEC, nil)
+fields['of12.action_bsn_mirror.len'] = ProtoField.uint16("of12.action_bsn_mirror.len", "len", base.DEC, nil)
+fields['of12.action_bsn_mirror.experimenter'] = ProtoField.uint32("of12.action_bsn_mirror.experimenter", "experimenter", base.DEC, nil)
+fields['of12.action_bsn_mirror.subtype'] = ProtoField.uint32("of12.action_bsn_mirror.subtype", "subtype", base.DEC, nil)
+fields['of12.action_bsn_mirror.dest_port'] = ProtoField.uint32("of12.action_bsn_mirror.dest_port", "dest_port", base.DEC, nil)
+fields['of12.action_bsn_mirror.vlan_tag'] = ProtoField.uint32("of12.action_bsn_mirror.vlan_tag", "vlan_tag", base.DEC, nil)
+fields['of12.action_bsn_mirror.copy_stage'] = ProtoField.uint8("of12.action_bsn_mirror.copy_stage", "copy_stage", base.DEC, nil)
+fields['of12.action_bsn_set_tunnel_dst.type'] = ProtoField.uint16("of12.action_bsn_set_tunnel_dst.type", "type", base.DEC, nil)
+fields['of12.action_bsn_set_tunnel_dst.len'] = ProtoField.uint16("of12.action_bsn_set_tunnel_dst.len", "len", base.DEC, nil)
+fields['of12.action_bsn_set_tunnel_dst.experimenter'] = ProtoField.uint32("of12.action_bsn_set_tunnel_dst.experimenter", "experimenter", base.DEC, nil)
+fields['of12.action_bsn_set_tunnel_dst.subtype'] = ProtoField.uint32("of12.action_bsn_set_tunnel_dst.subtype", "subtype", base.DEC, nil)
+fields['of12.action_bsn_set_tunnel_dst.dst'] = ProtoField.uint32("of12.action_bsn_set_tunnel_dst.dst", "dst", base.DEC, nil)
+fields['of12.action_copy_ttl_in.type'] = ProtoField.uint16("of12.action_copy_ttl_in.type", "type", base.DEC, nil)
+fields['of12.action_copy_ttl_in.len'] = ProtoField.uint16("of12.action_copy_ttl_in.len", "len", base.DEC, nil)
+fields['of12.action_copy_ttl_out.type'] = ProtoField.uint16("of12.action_copy_ttl_out.type", "type", base.DEC, nil)
+fields['of12.action_copy_ttl_out.len'] = ProtoField.uint16("of12.action_copy_ttl_out.len", "len", base.DEC, nil)
+fields['of12.action_dec_mpls_ttl.type'] = ProtoField.uint16("of12.action_dec_mpls_ttl.type", "type", base.DEC, nil)
+fields['of12.action_dec_mpls_ttl.len'] = ProtoField.uint16("of12.action_dec_mpls_ttl.len", "len", base.DEC, nil)
+fields['of12.action_dec_nw_ttl.type'] = ProtoField.uint16("of12.action_dec_nw_ttl.type", "type", base.DEC, nil)
+fields['of12.action_dec_nw_ttl.len'] = ProtoField.uint16("of12.action_dec_nw_ttl.len", "len", base.DEC, nil)
+fields['of12.action_group.type'] = ProtoField.uint32("of12.action_group.type", "type", base.DEC, enum_v3_ofp_action_type)
+fields['of12.action_group.len'] = ProtoField.uint16("of12.action_group.len", "len", base.DEC, nil)
+fields['of12.action_group.group_id'] = ProtoField.uint32("of12.action_group.group_id", "group_id", base.DEC, nil)
+fields['of12.action_nicira.type'] = ProtoField.uint16("of12.action_nicira.type", "type", base.DEC, nil)
+fields['of12.action_nicira.len'] = ProtoField.uint16("of12.action_nicira.len", "len", base.DEC, nil)
+fields['of12.action_nicira.experimenter'] = ProtoField.uint32("of12.action_nicira.experimenter", "experimenter", base.DEC, nil)
+fields['of12.action_nicira.subtype'] = ProtoField.uint16("of12.action_nicira.subtype", "subtype", base.DEC, nil)
+fields['of12.action_nicira_dec_ttl.type'] = ProtoField.uint16("of12.action_nicira_dec_ttl.type", "type", base.DEC, nil)
+fields['of12.action_nicira_dec_ttl.len'] = ProtoField.uint16("of12.action_nicira_dec_ttl.len", "len", base.DEC, nil)
+fields['of12.action_nicira_dec_ttl.experimenter'] = ProtoField.uint32("of12.action_nicira_dec_ttl.experimenter", "experimenter", base.DEC, nil)
+fields['of12.action_nicira_dec_ttl.subtype'] = ProtoField.uint16("of12.action_nicira_dec_ttl.subtype", "subtype", base.DEC, nil)
+fields['of12.action_output.type'] = ProtoField.uint32("of12.action_output.type", "type", base.DEC, enum_v3_ofp_action_type)
+fields['of12.action_output.len'] = ProtoField.uint16("of12.action_output.len", "len", base.DEC, nil)
+fields['of12.action_output.port'] = ProtoField.uint32("of12.action_output.port", "port", base.DEC, nil)
+fields['of12.action_output.max_len'] = ProtoField.uint16("of12.action_output.max_len", "max_len", base.DEC, nil)
+fields['of12.action_pop_mpls.type'] = ProtoField.uint16("of12.action_pop_mpls.type", "type", base.DEC, nil)
+fields['of12.action_pop_mpls.len'] = ProtoField.uint16("of12.action_pop_mpls.len", "len", base.DEC, nil)
+fields['of12.action_pop_mpls.ethertype'] = ProtoField.uint16("of12.action_pop_mpls.ethertype", "ethertype", base.DEC, nil)
+fields['of12.action_pop_vlan.type'] = ProtoField.uint16("of12.action_pop_vlan.type", "type", base.DEC, nil)
+fields['of12.action_pop_vlan.len'] = ProtoField.uint16("of12.action_pop_vlan.len", "len", base.DEC, nil)
+fields['of12.action_push_mpls.type'] = ProtoField.uint16("of12.action_push_mpls.type", "type", base.DEC, nil)
+fields['of12.action_push_mpls.len'] = ProtoField.uint16("of12.action_push_mpls.len", "len", base.DEC, nil)
+fields['of12.action_push_mpls.ethertype'] = ProtoField.uint16("of12.action_push_mpls.ethertype", "ethertype", base.DEC, nil)
+fields['of12.action_push_vlan.type'] = ProtoField.uint16("of12.action_push_vlan.type", "type", base.DEC, nil)
+fields['of12.action_push_vlan.len'] = ProtoField.uint16("of12.action_push_vlan.len", "len", base.DEC, nil)
+fields['of12.action_push_vlan.ethertype'] = ProtoField.uint16("of12.action_push_vlan.ethertype", "ethertype", base.DEC, nil)
+fields['of12.oxm.type_len'] = ProtoField.uint32("of12.oxm.type_len", "type_len", base.DEC, nil)
+fields['of12.action_set_field.type'] = ProtoField.uint32("of12.action_set_field.type", "type", base.DEC, enum_v3_ofp_action_type)
+fields['of12.action_set_field.len'] = ProtoField.uint16("of12.action_set_field.len", "len", base.DEC, nil)
+fields['of12.action_set_field.field'] = ProtoField.bytes("of12.action_set_field.field", "field")
+fields['of12.action_set_mpls_ttl.type'] = ProtoField.uint16("of12.action_set_mpls_ttl.type", "type", base.DEC, nil)
+fields['of12.action_set_mpls_ttl.len'] = ProtoField.uint16("of12.action_set_mpls_ttl.len", "len", base.DEC, nil)
+fields['of12.action_set_mpls_ttl.mpls_ttl'] = ProtoField.uint8("of12.action_set_mpls_ttl.mpls_ttl", "mpls_ttl", base.DEC, nil)
+fields['of12.action_set_nw_ttl.type'] = ProtoField.uint32("of12.action_set_nw_ttl.type", "type", base.DEC, enum_v3_ofp_action_type)
+fields['of12.action_set_nw_ttl.len'] = ProtoField.uint16("of12.action_set_nw_ttl.len", "len", base.DEC, nil)
+fields['of12.action_set_nw_ttl.nw_ttl'] = ProtoField.uint8("of12.action_set_nw_ttl.nw_ttl", "nw_ttl", base.DEC, nil)
+fields['of12.action_set_queue.type'] = ProtoField.uint16("of12.action_set_queue.type", "type", base.DEC, nil)
+fields['of12.action_set_queue.len'] = ProtoField.uint16("of12.action_set_queue.len", "len", base.DEC, nil)
+fields['of12.action_set_queue.queue_id'] = ProtoField.uint32("of12.action_set_queue.queue_id", "queue_id", base.DEC, nil)
+fields['of12.header.version'] = ProtoField.uint8("of12.header.version", "version", base.DEC, nil)
+fields['of12.header.type'] = ProtoField.uint8("of12.header.type", "type", base.DEC, nil)
+fields['of12.header.length'] = ProtoField.uint16("of12.header.length", "length", base.DEC, nil)
+fields['of12.header.xid'] = ProtoField.uint32("of12.header.xid", "xid", base.DEC, nil)
+fields['of12.stats_reply.version'] = ProtoField.uint8("of12.stats_reply.version", "version", base.DEC, nil)
+fields['of12.stats_reply.type'] = ProtoField.uint32("of12.stats_reply.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.stats_reply.length'] = ProtoField.uint16("of12.stats_reply.length", "length", base.DEC, nil)
+fields['of12.stats_reply.xid'] = ProtoField.uint32("of12.stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.stats_reply.stats_type'] = ProtoField.uint32("of12.stats_reply.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.stats_reply.flags'] = ProtoField.uint32("of12.stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.aggregate_stats_reply.version'] = ProtoField.uint8("of12.aggregate_stats_reply.version", "version", base.DEC, nil)
+fields['of12.aggregate_stats_reply.type'] = ProtoField.uint32("of12.aggregate_stats_reply.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.aggregate_stats_reply.length'] = ProtoField.uint16("of12.aggregate_stats_reply.length", "length", base.DEC, nil)
+fields['of12.aggregate_stats_reply.xid'] = ProtoField.uint32("of12.aggregate_stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.aggregate_stats_reply.stats_type'] = ProtoField.uint32("of12.aggregate_stats_reply.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.aggregate_stats_reply.flags'] = ProtoField.uint32("of12.aggregate_stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.aggregate_stats_reply.packet_count'] = ProtoField.uint64("of12.aggregate_stats_reply.packet_count", "packet_count", base.DEC, nil)
+fields['of12.aggregate_stats_reply.byte_count'] = ProtoField.uint64("of12.aggregate_stats_reply.byte_count", "byte_count", base.DEC, nil)
+fields['of12.aggregate_stats_reply.flow_count'] = ProtoField.uint32("of12.aggregate_stats_reply.flow_count", "flow_count", base.DEC, nil)
+fields['of12.stats_request.version'] = ProtoField.uint8("of12.stats_request.version", "version", base.DEC, nil)
+fields['of12.stats_request.type'] = ProtoField.uint32("of12.stats_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.stats_request.length'] = ProtoField.uint16("of12.stats_request.length", "length", base.DEC, nil)
+fields['of12.stats_request.xid'] = ProtoField.uint32("of12.stats_request.xid", "xid", base.DEC, nil)
+fields['of12.stats_request.stats_type'] = ProtoField.uint32("of12.stats_request.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.stats_request.flags'] = ProtoField.uint32("of12.stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of12.aggregate_stats_request.version'] = ProtoField.uint8("of12.aggregate_stats_request.version", "version", base.DEC, nil)
+fields['of12.aggregate_stats_request.type'] = ProtoField.uint32("of12.aggregate_stats_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.aggregate_stats_request.length'] = ProtoField.uint16("of12.aggregate_stats_request.length", "length", base.DEC, nil)
+fields['of12.aggregate_stats_request.xid'] = ProtoField.uint32("of12.aggregate_stats_request.xid", "xid", base.DEC, nil)
+fields['of12.aggregate_stats_request.stats_type'] = ProtoField.uint32("of12.aggregate_stats_request.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.aggregate_stats_request.flags'] = ProtoField.uint32("of12.aggregate_stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of12.aggregate_stats_request.table_id'] = ProtoField.uint8("of12.aggregate_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of12.aggregate_stats_request.out_port'] = ProtoField.uint32("of12.aggregate_stats_request.out_port", "out_port", base.DEC, nil)
+fields['of12.aggregate_stats_request.out_group'] = ProtoField.uint32("of12.aggregate_stats_request.out_group", "out_group", base.DEC, nil)
+fields['of12.aggregate_stats_request.cookie'] = ProtoField.uint64("of12.aggregate_stats_request.cookie", "cookie", base.DEC, nil)
+fields['of12.aggregate_stats_request.cookie_mask'] = ProtoField.uint64("of12.aggregate_stats_request.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of12.aggregate_stats_request.match'] = ProtoField.bytes("of12.aggregate_stats_request.match", "match")
+fields['of12.error_msg.version'] = ProtoField.uint8("of12.error_msg.version", "version", base.DEC, nil)
+fields['of12.error_msg.type'] = ProtoField.uint32("of12.error_msg.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.error_msg.length'] = ProtoField.uint16("of12.error_msg.length", "length", base.DEC, nil)
+fields['of12.error_msg.xid'] = ProtoField.uint32("of12.error_msg.xid", "xid", base.DEC, nil)
+fields['of12.error_msg.err_type'] = ProtoField.uint32("of12.error_msg.err_type", "err_type", base.DEC, enum_v3_ofp_error_type)
+fields['of12.bad_action_error_msg.version'] = ProtoField.uint8("of12.bad_action_error_msg.version", "version", base.DEC, nil)
+fields['of12.bad_action_error_msg.type'] = ProtoField.uint8("of12.bad_action_error_msg.type", "type", base.DEC, nil)
+fields['of12.bad_action_error_msg.length'] = ProtoField.uint16("of12.bad_action_error_msg.length", "length", base.DEC, nil)
+fields['of12.bad_action_error_msg.xid'] = ProtoField.uint32("of12.bad_action_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.bad_action_error_msg.err_type'] = ProtoField.uint16("of12.bad_action_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.bad_action_error_msg.code'] = ProtoField.uint32("of12.bad_action_error_msg.code", "code", base.DEC, enum_v3_ofp_bad_action_code)
+fields['of12.bad_action_error_msg.data'] = ProtoField.bytes("of12.bad_action_error_msg.data", "data")
+fields['of12.bad_instruction_error_msg.version'] = ProtoField.uint8("of12.bad_instruction_error_msg.version", "version", base.DEC, nil)
+fields['of12.bad_instruction_error_msg.type'] = ProtoField.uint8("of12.bad_instruction_error_msg.type", "type", base.DEC, nil)
+fields['of12.bad_instruction_error_msg.length'] = ProtoField.uint16("of12.bad_instruction_error_msg.length", "length", base.DEC, nil)
+fields['of12.bad_instruction_error_msg.xid'] = ProtoField.uint32("of12.bad_instruction_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.bad_instruction_error_msg.err_type'] = ProtoField.uint16("of12.bad_instruction_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.bad_instruction_error_msg.code'] = ProtoField.uint32("of12.bad_instruction_error_msg.code", "code", base.DEC, enum_v3_ofp_bad_instruction_code)
+fields['of12.bad_instruction_error_msg.data'] = ProtoField.bytes("of12.bad_instruction_error_msg.data", "data")
+fields['of12.bad_match_error_msg.version'] = ProtoField.uint8("of12.bad_match_error_msg.version", "version", base.DEC, nil)
+fields['of12.bad_match_error_msg.type'] = ProtoField.uint8("of12.bad_match_error_msg.type", "type", base.DEC, nil)
+fields['of12.bad_match_error_msg.length'] = ProtoField.uint16("of12.bad_match_error_msg.length", "length", base.DEC, nil)
+fields['of12.bad_match_error_msg.xid'] = ProtoField.uint32("of12.bad_match_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.bad_match_error_msg.err_type'] = ProtoField.uint16("of12.bad_match_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.bad_match_error_msg.code'] = ProtoField.uint32("of12.bad_match_error_msg.code", "code", base.DEC, enum_v3_ofp_bad_match_code)
+fields['of12.bad_match_error_msg.data'] = ProtoField.bytes("of12.bad_match_error_msg.data", "data")
+fields['of12.bad_request_error_msg.version'] = ProtoField.uint8("of12.bad_request_error_msg.version", "version", base.DEC, nil)
+fields['of12.bad_request_error_msg.type'] = ProtoField.uint8("of12.bad_request_error_msg.type", "type", base.DEC, nil)
+fields['of12.bad_request_error_msg.length'] = ProtoField.uint16("of12.bad_request_error_msg.length", "length", base.DEC, nil)
+fields['of12.bad_request_error_msg.xid'] = ProtoField.uint32("of12.bad_request_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.bad_request_error_msg.err_type'] = ProtoField.uint16("of12.bad_request_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.bad_request_error_msg.code'] = ProtoField.uint32("of12.bad_request_error_msg.code", "code", base.DEC, enum_v3_ofp_bad_request_code)
+fields['of12.bad_request_error_msg.data'] = ProtoField.bytes("of12.bad_request_error_msg.data", "data")
+fields['of12.barrier_reply.version'] = ProtoField.uint8("of12.barrier_reply.version", "version", base.DEC, nil)
+fields['of12.barrier_reply.type'] = ProtoField.uint32("of12.barrier_reply.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.barrier_reply.length'] = ProtoField.uint16("of12.barrier_reply.length", "length", base.DEC, nil)
+fields['of12.barrier_reply.xid'] = ProtoField.uint32("of12.barrier_reply.xid", "xid", base.DEC, nil)
+fields['of12.barrier_request.version'] = ProtoField.uint8("of12.barrier_request.version", "version", base.DEC, nil)
+fields['of12.barrier_request.type'] = ProtoField.uint32("of12.barrier_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.barrier_request.length'] = ProtoField.uint16("of12.barrier_request.length", "length", base.DEC, nil)
+fields['of12.barrier_request.xid'] = ProtoField.uint32("of12.barrier_request.xid", "xid", base.DEC, nil)
+fields['of12.experimenter.version'] = ProtoField.uint8("of12.experimenter.version", "version", base.DEC, nil)
+fields['of12.experimenter.type'] = ProtoField.uint8("of12.experimenter.type", "type", base.DEC, nil)
+fields['of12.experimenter.length'] = ProtoField.uint16("of12.experimenter.length", "length", base.DEC, nil)
+fields['of12.experimenter.xid'] = ProtoField.uint32("of12.experimenter.xid", "xid", base.DEC, nil)
+fields['of12.experimenter.experimenter'] = ProtoField.uint32("of12.experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of12.experimenter.subtype'] = ProtoField.uint32("of12.experimenter.subtype", "subtype", base.DEC, nil)
+fields['of12.experimenter.data'] = ProtoField.bytes("of12.experimenter.data", "data")
+fields['of12.bsn_header.version'] = ProtoField.uint8("of12.bsn_header.version", "version", base.DEC, nil)
+fields['of12.bsn_header.type'] = ProtoField.uint8("of12.bsn_header.type", "type", base.DEC, nil)
+fields['of12.bsn_header.length'] = ProtoField.uint16("of12.bsn_header.length", "length", base.DEC, nil)
+fields['of12.bsn_header.xid'] = ProtoField.uint32("of12.bsn_header.xid", "xid", base.DEC, nil)
+fields['of12.bsn_header.experimenter'] = ProtoField.uint32("of12.bsn_header.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_header.subtype'] = ProtoField.uint32("of12.bsn_header.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_reply.version'] = ProtoField.uint8("of12.bsn_bw_clear_data_reply.version", "version", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_reply.type'] = ProtoField.uint8("of12.bsn_bw_clear_data_reply.type", "type", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_reply.length'] = ProtoField.uint16("of12.bsn_bw_clear_data_reply.length", "length", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_reply.xid'] = ProtoField.uint32("of12.bsn_bw_clear_data_reply.xid", "xid", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_reply.experimenter'] = ProtoField.uint32("of12.bsn_bw_clear_data_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_reply.subtype'] = ProtoField.uint32("of12.bsn_bw_clear_data_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_reply.status'] = ProtoField.uint32("of12.bsn_bw_clear_data_reply.status", "status", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_request.version'] = ProtoField.uint8("of12.bsn_bw_clear_data_request.version", "version", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_request.type'] = ProtoField.uint8("of12.bsn_bw_clear_data_request.type", "type", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_request.length'] = ProtoField.uint16("of12.bsn_bw_clear_data_request.length", "length", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_request.xid'] = ProtoField.uint32("of12.bsn_bw_clear_data_request.xid", "xid", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_request.experimenter'] = ProtoField.uint32("of12.bsn_bw_clear_data_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_bw_clear_data_request.subtype'] = ProtoField.uint32("of12.bsn_bw_clear_data_request.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_reply.version'] = ProtoField.uint8("of12.bsn_bw_enable_get_reply.version", "version", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_reply.type'] = ProtoField.uint8("of12.bsn_bw_enable_get_reply.type", "type", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_reply.length'] = ProtoField.uint16("of12.bsn_bw_enable_get_reply.length", "length", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_reply.xid'] = ProtoField.uint32("of12.bsn_bw_enable_get_reply.xid", "xid", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_reply.experimenter'] = ProtoField.uint32("of12.bsn_bw_enable_get_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_reply.subtype'] = ProtoField.uint32("of12.bsn_bw_enable_get_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_reply.enabled'] = ProtoField.uint32("of12.bsn_bw_enable_get_reply.enabled", "enabled", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_request.version'] = ProtoField.uint8("of12.bsn_bw_enable_get_request.version", "version", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_request.type'] = ProtoField.uint8("of12.bsn_bw_enable_get_request.type", "type", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_request.length'] = ProtoField.uint16("of12.bsn_bw_enable_get_request.length", "length", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_request.xid'] = ProtoField.uint32("of12.bsn_bw_enable_get_request.xid", "xid", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_request.experimenter'] = ProtoField.uint32("of12.bsn_bw_enable_get_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_bw_enable_get_request.subtype'] = ProtoField.uint32("of12.bsn_bw_enable_get_request.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_reply.version'] = ProtoField.uint8("of12.bsn_bw_enable_set_reply.version", "version", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_reply.type'] = ProtoField.uint8("of12.bsn_bw_enable_set_reply.type", "type", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_reply.length'] = ProtoField.uint16("of12.bsn_bw_enable_set_reply.length", "length", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_reply.xid'] = ProtoField.uint32("of12.bsn_bw_enable_set_reply.xid", "xid", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_reply.experimenter'] = ProtoField.uint32("of12.bsn_bw_enable_set_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_reply.subtype'] = ProtoField.uint32("of12.bsn_bw_enable_set_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_reply.enable'] = ProtoField.uint32("of12.bsn_bw_enable_set_reply.enable", "enable", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_reply.status'] = ProtoField.uint32("of12.bsn_bw_enable_set_reply.status", "status", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_request.version'] = ProtoField.uint8("of12.bsn_bw_enable_set_request.version", "version", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_request.type'] = ProtoField.uint8("of12.bsn_bw_enable_set_request.type", "type", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_request.length'] = ProtoField.uint16("of12.bsn_bw_enable_set_request.length", "length", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_request.xid'] = ProtoField.uint32("of12.bsn_bw_enable_set_request.xid", "xid", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_request.experimenter'] = ProtoField.uint32("of12.bsn_bw_enable_set_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_request.subtype'] = ProtoField.uint32("of12.bsn_bw_enable_set_request.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_bw_enable_set_request.enable'] = ProtoField.uint32("of12.bsn_bw_enable_set_request.enable", "enable", base.DEC, nil)
+fields['of12.bsn_get_interfaces_reply.version'] = ProtoField.uint8("of12.bsn_get_interfaces_reply.version", "version", base.DEC, nil)
+fields['of12.bsn_get_interfaces_reply.type'] = ProtoField.uint8("of12.bsn_get_interfaces_reply.type", "type", base.DEC, nil)
+fields['of12.bsn_get_interfaces_reply.length'] = ProtoField.uint16("of12.bsn_get_interfaces_reply.length", "length", base.DEC, nil)
+fields['of12.bsn_get_interfaces_reply.xid'] = ProtoField.uint32("of12.bsn_get_interfaces_reply.xid", "xid", base.DEC, nil)
+fields['of12.bsn_get_interfaces_reply.experimenter'] = ProtoField.uint32("of12.bsn_get_interfaces_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_get_interfaces_reply.subtype'] = ProtoField.uint32("of12.bsn_get_interfaces_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_get_interfaces_reply.interfaces'] = ProtoField.bytes("of12.bsn_get_interfaces_reply.interfaces", "interfaces")
+fields['of12.bsn_get_interfaces_request.version'] = ProtoField.uint8("of12.bsn_get_interfaces_request.version", "version", base.DEC, nil)
+fields['of12.bsn_get_interfaces_request.type'] = ProtoField.uint8("of12.bsn_get_interfaces_request.type", "type", base.DEC, nil)
+fields['of12.bsn_get_interfaces_request.length'] = ProtoField.uint16("of12.bsn_get_interfaces_request.length", "length", base.DEC, nil)
+fields['of12.bsn_get_interfaces_request.xid'] = ProtoField.uint32("of12.bsn_get_interfaces_request.xid", "xid", base.DEC, nil)
+fields['of12.bsn_get_interfaces_request.experimenter'] = ProtoField.uint32("of12.bsn_get_interfaces_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_get_interfaces_request.subtype'] = ProtoField.uint32("of12.bsn_get_interfaces_request.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_get_mirroring_reply.version'] = ProtoField.uint8("of12.bsn_get_mirroring_reply.version", "version", base.DEC, nil)
+fields['of12.bsn_get_mirroring_reply.type'] = ProtoField.uint8("of12.bsn_get_mirroring_reply.type", "type", base.DEC, nil)
+fields['of12.bsn_get_mirroring_reply.length'] = ProtoField.uint16("of12.bsn_get_mirroring_reply.length", "length", base.DEC, nil)
+fields['of12.bsn_get_mirroring_reply.xid'] = ProtoField.uint32("of12.bsn_get_mirroring_reply.xid", "xid", base.DEC, nil)
+fields['of12.bsn_get_mirroring_reply.experimenter'] = ProtoField.uint32("of12.bsn_get_mirroring_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_get_mirroring_reply.subtype'] = ProtoField.uint32("of12.bsn_get_mirroring_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_get_mirroring_reply.report_mirror_ports'] = ProtoField.uint8("of12.bsn_get_mirroring_reply.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of12.bsn_get_mirroring_request.version'] = ProtoField.uint8("of12.bsn_get_mirroring_request.version", "version", base.DEC, nil)
+fields['of12.bsn_get_mirroring_request.type'] = ProtoField.uint8("of12.bsn_get_mirroring_request.type", "type", base.DEC, nil)
+fields['of12.bsn_get_mirroring_request.length'] = ProtoField.uint16("of12.bsn_get_mirroring_request.length", "length", base.DEC, nil)
+fields['of12.bsn_get_mirroring_request.xid'] = ProtoField.uint32("of12.bsn_get_mirroring_request.xid", "xid", base.DEC, nil)
+fields['of12.bsn_get_mirroring_request.experimenter'] = ProtoField.uint32("of12.bsn_get_mirroring_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_get_mirroring_request.subtype'] = ProtoField.uint32("of12.bsn_get_mirroring_request.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_get_mirroring_request.report_mirror_ports'] = ProtoField.uint8("of12.bsn_get_mirroring_request.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of12.bsn_interface.hw_addr'] = ProtoField.ether("of12.bsn_interface.hw_addr", "hw_addr")
+fields['of12.bsn_interface.name'] = ProtoField.stringz("of12.bsn_interface.name", "name")
+fields['of12.bsn_interface.ipv4_addr'] = ProtoField.ipv4("of12.bsn_interface.ipv4_addr", "ipv4_addr")
+fields['of12.bsn_interface.ipv4_netmask'] = ProtoField.ipv4("of12.bsn_interface.ipv4_netmask", "ipv4_netmask")
+fields['of12.bsn_pdu_rx_reply.version'] = ProtoField.uint8("of12.bsn_pdu_rx_reply.version", "version", base.DEC, nil)
+fields['of12.bsn_pdu_rx_reply.type'] = ProtoField.uint8("of12.bsn_pdu_rx_reply.type", "type", base.DEC, nil)
+fields['of12.bsn_pdu_rx_reply.length'] = ProtoField.uint16("of12.bsn_pdu_rx_reply.length", "length", base.DEC, nil)
+fields['of12.bsn_pdu_rx_reply.xid'] = ProtoField.uint32("of12.bsn_pdu_rx_reply.xid", "xid", base.DEC, nil)
+fields['of12.bsn_pdu_rx_reply.experimenter'] = ProtoField.uint32("of12.bsn_pdu_rx_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_pdu_rx_reply.subtype'] = ProtoField.uint32("of12.bsn_pdu_rx_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_pdu_rx_reply.status'] = ProtoField.uint32("of12.bsn_pdu_rx_reply.status", "status", base.DEC, nil)
+fields['of12.bsn_pdu_rx_reply.port_no'] = ProtoField.uint32("of12.bsn_pdu_rx_reply.port_no", "port_no", base.DEC, nil)
+fields['of12.bsn_pdu_rx_reply.slot_num'] = ProtoField.uint8("of12.bsn_pdu_rx_reply.slot_num", "slot_num", base.DEC, nil)
+fields['of12.bsn_pdu_rx_request.version'] = ProtoField.uint8("of12.bsn_pdu_rx_request.version", "version", base.DEC, nil)
+fields['of12.bsn_pdu_rx_request.type'] = ProtoField.uint8("of12.bsn_pdu_rx_request.type", "type", base.DEC, nil)
+fields['of12.bsn_pdu_rx_request.length'] = ProtoField.uint16("of12.bsn_pdu_rx_request.length", "length", base.DEC, nil)
+fields['of12.bsn_pdu_rx_request.xid'] = ProtoField.uint32("of12.bsn_pdu_rx_request.xid", "xid", base.DEC, nil)
+fields['of12.bsn_pdu_rx_request.experimenter'] = ProtoField.uint32("of12.bsn_pdu_rx_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_pdu_rx_request.subtype'] = ProtoField.uint32("of12.bsn_pdu_rx_request.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_pdu_rx_request.timeout_ms'] = ProtoField.uint32("of12.bsn_pdu_rx_request.timeout_ms", "timeout_ms", base.DEC, nil)
+fields['of12.bsn_pdu_rx_request.port_no'] = ProtoField.uint32("of12.bsn_pdu_rx_request.port_no", "port_no", base.DEC, nil)
+fields['of12.bsn_pdu_rx_request.slot_num'] = ProtoField.uint8("of12.bsn_pdu_rx_request.slot_num", "slot_num", base.DEC, nil)
+fields['of12.bsn_pdu_rx_request.data'] = ProtoField.bytes("of12.bsn_pdu_rx_request.data", "data")
+fields['of12.bsn_pdu_rx_timeout.version'] = ProtoField.uint8("of12.bsn_pdu_rx_timeout.version", "version", base.DEC, nil)
+fields['of12.bsn_pdu_rx_timeout.type'] = ProtoField.uint8("of12.bsn_pdu_rx_timeout.type", "type", base.DEC, nil)
+fields['of12.bsn_pdu_rx_timeout.length'] = ProtoField.uint16("of12.bsn_pdu_rx_timeout.length", "length", base.DEC, nil)
+fields['of12.bsn_pdu_rx_timeout.xid'] = ProtoField.uint32("of12.bsn_pdu_rx_timeout.xid", "xid", base.DEC, nil)
+fields['of12.bsn_pdu_rx_timeout.experimenter'] = ProtoField.uint32("of12.bsn_pdu_rx_timeout.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_pdu_rx_timeout.subtype'] = ProtoField.uint32("of12.bsn_pdu_rx_timeout.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_pdu_rx_timeout.port_no'] = ProtoField.uint32("of12.bsn_pdu_rx_timeout.port_no", "port_no", base.DEC, nil)
+fields['of12.bsn_pdu_rx_timeout.slot_num'] = ProtoField.uint8("of12.bsn_pdu_rx_timeout.slot_num", "slot_num", base.DEC, nil)
+fields['of12.bsn_pdu_tx_reply.version'] = ProtoField.uint8("of12.bsn_pdu_tx_reply.version", "version", base.DEC, nil)
+fields['of12.bsn_pdu_tx_reply.type'] = ProtoField.uint8("of12.bsn_pdu_tx_reply.type", "type", base.DEC, nil)
+fields['of12.bsn_pdu_tx_reply.length'] = ProtoField.uint16("of12.bsn_pdu_tx_reply.length", "length", base.DEC, nil)
+fields['of12.bsn_pdu_tx_reply.xid'] = ProtoField.uint32("of12.bsn_pdu_tx_reply.xid", "xid", base.DEC, nil)
+fields['of12.bsn_pdu_tx_reply.experimenter'] = ProtoField.uint32("of12.bsn_pdu_tx_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_pdu_tx_reply.subtype'] = ProtoField.uint32("of12.bsn_pdu_tx_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_pdu_tx_reply.status'] = ProtoField.uint32("of12.bsn_pdu_tx_reply.status", "status", base.DEC, nil)
+fields['of12.bsn_pdu_tx_reply.port_no'] = ProtoField.uint32("of12.bsn_pdu_tx_reply.port_no", "port_no", base.DEC, nil)
+fields['of12.bsn_pdu_tx_reply.slot_num'] = ProtoField.uint8("of12.bsn_pdu_tx_reply.slot_num", "slot_num", base.DEC, nil)
+fields['of12.bsn_pdu_tx_request.version'] = ProtoField.uint8("of12.bsn_pdu_tx_request.version", "version", base.DEC, nil)
+fields['of12.bsn_pdu_tx_request.type'] = ProtoField.uint8("of12.bsn_pdu_tx_request.type", "type", base.DEC, nil)
+fields['of12.bsn_pdu_tx_request.length'] = ProtoField.uint16("of12.bsn_pdu_tx_request.length", "length", base.DEC, nil)
+fields['of12.bsn_pdu_tx_request.xid'] = ProtoField.uint32("of12.bsn_pdu_tx_request.xid", "xid", base.DEC, nil)
+fields['of12.bsn_pdu_tx_request.experimenter'] = ProtoField.uint32("of12.bsn_pdu_tx_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_pdu_tx_request.subtype'] = ProtoField.uint32("of12.bsn_pdu_tx_request.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_pdu_tx_request.tx_interval_ms'] = ProtoField.uint32("of12.bsn_pdu_tx_request.tx_interval_ms", "tx_interval_ms", base.DEC, nil)
+fields['of12.bsn_pdu_tx_request.port_no'] = ProtoField.uint32("of12.bsn_pdu_tx_request.port_no", "port_no", base.DEC, nil)
+fields['of12.bsn_pdu_tx_request.slot_num'] = ProtoField.uint8("of12.bsn_pdu_tx_request.slot_num", "slot_num", base.DEC, nil)
+fields['of12.bsn_pdu_tx_request.data'] = ProtoField.bytes("of12.bsn_pdu_tx_request.data", "data")
+fields['of12.bsn_set_mirroring.version'] = ProtoField.uint8("of12.bsn_set_mirroring.version", "version", base.DEC, nil)
+fields['of12.bsn_set_mirroring.type'] = ProtoField.uint8("of12.bsn_set_mirroring.type", "type", base.DEC, nil)
+fields['of12.bsn_set_mirroring.length'] = ProtoField.uint16("of12.bsn_set_mirroring.length", "length", base.DEC, nil)
+fields['of12.bsn_set_mirroring.xid'] = ProtoField.uint32("of12.bsn_set_mirroring.xid", "xid", base.DEC, nil)
+fields['of12.bsn_set_mirroring.experimenter'] = ProtoField.uint32("of12.bsn_set_mirroring.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_set_mirroring.subtype'] = ProtoField.uint32("of12.bsn_set_mirroring.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_set_mirroring.report_mirror_ports'] = ProtoField.uint8("of12.bsn_set_mirroring.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_reply.version'] = ProtoField.uint8("of12.bsn_set_pktin_suppression_reply.version", "version", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_reply.type'] = ProtoField.uint8("of12.bsn_set_pktin_suppression_reply.type", "type", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_reply.length'] = ProtoField.uint16("of12.bsn_set_pktin_suppression_reply.length", "length", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_reply.xid'] = ProtoField.uint32("of12.bsn_set_pktin_suppression_reply.xid", "xid", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_reply.experimenter'] = ProtoField.uint32("of12.bsn_set_pktin_suppression_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_reply.subtype'] = ProtoField.uint32("of12.bsn_set_pktin_suppression_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_reply.status'] = ProtoField.uint32("of12.bsn_set_pktin_suppression_reply.status", "status", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_request.version'] = ProtoField.uint8("of12.bsn_set_pktin_suppression_request.version", "version", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_request.type'] = ProtoField.uint8("of12.bsn_set_pktin_suppression_request.type", "type", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_request.length'] = ProtoField.uint16("of12.bsn_set_pktin_suppression_request.length", "length", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_request.xid'] = ProtoField.uint32("of12.bsn_set_pktin_suppression_request.xid", "xid", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_request.experimenter'] = ProtoField.uint32("of12.bsn_set_pktin_suppression_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_request.subtype'] = ProtoField.uint32("of12.bsn_set_pktin_suppression_request.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_request.enabled'] = ProtoField.uint8("of12.bsn_set_pktin_suppression_request.enabled", "enabled", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_request.idle_timeout'] = ProtoField.uint16("of12.bsn_set_pktin_suppression_request.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_request.hard_timeout'] = ProtoField.uint16("of12.bsn_set_pktin_suppression_request.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_request.priority'] = ProtoField.uint16("of12.bsn_set_pktin_suppression_request.priority", "priority", base.DEC, nil)
+fields['of12.bsn_set_pktin_suppression_request.cookie'] = ProtoField.uint64("of12.bsn_set_pktin_suppression_request.cookie", "cookie", base.DEC, nil)
+fields['of12.experimenter_stats_reply.version'] = ProtoField.uint8("of12.experimenter_stats_reply.version", "version", base.DEC, nil)
+fields['of12.experimenter_stats_reply.type'] = ProtoField.uint8("of12.experimenter_stats_reply.type", "type", base.DEC, nil)
+fields['of12.experimenter_stats_reply.length'] = ProtoField.uint16("of12.experimenter_stats_reply.length", "length", base.DEC, nil)
+fields['of12.experimenter_stats_reply.xid'] = ProtoField.uint32("of12.experimenter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.experimenter_stats_reply.stats_type'] = ProtoField.uint16("of12.experimenter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of12.experimenter_stats_reply.flags'] = ProtoField.uint32("of12.experimenter_stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.experimenter_stats_reply.experimenter'] = ProtoField.uint32("of12.experimenter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.experimenter_stats_reply.subtype'] = ProtoField.uint32("of12.experimenter_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.experimenter_stats_reply.data'] = ProtoField.bytes("of12.experimenter_stats_reply.data", "data")
+fields['of12.bsn_stats_reply.version'] = ProtoField.uint8("of12.bsn_stats_reply.version", "version", base.DEC, nil)
+fields['of12.bsn_stats_reply.type'] = ProtoField.uint8("of12.bsn_stats_reply.type", "type", base.DEC, nil)
+fields['of12.bsn_stats_reply.length'] = ProtoField.uint16("of12.bsn_stats_reply.length", "length", base.DEC, nil)
+fields['of12.bsn_stats_reply.xid'] = ProtoField.uint32("of12.bsn_stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.bsn_stats_reply.stats_type'] = ProtoField.uint16("of12.bsn_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of12.bsn_stats_reply.flags'] = ProtoField.uint32("of12.bsn_stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.bsn_stats_reply.experimenter'] = ProtoField.uint32("of12.bsn_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_stats_reply.subtype'] = ProtoField.uint32("of12.bsn_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.experimenter_stats_request.version'] = ProtoField.uint8("of12.experimenter_stats_request.version", "version", base.DEC, nil)
+fields['of12.experimenter_stats_request.type'] = ProtoField.uint8("of12.experimenter_stats_request.type", "type", base.DEC, nil)
+fields['of12.experimenter_stats_request.length'] = ProtoField.uint16("of12.experimenter_stats_request.length", "length", base.DEC, nil)
+fields['of12.experimenter_stats_request.xid'] = ProtoField.uint32("of12.experimenter_stats_request.xid", "xid", base.DEC, nil)
+fields['of12.experimenter_stats_request.stats_type'] = ProtoField.uint16("of12.experimenter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of12.experimenter_stats_request.flags'] = ProtoField.uint32("of12.experimenter_stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of12.experimenter_stats_request.experimenter'] = ProtoField.uint32("of12.experimenter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.experimenter_stats_request.subtype'] = ProtoField.uint32("of12.experimenter_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of12.experimenter_stats_request.data'] = ProtoField.bytes("of12.experimenter_stats_request.data", "data")
+fields['of12.bsn_stats_request.version'] = ProtoField.uint8("of12.bsn_stats_request.version", "version", base.DEC, nil)
+fields['of12.bsn_stats_request.type'] = ProtoField.uint8("of12.bsn_stats_request.type", "type", base.DEC, nil)
+fields['of12.bsn_stats_request.length'] = ProtoField.uint16("of12.bsn_stats_request.length", "length", base.DEC, nil)
+fields['of12.bsn_stats_request.xid'] = ProtoField.uint32("of12.bsn_stats_request.xid", "xid", base.DEC, nil)
+fields['of12.bsn_stats_request.stats_type'] = ProtoField.uint16("of12.bsn_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of12.bsn_stats_request.flags'] = ProtoField.uint32("of12.bsn_stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of12.bsn_stats_request.experimenter'] = ProtoField.uint32("of12.bsn_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_stats_request.subtype'] = ProtoField.uint32("of12.bsn_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_reply.version'] = ProtoField.uint8("of12.bsn_virtual_port_create_reply.version", "version", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_reply.type'] = ProtoField.uint8("of12.bsn_virtual_port_create_reply.type", "type", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_reply.length'] = ProtoField.uint16("of12.bsn_virtual_port_create_reply.length", "length", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_reply.xid'] = ProtoField.uint32("of12.bsn_virtual_port_create_reply.xid", "xid", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_reply.experimenter'] = ProtoField.uint32("of12.bsn_virtual_port_create_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_reply.subtype'] = ProtoField.uint32("of12.bsn_virtual_port_create_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_reply.status'] = ProtoField.uint32("of12.bsn_virtual_port_create_reply.status", "status", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_reply.vport_no'] = ProtoField.uint32("of12.bsn_virtual_port_create_reply.vport_no", "vport_no", base.DEC, nil)
+fields['of12.bsn_vport.type'] = ProtoField.uint16("of12.bsn_vport.type", "type", base.DEC, nil)
+fields['of12.bsn_vport.length'] = ProtoField.uint16("of12.bsn_vport.length", "length", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_request.version'] = ProtoField.uint8("of12.bsn_virtual_port_create_request.version", "version", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_request.type'] = ProtoField.uint8("of12.bsn_virtual_port_create_request.type", "type", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_request.length'] = ProtoField.uint16("of12.bsn_virtual_port_create_request.length", "length", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_request.xid'] = ProtoField.uint32("of12.bsn_virtual_port_create_request.xid", "xid", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_request.experimenter'] = ProtoField.uint32("of12.bsn_virtual_port_create_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_request.subtype'] = ProtoField.uint32("of12.bsn_virtual_port_create_request.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_virtual_port_create_request.vport'] = ProtoField.bytes("of12.bsn_virtual_port_create_request.vport", "vport")
+fields['of12.bsn_virtual_port_remove_reply.version'] = ProtoField.uint8("of12.bsn_virtual_port_remove_reply.version", "version", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_reply.type'] = ProtoField.uint8("of12.bsn_virtual_port_remove_reply.type", "type", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_reply.length'] = ProtoField.uint16("of12.bsn_virtual_port_remove_reply.length", "length", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_reply.xid'] = ProtoField.uint32("of12.bsn_virtual_port_remove_reply.xid", "xid", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_reply.experimenter'] = ProtoField.uint32("of12.bsn_virtual_port_remove_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_reply.subtype'] = ProtoField.uint32("of12.bsn_virtual_port_remove_reply.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_reply.status'] = ProtoField.uint32("of12.bsn_virtual_port_remove_reply.status", "status", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_request.version'] = ProtoField.uint8("of12.bsn_virtual_port_remove_request.version", "version", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_request.type'] = ProtoField.uint8("of12.bsn_virtual_port_remove_request.type", "type", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_request.length'] = ProtoField.uint16("of12.bsn_virtual_port_remove_request.length", "length", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_request.xid'] = ProtoField.uint32("of12.bsn_virtual_port_remove_request.xid", "xid", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_request.experimenter'] = ProtoField.uint32("of12.bsn_virtual_port_remove_request.experimenter", "experimenter", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_request.subtype'] = ProtoField.uint32("of12.bsn_virtual_port_remove_request.subtype", "subtype", base.DEC, nil)
+fields['of12.bsn_virtual_port_remove_request.vport_no'] = ProtoField.uint32("of12.bsn_virtual_port_remove_request.vport_no", "vport_no", base.DEC, nil)
+fields['of12.bsn_vport_l2gre.type'] = ProtoField.uint16("of12.bsn_vport_l2gre.type", "type", base.DEC, nil)
+fields['of12.bsn_vport_l2gre.length'] = ProtoField.uint16("of12.bsn_vport_l2gre.length", "length", base.DEC, nil)
+fields['of12.bsn_vport_l2gre.flags'] = ProtoField.uint32("of12.bsn_vport_l2gre.flags", "flags", base.HEX, enum_v3_ofp_bsn_vport_l2gre_flags)
+fields['of12.bsn_vport_l2gre.port_no'] = ProtoField.uint32("of12.bsn_vport_l2gre.port_no", "port_no", base.DEC, nil)
+fields['of12.bsn_vport_l2gre.loopback_port_no'] = ProtoField.uint32("of12.bsn_vport_l2gre.loopback_port_no", "loopback_port_no", base.DEC, nil)
+fields['of12.bsn_vport_l2gre.local_mac'] = ProtoField.ether("of12.bsn_vport_l2gre.local_mac", "local_mac")
+fields['of12.bsn_vport_l2gre.nh_mac'] = ProtoField.ether("of12.bsn_vport_l2gre.nh_mac", "nh_mac")
+fields['of12.bsn_vport_l2gre.src_ip'] = ProtoField.ipv4("of12.bsn_vport_l2gre.src_ip", "src_ip")
+fields['of12.bsn_vport_l2gre.dst_ip'] = ProtoField.ipv4("of12.bsn_vport_l2gre.dst_ip", "dst_ip")
+fields['of12.bsn_vport_l2gre.dscp'] = ProtoField.uint8("of12.bsn_vport_l2gre.dscp", "dscp", base.DEC, nil)
+fields['of12.bsn_vport_l2gre.ttl'] = ProtoField.uint8("of12.bsn_vport_l2gre.ttl", "ttl", base.DEC, nil)
+fields['of12.bsn_vport_l2gre.vpn'] = ProtoField.uint32("of12.bsn_vport_l2gre.vpn", "vpn", base.DEC, nil)
+fields['of12.bsn_vport_l2gre.rate_limit'] = ProtoField.uint32("of12.bsn_vport_l2gre.rate_limit", "rate_limit", base.DEC, nil)
+fields['of12.bsn_vport_l2gre.if_name'] = ProtoField.stringz("of12.bsn_vport_l2gre.if_name", "if_name")
+fields['of12.bsn_vport_q_in_q.type'] = ProtoField.uint16("of12.bsn_vport_q_in_q.type", "type", base.DEC, nil)
+fields['of12.bsn_vport_q_in_q.length'] = ProtoField.uint16("of12.bsn_vport_q_in_q.length", "length", base.DEC, nil)
+fields['of12.bsn_vport_q_in_q.port_no'] = ProtoField.uint32("of12.bsn_vport_q_in_q.port_no", "port_no", base.DEC, nil)
+fields['of12.bsn_vport_q_in_q.ingress_tpid'] = ProtoField.uint16("of12.bsn_vport_q_in_q.ingress_tpid", "ingress_tpid", base.DEC, nil)
+fields['of12.bsn_vport_q_in_q.ingress_vlan_id'] = ProtoField.uint16("of12.bsn_vport_q_in_q.ingress_vlan_id", "ingress_vlan_id", base.DEC, nil)
+fields['of12.bsn_vport_q_in_q.egress_tpid'] = ProtoField.uint16("of12.bsn_vport_q_in_q.egress_tpid", "egress_tpid", base.DEC, nil)
+fields['of12.bsn_vport_q_in_q.egress_vlan_id'] = ProtoField.uint16("of12.bsn_vport_q_in_q.egress_vlan_id", "egress_vlan_id", base.DEC, nil)
+fields['of12.bsn_vport_q_in_q.if_name'] = ProtoField.stringz("of12.bsn_vport_q_in_q.if_name", "if_name")
+fields['of12.bucket.len'] = ProtoField.uint16("of12.bucket.len", "len", base.DEC, nil)
+fields['of12.bucket.weight'] = ProtoField.uint16("of12.bucket.weight", "weight", base.DEC, nil)
+fields['of12.bucket.watch_port'] = ProtoField.uint32("of12.bucket.watch_port", "watch_port", base.DEC, nil)
+fields['of12.bucket.watch_group'] = ProtoField.uint32("of12.bucket.watch_group", "watch_group", base.DEC, nil)
+fields['of12.bucket.actions'] = ProtoField.bytes("of12.bucket.actions", "actions")
+fields['of12.bucket_counter.packet_count'] = ProtoField.uint64("of12.bucket_counter.packet_count", "packet_count", base.DEC, nil)
+fields['of12.bucket_counter.byte_count'] = ProtoField.uint64("of12.bucket_counter.byte_count", "byte_count", base.DEC, nil)
+fields['of12.desc_stats_reply.version'] = ProtoField.uint8("of12.desc_stats_reply.version", "version", base.DEC, nil)
+fields['of12.desc_stats_reply.type'] = ProtoField.uint32("of12.desc_stats_reply.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.desc_stats_reply.length'] = ProtoField.uint16("of12.desc_stats_reply.length", "length", base.DEC, nil)
+fields['of12.desc_stats_reply.xid'] = ProtoField.uint32("of12.desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.desc_stats_reply.stats_type'] = ProtoField.uint32("of12.desc_stats_reply.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.desc_stats_reply.flags'] = ProtoField.uint32("of12.desc_stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.desc_stats_reply.mfr_desc'] = ProtoField.stringz("of12.desc_stats_reply.mfr_desc", "mfr_desc")
+fields['of12.desc_stats_reply.hw_desc'] = ProtoField.stringz("of12.desc_stats_reply.hw_desc", "hw_desc")
+fields['of12.desc_stats_reply.sw_desc'] = ProtoField.stringz("of12.desc_stats_reply.sw_desc", "sw_desc")
+fields['of12.desc_stats_reply.serial_num'] = ProtoField.stringz("of12.desc_stats_reply.serial_num", "serial_num")
+fields['of12.desc_stats_reply.dp_desc'] = ProtoField.stringz("of12.desc_stats_reply.dp_desc", "dp_desc")
+fields['of12.desc_stats_request.version'] = ProtoField.uint8("of12.desc_stats_request.version", "version", base.DEC, nil)
+fields['of12.desc_stats_request.type'] = ProtoField.uint32("of12.desc_stats_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.desc_stats_request.length'] = ProtoField.uint16("of12.desc_stats_request.length", "length", base.DEC, nil)
+fields['of12.desc_stats_request.xid'] = ProtoField.uint32("of12.desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of12.desc_stats_request.stats_type'] = ProtoField.uint32("of12.desc_stats_request.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.desc_stats_request.flags'] = ProtoField.uint32("of12.desc_stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of12.echo_reply.version'] = ProtoField.uint8("of12.echo_reply.version", "version", base.DEC, nil)
+fields['of12.echo_reply.type'] = ProtoField.uint32("of12.echo_reply.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.echo_reply.length'] = ProtoField.uint16("of12.echo_reply.length", "length", base.DEC, nil)
+fields['of12.echo_reply.xid'] = ProtoField.uint32("of12.echo_reply.xid", "xid", base.DEC, nil)
+fields['of12.echo_reply.data'] = ProtoField.bytes("of12.echo_reply.data", "data")
+fields['of12.echo_request.version'] = ProtoField.uint8("of12.echo_request.version", "version", base.DEC, nil)
+fields['of12.echo_request.type'] = ProtoField.uint32("of12.echo_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.echo_request.length'] = ProtoField.uint16("of12.echo_request.length", "length", base.DEC, nil)
+fields['of12.echo_request.xid'] = ProtoField.uint32("of12.echo_request.xid", "xid", base.DEC, nil)
+fields['of12.echo_request.data'] = ProtoField.bytes("of12.echo_request.data", "data")
+fields['of12.experimenter_error_msg.version'] = ProtoField.uint8("of12.experimenter_error_msg.version", "version", base.DEC, nil)
+fields['of12.experimenter_error_msg.type'] = ProtoField.uint8("of12.experimenter_error_msg.type", "type", base.DEC, nil)
+fields['of12.experimenter_error_msg.length'] = ProtoField.uint16("of12.experimenter_error_msg.length", "length", base.DEC, nil)
+fields['of12.experimenter_error_msg.xid'] = ProtoField.uint32("of12.experimenter_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.experimenter_error_msg.err_type'] = ProtoField.uint16("of12.experimenter_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.experimenter_error_msg.subtype'] = ProtoField.uint16("of12.experimenter_error_msg.subtype", "subtype", base.DEC, nil)
+fields['of12.experimenter_error_msg.experimenter'] = ProtoField.uint32("of12.experimenter_error_msg.experimenter", "experimenter", base.DEC, nil)
+fields['of12.experimenter_error_msg.data'] = ProtoField.bytes("of12.experimenter_error_msg.data", "data")
+fields['of12.features_reply.version'] = ProtoField.uint8("of12.features_reply.version", "version", base.DEC, nil)
+fields['of12.features_reply.type'] = ProtoField.uint32("of12.features_reply.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.features_reply.length'] = ProtoField.uint16("of12.features_reply.length", "length", base.DEC, nil)
+fields['of12.features_reply.xid'] = ProtoField.uint32("of12.features_reply.xid", "xid", base.DEC, nil)
+fields['of12.features_reply.datapath_id'] = ProtoField.uint64("of12.features_reply.datapath_id", "datapath_id", base.DEC, nil)
+fields['of12.features_reply.n_buffers'] = ProtoField.uint32("of12.features_reply.n_buffers", "n_buffers", base.DEC, nil)
+fields['of12.features_reply.n_tables'] = ProtoField.uint8("of12.features_reply.n_tables", "n_tables", base.DEC, nil)
+fields['of12.features_reply.capabilities'] = ProtoField.uint32("of12.features_reply.capabilities", "capabilities", base.HEX, enum_v3_ofp_capabilities)
+fields['of12.features_reply.reserved'] = ProtoField.uint32("of12.features_reply.reserved", "reserved", base.DEC, nil)
+fields['of12.features_reply.ports'] = ProtoField.bytes("of12.features_reply.ports", "ports")
+fields['of12.features_request.version'] = ProtoField.uint8("of12.features_request.version", "version", base.DEC, nil)
+fields['of12.features_request.type'] = ProtoField.uint32("of12.features_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.features_request.length'] = ProtoField.uint16("of12.features_request.length", "length", base.DEC, nil)
+fields['of12.features_request.xid'] = ProtoField.uint32("of12.features_request.xid", "xid", base.DEC, nil)
+fields['of12.flow_mod.version'] = ProtoField.uint8("of12.flow_mod.version", "version", base.DEC, nil)
+fields['of12.flow_mod.type'] = ProtoField.uint32("of12.flow_mod.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.flow_mod.length'] = ProtoField.uint16("of12.flow_mod.length", "length", base.DEC, nil)
+fields['of12.flow_mod.xid'] = ProtoField.uint32("of12.flow_mod.xid", "xid", base.DEC, nil)
+fields['of12.flow_mod.cookie'] = ProtoField.uint64("of12.flow_mod.cookie", "cookie", base.DEC, nil)
+fields['of12.flow_mod.cookie_mask'] = ProtoField.uint64("of12.flow_mod.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of12.flow_mod.table_id'] = ProtoField.uint32("of12.flow_mod.table_id", "table_id", base.DEC, enum_v3_ofp_table)
+fields['of12.flow_mod._command'] = ProtoField.uint32("of12.flow_mod._command", "_command", base.DEC, enum_v3_ofp_flow_mod_command)
+fields['of12.flow_mod.idle_timeout'] = ProtoField.uint16("of12.flow_mod.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of12.flow_mod.hard_timeout'] = ProtoField.uint16("of12.flow_mod.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of12.flow_mod.priority'] = ProtoField.uint16("of12.flow_mod.priority", "priority", base.DEC, nil)
+fields['of12.flow_mod.buffer_id'] = ProtoField.uint32("of12.flow_mod.buffer_id", "buffer_id", base.DEC, nil)
+fields['of12.flow_mod.out_port'] = ProtoField.uint32("of12.flow_mod.out_port", "out_port", base.DEC, enum_v3_ofp_port)
+fields['of12.flow_mod.out_group'] = ProtoField.uint32("of12.flow_mod.out_group", "out_group", base.DEC, enum_v3_ofp_group)
+fields['of12.flow_mod.flags'] = ProtoField.uint32("of12.flow_mod.flags", "flags", base.HEX, enum_v3_ofp_flow_mod_flags)
+fields['of12.flow_mod.match'] = ProtoField.bytes("of12.flow_mod.match", "match")
+fields['of12.flow_mod.instructions'] = ProtoField.bytes("of12.flow_mod.instructions", "instructions")
+fields['of12.flow_add.version'] = ProtoField.uint8("of12.flow_add.version", "version", base.DEC, nil)
+fields['of12.flow_add.type'] = ProtoField.uint32("of12.flow_add.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.flow_add.length'] = ProtoField.uint16("of12.flow_add.length", "length", base.DEC, nil)
+fields['of12.flow_add.xid'] = ProtoField.uint32("of12.flow_add.xid", "xid", base.DEC, nil)
+fields['of12.flow_add.cookie'] = ProtoField.uint64("of12.flow_add.cookie", "cookie", base.DEC, nil)
+fields['of12.flow_add.cookie_mask'] = ProtoField.uint64("of12.flow_add.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of12.flow_add.table_id'] = ProtoField.uint8("of12.flow_add.table_id", "table_id", base.DEC, nil)
+fields['of12.flow_add._command'] = ProtoField.uint16("of12.flow_add._command", "_command", base.DEC, nil)
+fields['of12.flow_add.idle_timeout'] = ProtoField.uint16("of12.flow_add.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of12.flow_add.hard_timeout'] = ProtoField.uint16("of12.flow_add.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of12.flow_add.priority'] = ProtoField.uint16("of12.flow_add.priority", "priority", base.DEC, nil)
+fields['of12.flow_add.buffer_id'] = ProtoField.uint32("of12.flow_add.buffer_id", "buffer_id", base.DEC, nil)
+fields['of12.flow_add.out_port'] = ProtoField.uint32("of12.flow_add.out_port", "out_port", base.DEC, nil)
+fields['of12.flow_add.out_group'] = ProtoField.uint32("of12.flow_add.out_group", "out_group", base.DEC, nil)
+fields['of12.flow_add.flags'] = ProtoField.uint32("of12.flow_add.flags", "flags", base.HEX, enum_v3_ofp_flow_mod_flags)
+fields['of12.flow_add.match'] = ProtoField.bytes("of12.flow_add.match", "match")
+fields['of12.flow_add.instructions'] = ProtoField.bytes("of12.flow_add.instructions", "instructions")
+fields['of12.flow_delete.version'] = ProtoField.uint8("of12.flow_delete.version", "version", base.DEC, nil)
+fields['of12.flow_delete.type'] = ProtoField.uint32("of12.flow_delete.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.flow_delete.length'] = ProtoField.uint16("of12.flow_delete.length", "length", base.DEC, nil)
+fields['of12.flow_delete.xid'] = ProtoField.uint32("of12.flow_delete.xid", "xid", base.DEC, nil)
+fields['of12.flow_delete.cookie'] = ProtoField.uint64("of12.flow_delete.cookie", "cookie", base.DEC, nil)
+fields['of12.flow_delete.cookie_mask'] = ProtoField.uint64("of12.flow_delete.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of12.flow_delete.table_id'] = ProtoField.uint8("of12.flow_delete.table_id", "table_id", base.DEC, nil)
+fields['of12.flow_delete._command'] = ProtoField.uint16("of12.flow_delete._command", "_command", base.DEC, nil)
+fields['of12.flow_delete.idle_timeout'] = ProtoField.uint16("of12.flow_delete.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of12.flow_delete.hard_timeout'] = ProtoField.uint16("of12.flow_delete.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of12.flow_delete.priority'] = ProtoField.uint16("of12.flow_delete.priority", "priority", base.DEC, nil)
+fields['of12.flow_delete.buffer_id'] = ProtoField.uint32("of12.flow_delete.buffer_id", "buffer_id", base.DEC, nil)
+fields['of12.flow_delete.out_port'] = ProtoField.uint32("of12.flow_delete.out_port", "out_port", base.DEC, nil)
+fields['of12.flow_delete.out_group'] = ProtoField.uint32("of12.flow_delete.out_group", "out_group", base.DEC, nil)
+fields['of12.flow_delete.flags'] = ProtoField.uint32("of12.flow_delete.flags", "flags", base.HEX, enum_v3_ofp_flow_mod_flags)
+fields['of12.flow_delete.match'] = ProtoField.bytes("of12.flow_delete.match", "match")
+fields['of12.flow_delete.instructions'] = ProtoField.bytes("of12.flow_delete.instructions", "instructions")
+fields['of12.flow_delete_strict.version'] = ProtoField.uint8("of12.flow_delete_strict.version", "version", base.DEC, nil)
+fields['of12.flow_delete_strict.type'] = ProtoField.uint8("of12.flow_delete_strict.type", "type", base.DEC, nil)
+fields['of12.flow_delete_strict.length'] = ProtoField.uint16("of12.flow_delete_strict.length", "length", base.DEC, nil)
+fields['of12.flow_delete_strict.xid'] = ProtoField.uint32("of12.flow_delete_strict.xid", "xid", base.DEC, nil)
+fields['of12.flow_delete_strict.cookie'] = ProtoField.uint64("of12.flow_delete_strict.cookie", "cookie", base.DEC, nil)
+fields['of12.flow_delete_strict.cookie_mask'] = ProtoField.uint64("of12.flow_delete_strict.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of12.flow_delete_strict.table_id'] = ProtoField.uint8("of12.flow_delete_strict.table_id", "table_id", base.DEC, nil)
+fields['of12.flow_delete_strict._command'] = ProtoField.uint16("of12.flow_delete_strict._command", "_command", base.DEC, nil)
+fields['of12.flow_delete_strict.idle_timeout'] = ProtoField.uint16("of12.flow_delete_strict.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of12.flow_delete_strict.hard_timeout'] = ProtoField.uint16("of12.flow_delete_strict.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of12.flow_delete_strict.priority'] = ProtoField.uint16("of12.flow_delete_strict.priority", "priority", base.DEC, nil)
+fields['of12.flow_delete_strict.buffer_id'] = ProtoField.uint32("of12.flow_delete_strict.buffer_id", "buffer_id", base.DEC, nil)
+fields['of12.flow_delete_strict.out_port'] = ProtoField.uint32("of12.flow_delete_strict.out_port", "out_port", base.DEC, nil)
+fields['of12.flow_delete_strict.out_group'] = ProtoField.uint32("of12.flow_delete_strict.out_group", "out_group", base.DEC, nil)
+fields['of12.flow_delete_strict.flags'] = ProtoField.uint32("of12.flow_delete_strict.flags", "flags", base.HEX, enum_v3_ofp_flow_mod_flags)
+fields['of12.flow_delete_strict.match'] = ProtoField.bytes("of12.flow_delete_strict.match", "match")
+fields['of12.flow_delete_strict.instructions'] = ProtoField.bytes("of12.flow_delete_strict.instructions", "instructions")
+fields['of12.flow_mod_failed_error_msg.version'] = ProtoField.uint8("of12.flow_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of12.flow_mod_failed_error_msg.type'] = ProtoField.uint8("of12.flow_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of12.flow_mod_failed_error_msg.length'] = ProtoField.uint16("of12.flow_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of12.flow_mod_failed_error_msg.xid'] = ProtoField.uint32("of12.flow_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.flow_mod_failed_error_msg.err_type'] = ProtoField.uint16("of12.flow_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.flow_mod_failed_error_msg.code'] = ProtoField.uint32("of12.flow_mod_failed_error_msg.code", "code", base.DEC, enum_v3_ofp_flow_mod_failed_code)
+fields['of12.flow_mod_failed_error_msg.data'] = ProtoField.bytes("of12.flow_mod_failed_error_msg.data", "data")
+fields['of12.flow_modify.version'] = ProtoField.uint8("of12.flow_modify.version", "version", base.DEC, nil)
+fields['of12.flow_modify.type'] = ProtoField.uint8("of12.flow_modify.type", "type", base.DEC, nil)
+fields['of12.flow_modify.length'] = ProtoField.uint16("of12.flow_modify.length", "length", base.DEC, nil)
+fields['of12.flow_modify.xid'] = ProtoField.uint32("of12.flow_modify.xid", "xid", base.DEC, nil)
+fields['of12.flow_modify.cookie'] = ProtoField.uint64("of12.flow_modify.cookie", "cookie", base.DEC, nil)
+fields['of12.flow_modify.cookie_mask'] = ProtoField.uint64("of12.flow_modify.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of12.flow_modify.table_id'] = ProtoField.uint8("of12.flow_modify.table_id", "table_id", base.DEC, nil)
+fields['of12.flow_modify._command'] = ProtoField.uint16("of12.flow_modify._command", "_command", base.DEC, nil)
+fields['of12.flow_modify.idle_timeout'] = ProtoField.uint16("of12.flow_modify.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of12.flow_modify.hard_timeout'] = ProtoField.uint16("of12.flow_modify.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of12.flow_modify.priority'] = ProtoField.uint16("of12.flow_modify.priority", "priority", base.DEC, nil)
+fields['of12.flow_modify.buffer_id'] = ProtoField.uint32("of12.flow_modify.buffer_id", "buffer_id", base.DEC, nil)
+fields['of12.flow_modify.out_port'] = ProtoField.uint32("of12.flow_modify.out_port", "out_port", base.DEC, nil)
+fields['of12.flow_modify.out_group'] = ProtoField.uint32("of12.flow_modify.out_group", "out_group", base.DEC, nil)
+fields['of12.flow_modify.flags'] = ProtoField.uint32("of12.flow_modify.flags", "flags", base.HEX, enum_v3_ofp_flow_mod_flags)
+fields['of12.flow_modify.match'] = ProtoField.bytes("of12.flow_modify.match", "match")
+fields['of12.flow_modify.instructions'] = ProtoField.bytes("of12.flow_modify.instructions", "instructions")
+fields['of12.flow_modify_strict.version'] = ProtoField.uint8("of12.flow_modify_strict.version", "version", base.DEC, nil)
+fields['of12.flow_modify_strict.type'] = ProtoField.uint8("of12.flow_modify_strict.type", "type", base.DEC, nil)
+fields['of12.flow_modify_strict.length'] = ProtoField.uint16("of12.flow_modify_strict.length", "length", base.DEC, nil)
+fields['of12.flow_modify_strict.xid'] = ProtoField.uint32("of12.flow_modify_strict.xid", "xid", base.DEC, nil)
+fields['of12.flow_modify_strict.cookie'] = ProtoField.uint64("of12.flow_modify_strict.cookie", "cookie", base.DEC, nil)
+fields['of12.flow_modify_strict.cookie_mask'] = ProtoField.uint64("of12.flow_modify_strict.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of12.flow_modify_strict.table_id'] = ProtoField.uint8("of12.flow_modify_strict.table_id", "table_id", base.DEC, nil)
+fields['of12.flow_modify_strict._command'] = ProtoField.uint16("of12.flow_modify_strict._command", "_command", base.DEC, nil)
+fields['of12.flow_modify_strict.idle_timeout'] = ProtoField.uint16("of12.flow_modify_strict.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of12.flow_modify_strict.hard_timeout'] = ProtoField.uint16("of12.flow_modify_strict.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of12.flow_modify_strict.priority'] = ProtoField.uint16("of12.flow_modify_strict.priority", "priority", base.DEC, nil)
+fields['of12.flow_modify_strict.buffer_id'] = ProtoField.uint32("of12.flow_modify_strict.buffer_id", "buffer_id", base.DEC, nil)
+fields['of12.flow_modify_strict.out_port'] = ProtoField.uint32("of12.flow_modify_strict.out_port", "out_port", base.DEC, nil)
+fields['of12.flow_modify_strict.out_group'] = ProtoField.uint32("of12.flow_modify_strict.out_group", "out_group", base.DEC, nil)
+fields['of12.flow_modify_strict.flags'] = ProtoField.uint32("of12.flow_modify_strict.flags", "flags", base.HEX, enum_v3_ofp_flow_mod_flags)
+fields['of12.flow_modify_strict.match'] = ProtoField.bytes("of12.flow_modify_strict.match", "match")
+fields['of12.flow_modify_strict.instructions'] = ProtoField.bytes("of12.flow_modify_strict.instructions", "instructions")
+fields['of12.flow_removed.version'] = ProtoField.uint8("of12.flow_removed.version", "version", base.DEC, nil)
+fields['of12.flow_removed.type'] = ProtoField.uint8("of12.flow_removed.type", "type", base.DEC, nil)
+fields['of12.flow_removed.length'] = ProtoField.uint16("of12.flow_removed.length", "length", base.DEC, nil)
+fields['of12.flow_removed.xid'] = ProtoField.uint32("of12.flow_removed.xid", "xid", base.DEC, nil)
+fields['of12.flow_removed.cookie'] = ProtoField.uint64("of12.flow_removed.cookie", "cookie", base.DEC, nil)
+fields['of12.flow_removed.priority'] = ProtoField.uint16("of12.flow_removed.priority", "priority", base.DEC, nil)
+fields['of12.flow_removed.reason'] = ProtoField.uint8("of12.flow_removed.reason", "reason", base.DEC, nil)
+fields['of12.flow_removed.table_id'] = ProtoField.uint8("of12.flow_removed.table_id", "table_id", base.DEC, nil)
+fields['of12.flow_removed.duration_sec'] = ProtoField.uint32("of12.flow_removed.duration_sec", "duration_sec", base.DEC, nil)
+fields['of12.flow_removed.duration_nsec'] = ProtoField.uint32("of12.flow_removed.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of12.flow_removed.idle_timeout'] = ProtoField.uint16("of12.flow_removed.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of12.flow_removed.hard_timeout'] = ProtoField.uint16("of12.flow_removed.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of12.flow_removed.packet_count'] = ProtoField.uint64("of12.flow_removed.packet_count", "packet_count", base.DEC, nil)
+fields['of12.flow_removed.byte_count'] = ProtoField.uint64("of12.flow_removed.byte_count", "byte_count", base.DEC, nil)
+fields['of12.flow_removed.match'] = ProtoField.bytes("of12.flow_removed.match", "match")
+fields['of12.flow_stats_entry.length'] = ProtoField.uint16("of12.flow_stats_entry.length", "length", base.DEC, nil)
+fields['of12.flow_stats_entry.table_id'] = ProtoField.uint8("of12.flow_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of12.flow_stats_entry.duration_sec'] = ProtoField.uint32("of12.flow_stats_entry.duration_sec", "duration_sec", base.DEC, nil)
+fields['of12.flow_stats_entry.duration_nsec'] = ProtoField.uint32("of12.flow_stats_entry.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of12.flow_stats_entry.priority'] = ProtoField.uint16("of12.flow_stats_entry.priority", "priority", base.DEC, nil)
+fields['of12.flow_stats_entry.idle_timeout'] = ProtoField.uint16("of12.flow_stats_entry.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of12.flow_stats_entry.hard_timeout'] = ProtoField.uint16("of12.flow_stats_entry.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of12.flow_stats_entry.cookie'] = ProtoField.uint64("of12.flow_stats_entry.cookie", "cookie", base.DEC, nil)
+fields['of12.flow_stats_entry.packet_count'] = ProtoField.uint64("of12.flow_stats_entry.packet_count", "packet_count", base.DEC, nil)
+fields['of12.flow_stats_entry.byte_count'] = ProtoField.uint64("of12.flow_stats_entry.byte_count", "byte_count", base.DEC, nil)
+fields['of12.flow_stats_entry.match'] = ProtoField.bytes("of12.flow_stats_entry.match", "match")
+fields['of12.flow_stats_entry.instructions'] = ProtoField.bytes("of12.flow_stats_entry.instructions", "instructions")
+fields['of12.flow_stats_reply.version'] = ProtoField.uint8("of12.flow_stats_reply.version", "version", base.DEC, nil)
+fields['of12.flow_stats_reply.type'] = ProtoField.uint32("of12.flow_stats_reply.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.flow_stats_reply.length'] = ProtoField.uint16("of12.flow_stats_reply.length", "length", base.DEC, nil)
+fields['of12.flow_stats_reply.xid'] = ProtoField.uint32("of12.flow_stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.flow_stats_reply.stats_type'] = ProtoField.uint32("of12.flow_stats_reply.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.flow_stats_reply.flags'] = ProtoField.uint32("of12.flow_stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.flow_stats_reply.entries'] = ProtoField.bytes("of12.flow_stats_reply.entries", "entries")
+fields['of12.flow_stats_request.version'] = ProtoField.uint8("of12.flow_stats_request.version", "version", base.DEC, nil)
+fields['of12.flow_stats_request.type'] = ProtoField.uint32("of12.flow_stats_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.flow_stats_request.length'] = ProtoField.uint16("of12.flow_stats_request.length", "length", base.DEC, nil)
+fields['of12.flow_stats_request.xid'] = ProtoField.uint32("of12.flow_stats_request.xid", "xid", base.DEC, nil)
+fields['of12.flow_stats_request.stats_type'] = ProtoField.uint32("of12.flow_stats_request.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.flow_stats_request.flags'] = ProtoField.uint32("of12.flow_stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of12.flow_stats_request.table_id'] = ProtoField.uint8("of12.flow_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of12.flow_stats_request.out_port'] = ProtoField.uint32("of12.flow_stats_request.out_port", "out_port", base.DEC, nil)
+fields['of12.flow_stats_request.out_group'] = ProtoField.uint32("of12.flow_stats_request.out_group", "out_group", base.DEC, nil)
+fields['of12.flow_stats_request.cookie'] = ProtoField.uint64("of12.flow_stats_request.cookie", "cookie", base.DEC, nil)
+fields['of12.flow_stats_request.cookie_mask'] = ProtoField.uint64("of12.flow_stats_request.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of12.flow_stats_request.match'] = ProtoField.bytes("of12.flow_stats_request.match", "match")
+fields['of12.get_config_reply.version'] = ProtoField.uint8("of12.get_config_reply.version", "version", base.DEC, nil)
+fields['of12.get_config_reply.type'] = ProtoField.uint8("of12.get_config_reply.type", "type", base.DEC, nil)
+fields['of12.get_config_reply.length'] = ProtoField.uint16("of12.get_config_reply.length", "length", base.DEC, nil)
+fields['of12.get_config_reply.xid'] = ProtoField.uint32("of12.get_config_reply.xid", "xid", base.DEC, nil)
+fields['of12.get_config_reply.flags'] = ProtoField.uint32("of12.get_config_reply.flags", "flags", base.HEX, enum_v3_ofp_config_flags)
+fields['of12.get_config_reply.miss_send_len'] = ProtoField.uint16("of12.get_config_reply.miss_send_len", "miss_send_len", base.DEC, nil)
+fields['of12.get_config_request.version'] = ProtoField.uint8("of12.get_config_request.version", "version", base.DEC, nil)
+fields['of12.get_config_request.type'] = ProtoField.uint8("of12.get_config_request.type", "type", base.DEC, nil)
+fields['of12.get_config_request.length'] = ProtoField.uint16("of12.get_config_request.length", "length", base.DEC, nil)
+fields['of12.get_config_request.xid'] = ProtoField.uint32("of12.get_config_request.xid", "xid", base.DEC, nil)
+fields['of12.group_mod.version'] = ProtoField.uint8("of12.group_mod.version", "version", base.DEC, nil)
+fields['of12.group_mod.type'] = ProtoField.uint32("of12.group_mod.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.group_mod.length'] = ProtoField.uint16("of12.group_mod.length", "length", base.DEC, nil)
+fields['of12.group_mod.xid'] = ProtoField.uint32("of12.group_mod.xid", "xid", base.DEC, nil)
+fields['of12.group_mod.command'] = ProtoField.uint32("of12.group_mod.command", "command", base.DEC, enum_v3_ofp_group_mod_command)
+fields['of12.group_mod.group_type'] = ProtoField.uint32("of12.group_mod.group_type", "group_type", base.DEC, enum_v3_ofp_group_type)
+fields['of12.group_mod.group_id'] = ProtoField.uint32("of12.group_mod.group_id", "group_id", base.DEC, enum_v3_ofp_group)
+fields['of12.group_mod.buckets'] = ProtoField.bytes("of12.group_mod.buckets", "buckets")
+fields['of12.group_add.version'] = ProtoField.uint8("of12.group_add.version", "version", base.DEC, nil)
+fields['of12.group_add.type'] = ProtoField.uint8("of12.group_add.type", "type", base.DEC, nil)
+fields['of12.group_add.length'] = ProtoField.uint16("of12.group_add.length", "length", base.DEC, nil)
+fields['of12.group_add.xid'] = ProtoField.uint32("of12.group_add.xid", "xid", base.DEC, nil)
+fields['of12.group_add.command'] = ProtoField.uint32("of12.group_add.command", "command", base.DEC, enum_v3_ofp_group_mod_command)
+fields['of12.group_add.group_type'] = ProtoField.uint32("of12.group_add.group_type", "group_type", base.DEC, enum_v3_ofp_group_type)
+fields['of12.group_add.group_id'] = ProtoField.uint32("of12.group_add.group_id", "group_id", base.DEC, nil)
+fields['of12.group_add.buckets'] = ProtoField.bytes("of12.group_add.buckets", "buckets")
+fields['of12.group_delete.version'] = ProtoField.uint8("of12.group_delete.version", "version", base.DEC, nil)
+fields['of12.group_delete.type'] = ProtoField.uint8("of12.group_delete.type", "type", base.DEC, nil)
+fields['of12.group_delete.length'] = ProtoField.uint16("of12.group_delete.length", "length", base.DEC, nil)
+fields['of12.group_delete.xid'] = ProtoField.uint32("of12.group_delete.xid", "xid", base.DEC, nil)
+fields['of12.group_delete.command'] = ProtoField.uint32("of12.group_delete.command", "command", base.DEC, enum_v3_ofp_group_mod_command)
+fields['of12.group_delete.group_type'] = ProtoField.uint32("of12.group_delete.group_type", "group_type", base.DEC, enum_v3_ofp_group_type)
+fields['of12.group_delete.group_id'] = ProtoField.uint32("of12.group_delete.group_id", "group_id", base.DEC, nil)
+fields['of12.group_delete.buckets'] = ProtoField.bytes("of12.group_delete.buckets", "buckets")
+fields['of12.group_desc_stats_entry.length'] = ProtoField.uint16("of12.group_desc_stats_entry.length", "length", base.DEC, nil)
+fields['of12.group_desc_stats_entry.group_type'] = ProtoField.uint32("of12.group_desc_stats_entry.group_type", "group_type", base.DEC, enum_v3_ofp_group_type)
+fields['of12.group_desc_stats_entry.group_id'] = ProtoField.uint32("of12.group_desc_stats_entry.group_id", "group_id", base.DEC, nil)
+fields['of12.group_desc_stats_entry.buckets'] = ProtoField.bytes("of12.group_desc_stats_entry.buckets", "buckets")
+fields['of12.group_desc_stats_reply.version'] = ProtoField.uint8("of12.group_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of12.group_desc_stats_reply.type'] = ProtoField.uint8("of12.group_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of12.group_desc_stats_reply.length'] = ProtoField.uint16("of12.group_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of12.group_desc_stats_reply.xid'] = ProtoField.uint32("of12.group_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.group_desc_stats_reply.stats_type'] = ProtoField.uint16("of12.group_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of12.group_desc_stats_reply.flags'] = ProtoField.uint32("of12.group_desc_stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.group_desc_stats_reply.entries'] = ProtoField.bytes("of12.group_desc_stats_reply.entries", "entries")
+fields['of12.group_desc_stats_request.version'] = ProtoField.uint8("of12.group_desc_stats_request.version", "version", base.DEC, nil)
+fields['of12.group_desc_stats_request.type'] = ProtoField.uint32("of12.group_desc_stats_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.group_desc_stats_request.length'] = ProtoField.uint16("of12.group_desc_stats_request.length", "length", base.DEC, nil)
+fields['of12.group_desc_stats_request.xid'] = ProtoField.uint32("of12.group_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of12.group_desc_stats_request.stats_type'] = ProtoField.uint32("of12.group_desc_stats_request.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.group_desc_stats_request.flags'] = ProtoField.uint32("of12.group_desc_stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of12.group_features_stats_reply.version'] = ProtoField.uint8("of12.group_features_stats_reply.version", "version", base.DEC, nil)
+fields['of12.group_features_stats_reply.type'] = ProtoField.uint8("of12.group_features_stats_reply.type", "type", base.DEC, nil)
+fields['of12.group_features_stats_reply.length'] = ProtoField.uint16("of12.group_features_stats_reply.length", "length", base.DEC, nil)
+fields['of12.group_features_stats_reply.xid'] = ProtoField.uint32("of12.group_features_stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.group_features_stats_reply.stats_type'] = ProtoField.uint16("of12.group_features_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of12.group_features_stats_reply.flags'] = ProtoField.uint32("of12.group_features_stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.group_features_stats_reply.types'] = ProtoField.uint32("of12.group_features_stats_reply.types", "types", base.DEC, nil)
+fields['of12.group_features_stats_reply.capabilities'] = ProtoField.uint32("of12.group_features_stats_reply.capabilities", "capabilities", base.DEC, nil)
+fields['of12.group_features_stats_reply.max_groups_all'] = ProtoField.uint32("of12.group_features_stats_reply.max_groups_all", "max_groups_all", base.DEC, nil)
+fields['of12.group_features_stats_reply.max_groups_select'] = ProtoField.uint32("of12.group_features_stats_reply.max_groups_select", "max_groups_select", base.DEC, nil)
+fields['of12.group_features_stats_reply.max_groups_indirect'] = ProtoField.uint32("of12.group_features_stats_reply.max_groups_indirect", "max_groups_indirect", base.DEC, nil)
+fields['of12.group_features_stats_reply.max_groups_ff'] = ProtoField.uint32("of12.group_features_stats_reply.max_groups_ff", "max_groups_ff", base.DEC, nil)
+fields['of12.group_features_stats_reply.actions_all'] = ProtoField.uint32("of12.group_features_stats_reply.actions_all", "actions_all", base.DEC, nil)
+fields['of12.group_features_stats_reply.actions_select'] = ProtoField.uint32("of12.group_features_stats_reply.actions_select", "actions_select", base.DEC, nil)
+fields['of12.group_features_stats_reply.actions_indirect'] = ProtoField.uint32("of12.group_features_stats_reply.actions_indirect", "actions_indirect", base.DEC, nil)
+fields['of12.group_features_stats_reply.actions_ff'] = ProtoField.uint32("of12.group_features_stats_reply.actions_ff", "actions_ff", base.DEC, nil)
+fields['of12.group_features_stats_request.version'] = ProtoField.uint8("of12.group_features_stats_request.version", "version", base.DEC, nil)
+fields['of12.group_features_stats_request.type'] = ProtoField.uint32("of12.group_features_stats_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.group_features_stats_request.length'] = ProtoField.uint16("of12.group_features_stats_request.length", "length", base.DEC, nil)
+fields['of12.group_features_stats_request.xid'] = ProtoField.uint32("of12.group_features_stats_request.xid", "xid", base.DEC, nil)
+fields['of12.group_features_stats_request.stats_type'] = ProtoField.uint32("of12.group_features_stats_request.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.group_features_stats_request.flags'] = ProtoField.uint32("of12.group_features_stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of12.group_mod_failed_error_msg.version'] = ProtoField.uint8("of12.group_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of12.group_mod_failed_error_msg.type'] = ProtoField.uint8("of12.group_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of12.group_mod_failed_error_msg.length'] = ProtoField.uint16("of12.group_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of12.group_mod_failed_error_msg.xid'] = ProtoField.uint32("of12.group_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.group_mod_failed_error_msg.err_type'] = ProtoField.uint16("of12.group_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.group_mod_failed_error_msg.code'] = ProtoField.uint32("of12.group_mod_failed_error_msg.code", "code", base.DEC, enum_v3_ofp_group_mod_failed_code)
+fields['of12.group_mod_failed_error_msg.data'] = ProtoField.bytes("of12.group_mod_failed_error_msg.data", "data")
+fields['of12.group_modify.version'] = ProtoField.uint8("of12.group_modify.version", "version", base.DEC, nil)
+fields['of12.group_modify.type'] = ProtoField.uint8("of12.group_modify.type", "type", base.DEC, nil)
+fields['of12.group_modify.length'] = ProtoField.uint16("of12.group_modify.length", "length", base.DEC, nil)
+fields['of12.group_modify.xid'] = ProtoField.uint32("of12.group_modify.xid", "xid", base.DEC, nil)
+fields['of12.group_modify.command'] = ProtoField.uint32("of12.group_modify.command", "command", base.DEC, enum_v3_ofp_group_mod_command)
+fields['of12.group_modify.group_type'] = ProtoField.uint32("of12.group_modify.group_type", "group_type", base.DEC, enum_v3_ofp_group_type)
+fields['of12.group_modify.group_id'] = ProtoField.uint32("of12.group_modify.group_id", "group_id", base.DEC, nil)
+fields['of12.group_modify.buckets'] = ProtoField.bytes("of12.group_modify.buckets", "buckets")
+fields['of12.group_stats_entry.length'] = ProtoField.uint16("of12.group_stats_entry.length", "length", base.DEC, nil)
+fields['of12.group_stats_entry.group_id'] = ProtoField.uint32("of12.group_stats_entry.group_id", "group_id", base.DEC, nil)
+fields['of12.group_stats_entry.ref_count'] = ProtoField.uint32("of12.group_stats_entry.ref_count", "ref_count", base.DEC, nil)
+fields['of12.group_stats_entry.packet_count'] = ProtoField.uint64("of12.group_stats_entry.packet_count", "packet_count", base.DEC, nil)
+fields['of12.group_stats_entry.byte_count'] = ProtoField.uint64("of12.group_stats_entry.byte_count", "byte_count", base.DEC, nil)
+fields['of12.group_stats_entry.bucket_stats'] = ProtoField.bytes("of12.group_stats_entry.bucket_stats", "bucket_stats")
+fields['of12.group_stats_reply.version'] = ProtoField.uint8("of12.group_stats_reply.version", "version", base.DEC, nil)
+fields['of12.group_stats_reply.type'] = ProtoField.uint8("of12.group_stats_reply.type", "type", base.DEC, nil)
+fields['of12.group_stats_reply.length'] = ProtoField.uint16("of12.group_stats_reply.length", "length", base.DEC, nil)
+fields['of12.group_stats_reply.xid'] = ProtoField.uint32("of12.group_stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.group_stats_reply.stats_type'] = ProtoField.uint16("of12.group_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of12.group_stats_reply.flags'] = ProtoField.uint32("of12.group_stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.group_stats_reply.entries'] = ProtoField.bytes("of12.group_stats_reply.entries", "entries")
+fields['of12.group_stats_request.version'] = ProtoField.uint8("of12.group_stats_request.version", "version", base.DEC, nil)
+fields['of12.group_stats_request.type'] = ProtoField.uint32("of12.group_stats_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.group_stats_request.length'] = ProtoField.uint16("of12.group_stats_request.length", "length", base.DEC, nil)
+fields['of12.group_stats_request.xid'] = ProtoField.uint32("of12.group_stats_request.xid", "xid", base.DEC, nil)
+fields['of12.group_stats_request.stats_type'] = ProtoField.uint32("of12.group_stats_request.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.group_stats_request.flags'] = ProtoField.uint32("of12.group_stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of12.group_stats_request.group_id'] = ProtoField.uint32("of12.group_stats_request.group_id", "group_id", base.DEC, nil)
+fields['of12.hello.version'] = ProtoField.uint8("of12.hello.version", "version", base.DEC, nil)
+fields['of12.hello.type'] = ProtoField.uint32("of12.hello.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.hello.length'] = ProtoField.uint16("of12.hello.length", "length", base.DEC, nil)
+fields['of12.hello.xid'] = ProtoField.uint32("of12.hello.xid", "xid", base.DEC, nil)
+fields['of12.hello_failed_error_msg.version'] = ProtoField.uint8("of12.hello_failed_error_msg.version", "version", base.DEC, nil)
+fields['of12.hello_failed_error_msg.type'] = ProtoField.uint8("of12.hello_failed_error_msg.type", "type", base.DEC, nil)
+fields['of12.hello_failed_error_msg.length'] = ProtoField.uint16("of12.hello_failed_error_msg.length", "length", base.DEC, nil)
+fields['of12.hello_failed_error_msg.xid'] = ProtoField.uint32("of12.hello_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.hello_failed_error_msg.err_type'] = ProtoField.uint16("of12.hello_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.hello_failed_error_msg.code'] = ProtoField.uint32("of12.hello_failed_error_msg.code", "code", base.DEC, enum_v3_ofp_hello_failed_code)
+fields['of12.hello_failed_error_msg.data'] = ProtoField.bytes("of12.hello_failed_error_msg.data", "data")
+fields['of12.instruction.type'] = ProtoField.uint16("of12.instruction.type", "type", base.DEC, nil)
+fields['of12.instruction.len'] = ProtoField.uint16("of12.instruction.len", "len", base.DEC, nil)
+fields['of12.instruction_apply_actions.type'] = ProtoField.uint32("of12.instruction_apply_actions.type", "type", base.HEX, enum_v3_ofp_instruction_type)
+fields['of12.instruction_apply_actions.len'] = ProtoField.uint16("of12.instruction_apply_actions.len", "len", base.DEC, nil)
+fields['of12.instruction_apply_actions.actions'] = ProtoField.bytes("of12.instruction_apply_actions.actions", "actions")
+fields['of12.instruction_clear_actions.type'] = ProtoField.uint16("of12.instruction_clear_actions.type", "type", base.DEC, nil)
+fields['of12.instruction_clear_actions.len'] = ProtoField.uint16("of12.instruction_clear_actions.len", "len", base.DEC, nil)
+fields['of12.instruction_experimenter.type'] = ProtoField.uint16("of12.instruction_experimenter.type", "type", base.DEC, nil)
+fields['of12.instruction_experimenter.len'] = ProtoField.uint16("of12.instruction_experimenter.len", "len", base.DEC, nil)
+fields['of12.instruction_experimenter.experimenter'] = ProtoField.uint32("of12.instruction_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of12.instruction_experimenter.data'] = ProtoField.bytes("of12.instruction_experimenter.data", "data")
+fields['of12.instruction_goto_table.type'] = ProtoField.uint16("of12.instruction_goto_table.type", "type", base.DEC, nil)
+fields['of12.instruction_goto_table.len'] = ProtoField.uint16("of12.instruction_goto_table.len", "len", base.DEC, nil)
+fields['of12.instruction_goto_table.table_id'] = ProtoField.uint8("of12.instruction_goto_table.table_id", "table_id", base.DEC, nil)
+fields['of12.instruction_write_actions.type'] = ProtoField.uint32("of12.instruction_write_actions.type", "type", base.HEX, enum_v3_ofp_instruction_type)
+fields['of12.instruction_write_actions.len'] = ProtoField.uint16("of12.instruction_write_actions.len", "len", base.DEC, nil)
+fields['of12.instruction_write_actions.actions'] = ProtoField.bytes("of12.instruction_write_actions.actions", "actions")
+fields['of12.instruction_write_metadata.type'] = ProtoField.uint16("of12.instruction_write_metadata.type", "type", base.DEC, nil)
+fields['of12.instruction_write_metadata.len'] = ProtoField.uint16("of12.instruction_write_metadata.len", "len", base.DEC, nil)
+fields['of12.instruction_write_metadata.metadata'] = ProtoField.uint64("of12.instruction_write_metadata.metadata", "metadata", base.DEC, nil)
+fields['of12.instruction_write_metadata.metadata_mask'] = ProtoField.uint64("of12.instruction_write_metadata.metadata_mask", "metadata_mask", base.DEC, nil)
+fields['of12.match_v3.type'] = ProtoField.uint32("of12.match_v3.type", "type", base.DEC, enum_v3_ofp_match_type)
+fields['of12.match_v3.length'] = ProtoField.uint16("of12.match_v3.length", "length", base.DEC, nil)
+fields['of12.match_v3.oxm_list'] = ProtoField.bytes("of12.match_v3.oxm_list", "oxm_list")
+fields['of12.nicira_header.version'] = ProtoField.uint8("of12.nicira_header.version", "version", base.DEC, nil)
+fields['of12.nicira_header.type'] = ProtoField.uint8("of12.nicira_header.type", "type", base.DEC, nil)
+fields['of12.nicira_header.length'] = ProtoField.uint16("of12.nicira_header.length", "length", base.DEC, nil)
+fields['of12.nicira_header.xid'] = ProtoField.uint32("of12.nicira_header.xid", "xid", base.DEC, nil)
+fields['of12.nicira_header.experimenter'] = ProtoField.uint32("of12.nicira_header.experimenter", "experimenter", base.DEC, nil)
+fields['of12.nicira_header.subtype'] = ProtoField.uint32("of12.nicira_header.subtype", "subtype", base.DEC, nil)
+fields['of12.oxm_arp_op.type_len'] = ProtoField.uint32("of12.oxm_arp_op.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_arp_op.value'] = ProtoField.uint16("of12.oxm_arp_op.value", "value", base.DEC, nil)
+fields['of12.oxm_arp_op_masked.type_len'] = ProtoField.uint32("of12.oxm_arp_op_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_arp_op_masked.value'] = ProtoField.uint16("of12.oxm_arp_op_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_arp_op_masked.value_mask'] = ProtoField.uint16("of12.oxm_arp_op_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_arp_sha.type_len'] = ProtoField.uint32("of12.oxm_arp_sha.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_arp_sha.value'] = ProtoField.ether("of12.oxm_arp_sha.value", "value")
+fields['of12.oxm_arp_sha_masked.type_len'] = ProtoField.uint32("of12.oxm_arp_sha_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_arp_sha_masked.value'] = ProtoField.ether("of12.oxm_arp_sha_masked.value", "value")
+fields['of12.oxm_arp_sha_masked.value_mask'] = ProtoField.ether("of12.oxm_arp_sha_masked.value_mask", "value_mask")
+fields['of12.oxm_arp_spa.type_len'] = ProtoField.uint32("of12.oxm_arp_spa.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_arp_spa.value'] = ProtoField.uint32("of12.oxm_arp_spa.value", "value", base.DEC, nil)
+fields['of12.oxm_arp_spa_masked.type_len'] = ProtoField.uint32("of12.oxm_arp_spa_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_arp_spa_masked.value'] = ProtoField.uint32("of12.oxm_arp_spa_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_arp_spa_masked.value_mask'] = ProtoField.uint32("of12.oxm_arp_spa_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_arp_tha.type_len'] = ProtoField.uint32("of12.oxm_arp_tha.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_arp_tha.value'] = ProtoField.ether("of12.oxm_arp_tha.value", "value")
+fields['of12.oxm_arp_tha_masked.type_len'] = ProtoField.uint32("of12.oxm_arp_tha_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_arp_tha_masked.value'] = ProtoField.ether("of12.oxm_arp_tha_masked.value", "value")
+fields['of12.oxm_arp_tha_masked.value_mask'] = ProtoField.ether("of12.oxm_arp_tha_masked.value_mask", "value_mask")
+fields['of12.oxm_arp_tpa.type_len'] = ProtoField.uint32("of12.oxm_arp_tpa.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_arp_tpa.value'] = ProtoField.uint32("of12.oxm_arp_tpa.value", "value", base.DEC, nil)
+fields['of12.oxm_arp_tpa_masked.type_len'] = ProtoField.uint32("of12.oxm_arp_tpa_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_arp_tpa_masked.value'] = ProtoField.uint32("of12.oxm_arp_tpa_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_arp_tpa_masked.value_mask'] = ProtoField.uint32("of12.oxm_arp_tpa_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_egr_port_group_id.type_len'] = ProtoField.uint32("of12.oxm_bsn_egr_port_group_id.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_egr_port_group_id.value'] = ProtoField.uint32("of12.oxm_bsn_egr_port_group_id.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_egr_port_group_id_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_egr_port_group_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_egr_port_group_id_masked.value'] = ProtoField.uint32("of12.oxm_bsn_egr_port_group_id_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_egr_port_group_id_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_egr_port_group_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_global_vrf_allowed.type_len'] = ProtoField.uint32("of12.oxm_bsn_global_vrf_allowed.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_global_vrf_allowed.value'] = ProtoField.uint8("of12.oxm_bsn_global_vrf_allowed.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_global_vrf_allowed_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_global_vrf_allowed_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_global_vrf_allowed_masked.value'] = ProtoField.uint8("of12.oxm_bsn_global_vrf_allowed_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_global_vrf_allowed_masked.value_mask'] = ProtoField.uint8("of12.oxm_bsn_global_vrf_allowed_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_in_ports_128.type_len'] = ProtoField.uint32("of12.oxm_bsn_in_ports_128.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_in_ports_128.value'] = ProtoField.bytes("of12.oxm_bsn_in_ports_128.value", "value")
+fields['of12.oxm_bsn_in_ports_128_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_in_ports_128_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_in_ports_128_masked.value'] = ProtoField.bytes("of12.oxm_bsn_in_ports_128_masked.value", "value")
+fields['of12.oxm_bsn_in_ports_128_masked.value_mask'] = ProtoField.bytes("of12.oxm_bsn_in_ports_128_masked.value_mask", "value_mask")
+fields['of12.oxm_bsn_l3_dst_class_id.type_len'] = ProtoField.uint32("of12.oxm_bsn_l3_dst_class_id.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_l3_dst_class_id.value'] = ProtoField.uint32("of12.oxm_bsn_l3_dst_class_id.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_l3_dst_class_id_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_l3_dst_class_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_l3_dst_class_id_masked.value'] = ProtoField.uint32("of12.oxm_bsn_l3_dst_class_id_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_l3_dst_class_id_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_l3_dst_class_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_l3_interface_class_id.type_len'] = ProtoField.uint32("of12.oxm_bsn_l3_interface_class_id.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_l3_interface_class_id.value'] = ProtoField.uint32("of12.oxm_bsn_l3_interface_class_id.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_l3_interface_class_id_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_l3_interface_class_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_l3_interface_class_id_masked.value'] = ProtoField.uint32("of12.oxm_bsn_l3_interface_class_id_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_l3_interface_class_id_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_l3_interface_class_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_l3_src_class_id.type_len'] = ProtoField.uint32("of12.oxm_bsn_l3_src_class_id.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_l3_src_class_id.value'] = ProtoField.uint32("of12.oxm_bsn_l3_src_class_id.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_l3_src_class_id_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_l3_src_class_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_l3_src_class_id_masked.value'] = ProtoField.uint32("of12.oxm_bsn_l3_src_class_id_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_l3_src_class_id_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_l3_src_class_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_lag_id.type_len'] = ProtoField.uint32("of12.oxm_bsn_lag_id.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_lag_id.value'] = ProtoField.uint32("of12.oxm_bsn_lag_id.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_lag_id_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_lag_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_lag_id_masked.value'] = ProtoField.uint32("of12.oxm_bsn_lag_id_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_lag_id_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_lag_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_tcp_flags.type_len'] = ProtoField.uint32("of12.oxm_bsn_tcp_flags.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_tcp_flags.value'] = ProtoField.uint16("of12.oxm_bsn_tcp_flags.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_tcp_flags_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_tcp_flags_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_tcp_flags_masked.value'] = ProtoField.uint16("of12.oxm_bsn_tcp_flags_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_tcp_flags_masked.value_mask'] = ProtoField.uint16("of12.oxm_bsn_tcp_flags_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_udf0.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf0.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf0.value'] = ProtoField.uint32("of12.oxm_bsn_udf0.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf0_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf0_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf0_masked.value'] = ProtoField.uint32("of12.oxm_bsn_udf0_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf0_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_udf0_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_udf1.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf1.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf1.value'] = ProtoField.uint32("of12.oxm_bsn_udf1.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf1_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf1_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf1_masked.value'] = ProtoField.uint32("of12.oxm_bsn_udf1_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf1_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_udf1_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_udf2.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf2.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf2.value'] = ProtoField.uint32("of12.oxm_bsn_udf2.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf2_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf2_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf2_masked.value'] = ProtoField.uint32("of12.oxm_bsn_udf2_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf2_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_udf2_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_udf3.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf3.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf3.value'] = ProtoField.uint32("of12.oxm_bsn_udf3.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf3_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf3_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf3_masked.value'] = ProtoField.uint32("of12.oxm_bsn_udf3_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf3_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_udf3_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_udf4.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf4.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf4.value'] = ProtoField.uint32("of12.oxm_bsn_udf4.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf4_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf4_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf4_masked.value'] = ProtoField.uint32("of12.oxm_bsn_udf4_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf4_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_udf4_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_udf5.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf5.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf5.value'] = ProtoField.uint32("of12.oxm_bsn_udf5.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf5_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf5_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf5_masked.value'] = ProtoField.uint32("of12.oxm_bsn_udf5_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf5_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_udf5_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_udf6.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf6.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf6.value'] = ProtoField.uint32("of12.oxm_bsn_udf6.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf6_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf6_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf6_masked.value'] = ProtoField.uint32("of12.oxm_bsn_udf6_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf6_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_udf6_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_udf7.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf7.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf7.value'] = ProtoField.uint32("of12.oxm_bsn_udf7.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf7_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_udf7_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_udf7_masked.value'] = ProtoField.uint32("of12.oxm_bsn_udf7_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_udf7_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_udf7_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_vlan_xlate_port_group_id.type_len'] = ProtoField.uint32("of12.oxm_bsn_vlan_xlate_port_group_id.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_vlan_xlate_port_group_id.value'] = ProtoField.uint32("of12.oxm_bsn_vlan_xlate_port_group_id.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_vlan_xlate_port_group_id_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_vlan_xlate_port_group_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_vlan_xlate_port_group_id_masked.value'] = ProtoField.uint32("of12.oxm_bsn_vlan_xlate_port_group_id_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_bsn_vrf.type_len'] = ProtoField.uint32("of12.oxm_bsn_vrf.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_vrf.value'] = ProtoField.uint32("of12.oxm_bsn_vrf.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_vrf_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_vrf_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_vrf_masked.value'] = ProtoField.uint32("of12.oxm_bsn_vrf_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_vrf_masked.value_mask'] = ProtoField.uint32("of12.oxm_bsn_vrf_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_eth_dst.type_len'] = ProtoField.uint32("of12.oxm_eth_dst.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_eth_dst.value'] = ProtoField.ether("of12.oxm_eth_dst.value", "value")
+fields['of12.oxm_eth_dst_masked.type_len'] = ProtoField.uint32("of12.oxm_eth_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_eth_dst_masked.value'] = ProtoField.ether("of12.oxm_eth_dst_masked.value", "value")
+fields['of12.oxm_eth_dst_masked.value_mask'] = ProtoField.ether("of12.oxm_eth_dst_masked.value_mask", "value_mask")
+fields['of12.oxm_eth_src.type_len'] = ProtoField.uint32("of12.oxm_eth_src.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_eth_src.value'] = ProtoField.ether("of12.oxm_eth_src.value", "value")
+fields['of12.oxm_eth_src_masked.type_len'] = ProtoField.uint32("of12.oxm_eth_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_eth_src_masked.value'] = ProtoField.ether("of12.oxm_eth_src_masked.value", "value")
+fields['of12.oxm_eth_src_masked.value_mask'] = ProtoField.ether("of12.oxm_eth_src_masked.value_mask", "value_mask")
+fields['of12.oxm_eth_type.type_len'] = ProtoField.uint32("of12.oxm_eth_type.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_eth_type.value'] = ProtoField.uint16("of12.oxm_eth_type.value", "value", base.DEC, nil)
+fields['of12.oxm_eth_type_masked.type_len'] = ProtoField.uint32("of12.oxm_eth_type_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_eth_type_masked.value'] = ProtoField.uint16("of12.oxm_eth_type_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_eth_type_masked.value_mask'] = ProtoField.uint16("of12.oxm_eth_type_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_icmpv4_code.type_len'] = ProtoField.uint32("of12.oxm_icmpv4_code.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_icmpv4_code.value'] = ProtoField.uint8("of12.oxm_icmpv4_code.value", "value", base.DEC, nil)
+fields['of12.oxm_icmpv4_code_masked.type_len'] = ProtoField.uint32("of12.oxm_icmpv4_code_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_icmpv4_code_masked.value'] = ProtoField.uint8("of12.oxm_icmpv4_code_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_icmpv4_code_masked.value_mask'] = ProtoField.uint8("of12.oxm_icmpv4_code_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_icmpv4_type.type_len'] = ProtoField.uint32("of12.oxm_icmpv4_type.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_icmpv4_type.value'] = ProtoField.uint8("of12.oxm_icmpv4_type.value", "value", base.DEC, nil)
+fields['of12.oxm_icmpv4_type_masked.type_len'] = ProtoField.uint32("of12.oxm_icmpv4_type_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_icmpv4_type_masked.value'] = ProtoField.uint8("of12.oxm_icmpv4_type_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_icmpv4_type_masked.value_mask'] = ProtoField.uint8("of12.oxm_icmpv4_type_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_icmpv6_code.type_len'] = ProtoField.uint32("of12.oxm_icmpv6_code.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_icmpv6_code.value'] = ProtoField.uint8("of12.oxm_icmpv6_code.value", "value", base.DEC, nil)
+fields['of12.oxm_icmpv6_code_masked.type_len'] = ProtoField.uint32("of12.oxm_icmpv6_code_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_icmpv6_code_masked.value'] = ProtoField.uint8("of12.oxm_icmpv6_code_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_icmpv6_code_masked.value_mask'] = ProtoField.uint8("of12.oxm_icmpv6_code_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_icmpv6_type.type_len'] = ProtoField.uint32("of12.oxm_icmpv6_type.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_icmpv6_type.value'] = ProtoField.uint8("of12.oxm_icmpv6_type.value", "value", base.DEC, nil)
+fields['of12.oxm_icmpv6_type_masked.type_len'] = ProtoField.uint32("of12.oxm_icmpv6_type_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_icmpv6_type_masked.value'] = ProtoField.uint8("of12.oxm_icmpv6_type_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_icmpv6_type_masked.value_mask'] = ProtoField.uint8("of12.oxm_icmpv6_type_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_in_phy_port.type_len'] = ProtoField.uint32("of12.oxm_in_phy_port.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_in_phy_port.value'] = ProtoField.uint32("of12.oxm_in_phy_port.value", "value", base.DEC, nil)
+fields['of12.oxm_in_phy_port_masked.type_len'] = ProtoField.uint32("of12.oxm_in_phy_port_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_in_phy_port_masked.value'] = ProtoField.uint32("of12.oxm_in_phy_port_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_in_phy_port_masked.value_mask'] = ProtoField.uint32("of12.oxm_in_phy_port_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_in_port.type_len'] = ProtoField.uint32("of12.oxm_in_port.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_in_port.value'] = ProtoField.uint32("of12.oxm_in_port.value", "value", base.DEC, nil)
+fields['of12.oxm_in_port_masked.type_len'] = ProtoField.uint32("of12.oxm_in_port_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_in_port_masked.value'] = ProtoField.uint32("of12.oxm_in_port_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_in_port_masked.value_mask'] = ProtoField.uint32("of12.oxm_in_port_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_ip_dscp.type_len'] = ProtoField.uint32("of12.oxm_ip_dscp.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ip_dscp.value'] = ProtoField.uint8("of12.oxm_ip_dscp.value", "value", base.DEC, nil)
+fields['of12.oxm_ip_dscp_masked.type_len'] = ProtoField.uint32("of12.oxm_ip_dscp_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ip_dscp_masked.value'] = ProtoField.uint8("of12.oxm_ip_dscp_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_ip_dscp_masked.value_mask'] = ProtoField.uint8("of12.oxm_ip_dscp_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_ip_ecn.type_len'] = ProtoField.uint32("of12.oxm_ip_ecn.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ip_ecn.value'] = ProtoField.uint8("of12.oxm_ip_ecn.value", "value", base.DEC, nil)
+fields['of12.oxm_ip_ecn_masked.type_len'] = ProtoField.uint32("of12.oxm_ip_ecn_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ip_ecn_masked.value'] = ProtoField.uint8("of12.oxm_ip_ecn_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_ip_ecn_masked.value_mask'] = ProtoField.uint8("of12.oxm_ip_ecn_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_ip_proto.type_len'] = ProtoField.uint32("of12.oxm_ip_proto.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ip_proto.value'] = ProtoField.uint8("of12.oxm_ip_proto.value", "value", base.DEC, nil)
+fields['of12.oxm_ip_proto_masked.type_len'] = ProtoField.uint32("of12.oxm_ip_proto_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ip_proto_masked.value'] = ProtoField.uint8("of12.oxm_ip_proto_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_ip_proto_masked.value_mask'] = ProtoField.uint8("of12.oxm_ip_proto_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_ipv4_dst.type_len'] = ProtoField.uint32("of12.oxm_ipv4_dst.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv4_dst.value'] = ProtoField.ipv4("of12.oxm_ipv4_dst.value", "value")
+fields['of12.oxm_ipv4_dst_masked.type_len'] = ProtoField.uint32("of12.oxm_ipv4_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv4_dst_masked.value'] = ProtoField.ipv4("of12.oxm_ipv4_dst_masked.value", "value")
+fields['of12.oxm_ipv4_dst_masked.value_mask'] = ProtoField.ipv4("of12.oxm_ipv4_dst_masked.value_mask", "value_mask")
+fields['of12.oxm_ipv4_src.type_len'] = ProtoField.uint32("of12.oxm_ipv4_src.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv4_src.value'] = ProtoField.ipv4("of12.oxm_ipv4_src.value", "value")
+fields['of12.oxm_ipv4_src_masked.type_len'] = ProtoField.uint32("of12.oxm_ipv4_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv4_src_masked.value'] = ProtoField.ipv4("of12.oxm_ipv4_src_masked.value", "value")
+fields['of12.oxm_ipv4_src_masked.value_mask'] = ProtoField.ipv4("of12.oxm_ipv4_src_masked.value_mask", "value_mask")
+fields['of12.oxm_ipv6_dst.type_len'] = ProtoField.uint32("of12.oxm_ipv6_dst.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_dst.value'] = ProtoField.ipv6("of12.oxm_ipv6_dst.value", "value")
+fields['of12.oxm_ipv6_dst_masked.type_len'] = ProtoField.uint32("of12.oxm_ipv6_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_dst_masked.value'] = ProtoField.ipv6("of12.oxm_ipv6_dst_masked.value", "value")
+fields['of12.oxm_ipv6_dst_masked.value_mask'] = ProtoField.ipv6("of12.oxm_ipv6_dst_masked.value_mask", "value_mask")
+fields['of12.oxm_ipv6_flabel.type_len'] = ProtoField.uint32("of12.oxm_ipv6_flabel.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_flabel.value'] = ProtoField.uint32("of12.oxm_ipv6_flabel.value", "value", base.DEC, nil)
+fields['of12.oxm_ipv6_flabel_masked.type_len'] = ProtoField.uint32("of12.oxm_ipv6_flabel_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_flabel_masked.value'] = ProtoField.uint32("of12.oxm_ipv6_flabel_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_ipv6_flabel_masked.value_mask'] = ProtoField.uint32("of12.oxm_ipv6_flabel_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_ipv6_nd_sll.type_len'] = ProtoField.uint32("of12.oxm_ipv6_nd_sll.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_nd_sll.value'] = ProtoField.ether("of12.oxm_ipv6_nd_sll.value", "value")
+fields['of12.oxm_ipv6_nd_sll_masked.type_len'] = ProtoField.uint32("of12.oxm_ipv6_nd_sll_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_nd_sll_masked.value'] = ProtoField.ether("of12.oxm_ipv6_nd_sll_masked.value", "value")
+fields['of12.oxm_ipv6_nd_sll_masked.value_mask'] = ProtoField.ether("of12.oxm_ipv6_nd_sll_masked.value_mask", "value_mask")
+fields['of12.oxm_ipv6_nd_target.type_len'] = ProtoField.uint32("of12.oxm_ipv6_nd_target.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_nd_target.value'] = ProtoField.ipv6("of12.oxm_ipv6_nd_target.value", "value")
+fields['of12.oxm_ipv6_nd_target_masked.type_len'] = ProtoField.uint32("of12.oxm_ipv6_nd_target_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_nd_target_masked.value'] = ProtoField.ipv6("of12.oxm_ipv6_nd_target_masked.value", "value")
+fields['of12.oxm_ipv6_nd_target_masked.value_mask'] = ProtoField.ipv6("of12.oxm_ipv6_nd_target_masked.value_mask", "value_mask")
+fields['of12.oxm_ipv6_nd_tll.type_len'] = ProtoField.uint32("of12.oxm_ipv6_nd_tll.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_nd_tll.value'] = ProtoField.ether("of12.oxm_ipv6_nd_tll.value", "value")
+fields['of12.oxm_ipv6_nd_tll_masked.type_len'] = ProtoField.uint32("of12.oxm_ipv6_nd_tll_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_nd_tll_masked.value'] = ProtoField.ether("of12.oxm_ipv6_nd_tll_masked.value", "value")
+fields['of12.oxm_ipv6_nd_tll_masked.value_mask'] = ProtoField.ether("of12.oxm_ipv6_nd_tll_masked.value_mask", "value_mask")
+fields['of12.oxm_ipv6_src.type_len'] = ProtoField.uint32("of12.oxm_ipv6_src.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_src.value'] = ProtoField.ipv6("of12.oxm_ipv6_src.value", "value")
+fields['of12.oxm_ipv6_src_masked.type_len'] = ProtoField.uint32("of12.oxm_ipv6_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_ipv6_src_masked.value'] = ProtoField.ipv6("of12.oxm_ipv6_src_masked.value", "value")
+fields['of12.oxm_ipv6_src_masked.value_mask'] = ProtoField.ipv6("of12.oxm_ipv6_src_masked.value_mask", "value_mask")
+fields['of12.oxm_metadata.type_len'] = ProtoField.uint32("of12.oxm_metadata.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_metadata.value'] = ProtoField.uint64("of12.oxm_metadata.value", "value", base.DEC, nil)
+fields['of12.oxm_metadata_masked.type_len'] = ProtoField.uint32("of12.oxm_metadata_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_metadata_masked.value'] = ProtoField.uint64("of12.oxm_metadata_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_metadata_masked.value_mask'] = ProtoField.uint64("of12.oxm_metadata_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_mpls_label.type_len'] = ProtoField.uint32("of12.oxm_mpls_label.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_mpls_label.value'] = ProtoField.uint32("of12.oxm_mpls_label.value", "value", base.DEC, nil)
+fields['of12.oxm_mpls_label_masked.type_len'] = ProtoField.uint32("of12.oxm_mpls_label_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_mpls_label_masked.value'] = ProtoField.uint32("of12.oxm_mpls_label_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_mpls_label_masked.value_mask'] = ProtoField.uint32("of12.oxm_mpls_label_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_mpls_tc.type_len'] = ProtoField.uint32("of12.oxm_mpls_tc.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_mpls_tc.value'] = ProtoField.uint8("of12.oxm_mpls_tc.value", "value", base.DEC, nil)
+fields['of12.oxm_mpls_tc_masked.type_len'] = ProtoField.uint32("of12.oxm_mpls_tc_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_mpls_tc_masked.value'] = ProtoField.uint8("of12.oxm_mpls_tc_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_mpls_tc_masked.value_mask'] = ProtoField.uint8("of12.oxm_mpls_tc_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_sctp_dst.type_len'] = ProtoField.uint32("of12.oxm_sctp_dst.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_sctp_dst.value'] = ProtoField.uint16("of12.oxm_sctp_dst.value", "value", base.DEC, nil)
+fields['of12.oxm_sctp_dst_masked.type_len'] = ProtoField.uint32("of12.oxm_sctp_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_sctp_dst_masked.value'] = ProtoField.uint16("of12.oxm_sctp_dst_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_sctp_dst_masked.value_mask'] = ProtoField.uint16("of12.oxm_sctp_dst_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_sctp_src.type_len'] = ProtoField.uint32("of12.oxm_sctp_src.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_sctp_src.value'] = ProtoField.uint16("of12.oxm_sctp_src.value", "value", base.DEC, nil)
+fields['of12.oxm_sctp_src_masked.type_len'] = ProtoField.uint32("of12.oxm_sctp_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_sctp_src_masked.value'] = ProtoField.uint16("of12.oxm_sctp_src_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_sctp_src_masked.value_mask'] = ProtoField.uint16("of12.oxm_sctp_src_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_tcp_dst.type_len'] = ProtoField.uint32("of12.oxm_tcp_dst.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_tcp_dst.value'] = ProtoField.uint16("of12.oxm_tcp_dst.value", "value", base.DEC, nil)
+fields['of12.oxm_tcp_dst_masked.type_len'] = ProtoField.uint32("of12.oxm_tcp_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_tcp_dst_masked.value'] = ProtoField.uint16("of12.oxm_tcp_dst_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_tcp_dst_masked.value_mask'] = ProtoField.uint16("of12.oxm_tcp_dst_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_tcp_src.type_len'] = ProtoField.uint32("of12.oxm_tcp_src.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_tcp_src.value'] = ProtoField.uint16("of12.oxm_tcp_src.value", "value", base.DEC, nil)
+fields['of12.oxm_tcp_src_masked.type_len'] = ProtoField.uint32("of12.oxm_tcp_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_tcp_src_masked.value'] = ProtoField.uint16("of12.oxm_tcp_src_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_tcp_src_masked.value_mask'] = ProtoField.uint16("of12.oxm_tcp_src_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_udp_dst.type_len'] = ProtoField.uint32("of12.oxm_udp_dst.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_udp_dst.value'] = ProtoField.uint16("of12.oxm_udp_dst.value", "value", base.DEC, nil)
+fields['of12.oxm_udp_dst_masked.type_len'] = ProtoField.uint32("of12.oxm_udp_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_udp_dst_masked.value'] = ProtoField.uint16("of12.oxm_udp_dst_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_udp_dst_masked.value_mask'] = ProtoField.uint16("of12.oxm_udp_dst_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_udp_src.type_len'] = ProtoField.uint32("of12.oxm_udp_src.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_udp_src.value'] = ProtoField.uint16("of12.oxm_udp_src.value", "value", base.DEC, nil)
+fields['of12.oxm_udp_src_masked.type_len'] = ProtoField.uint32("of12.oxm_udp_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_udp_src_masked.value'] = ProtoField.uint16("of12.oxm_udp_src_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_udp_src_masked.value_mask'] = ProtoField.uint16("of12.oxm_udp_src_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_vlan_pcp.type_len'] = ProtoField.uint32("of12.oxm_vlan_pcp.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_vlan_pcp.value'] = ProtoField.uint8("of12.oxm_vlan_pcp.value", "value", base.DEC, nil)
+fields['of12.oxm_vlan_pcp_masked.type_len'] = ProtoField.uint32("of12.oxm_vlan_pcp_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_vlan_pcp_masked.value'] = ProtoField.uint8("of12.oxm_vlan_pcp_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_vlan_pcp_masked.value_mask'] = ProtoField.uint8("of12.oxm_vlan_pcp_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.oxm_vlan_vid.type_len'] = ProtoField.uint32("of12.oxm_vlan_vid.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_vlan_vid.value'] = ProtoField.uint16("of12.oxm_vlan_vid.value", "value", base.DEC, nil)
+fields['of12.oxm_vlan_vid_masked.type_len'] = ProtoField.uint32("of12.oxm_vlan_vid_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_vlan_vid_masked.value'] = ProtoField.uint16("of12.oxm_vlan_vid_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_vlan_vid_masked.value_mask'] = ProtoField.uint16("of12.oxm_vlan_vid_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of12.packet_in.version'] = ProtoField.uint8("of12.packet_in.version", "version", base.DEC, nil)
+fields['of12.packet_in.type'] = ProtoField.uint32("of12.packet_in.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.packet_in.length'] = ProtoField.uint16("of12.packet_in.length", "length", base.DEC, nil)
+fields['of12.packet_in.xid'] = ProtoField.uint32("of12.packet_in.xid", "xid", base.DEC, nil)
+fields['of12.packet_in.buffer_id'] = ProtoField.uint32("of12.packet_in.buffer_id", "buffer_id", base.DEC, nil)
+fields['of12.packet_in.total_len'] = ProtoField.uint16("of12.packet_in.total_len", "total_len", base.DEC, nil)
+fields['of12.packet_in.reason'] = ProtoField.uint32("of12.packet_in.reason", "reason", base.DEC, enum_v3_ofp_packet_in_reason)
+fields['of12.packet_in.table_id'] = ProtoField.uint8("of12.packet_in.table_id", "table_id", base.DEC, nil)
+fields['of12.packet_in.match'] = ProtoField.bytes("of12.packet_in.match", "match")
+fields['of12.packet_in.data'] = ProtoField.bytes("of12.packet_in.data", "data")
+fields['of12.packet_out.version'] = ProtoField.uint8("of12.packet_out.version", "version", base.DEC, nil)
+fields['of12.packet_out.type'] = ProtoField.uint32("of12.packet_out.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.packet_out.length'] = ProtoField.uint16("of12.packet_out.length", "length", base.DEC, nil)
+fields['of12.packet_out.xid'] = ProtoField.uint32("of12.packet_out.xid", "xid", base.DEC, nil)
+fields['of12.packet_out.buffer_id'] = ProtoField.uint32("of12.packet_out.buffer_id", "buffer_id", base.DEC, nil)
+fields['of12.packet_out.in_port'] = ProtoField.uint32("of12.packet_out.in_port", "in_port", base.DEC, nil)
+fields['of12.packet_out.actions_len'] = ProtoField.uint16("of12.packet_out.actions_len", "actions_len", base.DEC, nil)
+fields['of12.packet_out.actions'] = ProtoField.bytes("of12.packet_out.actions", "actions")
+fields['of12.packet_out.data'] = ProtoField.bytes("of12.packet_out.data", "data")
+fields['of12.packet_queue.queue_id'] = ProtoField.uint32("of12.packet_queue.queue_id", "queue_id", base.DEC, nil)
+fields['of12.packet_queue.port'] = ProtoField.uint32("of12.packet_queue.port", "port", base.DEC, nil)
+fields['of12.packet_queue.len'] = ProtoField.uint16("of12.packet_queue.len", "len", base.DEC, nil)
+fields['of12.packet_queue.properties'] = ProtoField.bytes("of12.packet_queue.properties", "properties")
+fields['of12.port_desc.port_no'] = ProtoField.uint32("of12.port_desc.port_no", "port_no", base.DEC, nil)
+fields['of12.port_desc.hw_addr'] = ProtoField.ether("of12.port_desc.hw_addr", "hw_addr")
+fields['of12.port_desc.name'] = ProtoField.stringz("of12.port_desc.name", "name")
+fields['of12.port_desc.config'] = ProtoField.uint32("of12.port_desc.config", "config", base.HEX, enum_v3_ofp_port_config)
+fields['of12.port_desc.state'] = ProtoField.uint32("of12.port_desc.state", "state", base.HEX, enum_v3_ofp_port_state)
+fields['of12.port_desc.curr'] = ProtoField.uint32("of12.port_desc.curr", "curr", base.HEX, enum_v3_ofp_port_features)
+fields['of12.port_desc.advertised'] = ProtoField.uint32("of12.port_desc.advertised", "advertised", base.HEX, enum_v3_ofp_port_features)
+fields['of12.port_desc.supported'] = ProtoField.uint32("of12.port_desc.supported", "supported", base.HEX, enum_v3_ofp_port_features)
+fields['of12.port_desc.peer'] = ProtoField.uint32("of12.port_desc.peer", "peer", base.HEX, enum_v3_ofp_port_features)
+fields['of12.port_desc.curr_speed'] = ProtoField.uint32("of12.port_desc.curr_speed", "curr_speed", base.DEC, nil)
+fields['of12.port_desc.max_speed'] = ProtoField.uint32("of12.port_desc.max_speed", "max_speed", base.DEC, nil)
+fields['of12.port_mod.version'] = ProtoField.uint8("of12.port_mod.version", "version", base.DEC, nil)
+fields['of12.port_mod.type'] = ProtoField.uint32("of12.port_mod.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.port_mod.length'] = ProtoField.uint16("of12.port_mod.length", "length", base.DEC, nil)
+fields['of12.port_mod.xid'] = ProtoField.uint32("of12.port_mod.xid", "xid", base.DEC, nil)
+fields['of12.port_mod.port_no'] = ProtoField.uint32("of12.port_mod.port_no", "port_no", base.DEC, nil)
+fields['of12.port_mod.hw_addr'] = ProtoField.ether("of12.port_mod.hw_addr", "hw_addr")
+fields['of12.port_mod.config'] = ProtoField.uint32("of12.port_mod.config", "config", base.DEC, nil)
+fields['of12.port_mod.mask'] = ProtoField.uint32("of12.port_mod.mask", "mask", base.DEC, nil)
+fields['of12.port_mod.advertise'] = ProtoField.uint32("of12.port_mod.advertise", "advertise", base.DEC, nil)
+fields['of12.port_mod_failed_error_msg.version'] = ProtoField.uint8("of12.port_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of12.port_mod_failed_error_msg.type'] = ProtoField.uint8("of12.port_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of12.port_mod_failed_error_msg.length'] = ProtoField.uint16("of12.port_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of12.port_mod_failed_error_msg.xid'] = ProtoField.uint32("of12.port_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.port_mod_failed_error_msg.err_type'] = ProtoField.uint16("of12.port_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.port_mod_failed_error_msg.code'] = ProtoField.uint32("of12.port_mod_failed_error_msg.code", "code", base.DEC, enum_v3_ofp_port_mod_failed_code)
+fields['of12.port_mod_failed_error_msg.data'] = ProtoField.bytes("of12.port_mod_failed_error_msg.data", "data")
+fields['of12.port_stats_entry.port_no'] = ProtoField.uint32("of12.port_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of12.port_stats_entry.rx_packets'] = ProtoField.uint64("of12.port_stats_entry.rx_packets", "rx_packets", base.DEC, nil)
+fields['of12.port_stats_entry.tx_packets'] = ProtoField.uint64("of12.port_stats_entry.tx_packets", "tx_packets", base.DEC, nil)
+fields['of12.port_stats_entry.rx_bytes'] = ProtoField.uint64("of12.port_stats_entry.rx_bytes", "rx_bytes", base.DEC, nil)
+fields['of12.port_stats_entry.tx_bytes'] = ProtoField.uint64("of12.port_stats_entry.tx_bytes", "tx_bytes", base.DEC, nil)
+fields['of12.port_stats_entry.rx_dropped'] = ProtoField.uint64("of12.port_stats_entry.rx_dropped", "rx_dropped", base.DEC, nil)
+fields['of12.port_stats_entry.tx_dropped'] = ProtoField.uint64("of12.port_stats_entry.tx_dropped", "tx_dropped", base.DEC, nil)
+fields['of12.port_stats_entry.rx_errors'] = ProtoField.uint64("of12.port_stats_entry.rx_errors", "rx_errors", base.DEC, nil)
+fields['of12.port_stats_entry.tx_errors'] = ProtoField.uint64("of12.port_stats_entry.tx_errors", "tx_errors", base.DEC, nil)
+fields['of12.port_stats_entry.rx_frame_err'] = ProtoField.uint64("of12.port_stats_entry.rx_frame_err", "rx_frame_err", base.DEC, nil)
+fields['of12.port_stats_entry.rx_over_err'] = ProtoField.uint64("of12.port_stats_entry.rx_over_err", "rx_over_err", base.DEC, nil)
+fields['of12.port_stats_entry.rx_crc_err'] = ProtoField.uint64("of12.port_stats_entry.rx_crc_err", "rx_crc_err", base.DEC, nil)
+fields['of12.port_stats_entry.collisions'] = ProtoField.uint64("of12.port_stats_entry.collisions", "collisions", base.DEC, nil)
+fields['of12.port_stats_reply.version'] = ProtoField.uint8("of12.port_stats_reply.version", "version", base.DEC, nil)
+fields['of12.port_stats_reply.type'] = ProtoField.uint32("of12.port_stats_reply.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.port_stats_reply.length'] = ProtoField.uint16("of12.port_stats_reply.length", "length", base.DEC, nil)
+fields['of12.port_stats_reply.xid'] = ProtoField.uint32("of12.port_stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.port_stats_reply.stats_type'] = ProtoField.uint32("of12.port_stats_reply.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.port_stats_reply.flags'] = ProtoField.uint32("of12.port_stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.port_stats_reply.entries'] = ProtoField.bytes("of12.port_stats_reply.entries", "entries")
+fields['of12.port_stats_request.version'] = ProtoField.uint8("of12.port_stats_request.version", "version", base.DEC, nil)
+fields['of12.port_stats_request.type'] = ProtoField.uint32("of12.port_stats_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.port_stats_request.length'] = ProtoField.uint16("of12.port_stats_request.length", "length", base.DEC, nil)
+fields['of12.port_stats_request.xid'] = ProtoField.uint32("of12.port_stats_request.xid", "xid", base.DEC, nil)
+fields['of12.port_stats_request.stats_type'] = ProtoField.uint32("of12.port_stats_request.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.port_stats_request.flags'] = ProtoField.uint32("of12.port_stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of12.port_stats_request.port_no'] = ProtoField.uint32("of12.port_stats_request.port_no", "port_no", base.DEC, nil)
+fields['of12.port_status.version'] = ProtoField.uint8("of12.port_status.version", "version", base.DEC, nil)
+fields['of12.port_status.type'] = ProtoField.uint32("of12.port_status.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.port_status.length'] = ProtoField.uint16("of12.port_status.length", "length", base.DEC, nil)
+fields['of12.port_status.xid'] = ProtoField.uint32("of12.port_status.xid", "xid", base.DEC, nil)
+fields['of12.port_status.reason'] = ProtoField.uint32("of12.port_status.reason", "reason", base.DEC, enum_v3_ofp_port_reason)
+fields['of12.port_status.desc'] = ProtoField.stringz("of12.port_status.desc", "desc")
+fields['of12.queue_get_config_reply.version'] = ProtoField.uint8("of12.queue_get_config_reply.version", "version", base.DEC, nil)
+fields['of12.queue_get_config_reply.type'] = ProtoField.uint8("of12.queue_get_config_reply.type", "type", base.DEC, nil)
+fields['of12.queue_get_config_reply.length'] = ProtoField.uint16("of12.queue_get_config_reply.length", "length", base.DEC, nil)
+fields['of12.queue_get_config_reply.xid'] = ProtoField.uint32("of12.queue_get_config_reply.xid", "xid", base.DEC, nil)
+fields['of12.queue_get_config_reply.port'] = ProtoField.uint32("of12.queue_get_config_reply.port", "port", base.DEC, nil)
+fields['of12.queue_get_config_reply.queues'] = ProtoField.bytes("of12.queue_get_config_reply.queues", "queues")
+fields['of12.queue_get_config_request.version'] = ProtoField.uint8("of12.queue_get_config_request.version", "version", base.DEC, nil)
+fields['of12.queue_get_config_request.type'] = ProtoField.uint8("of12.queue_get_config_request.type", "type", base.DEC, nil)
+fields['of12.queue_get_config_request.length'] = ProtoField.uint16("of12.queue_get_config_request.length", "length", base.DEC, nil)
+fields['of12.queue_get_config_request.xid'] = ProtoField.uint32("of12.queue_get_config_request.xid", "xid", base.DEC, nil)
+fields['of12.queue_get_config_request.port'] = ProtoField.uint32("of12.queue_get_config_request.port", "port", base.DEC, nil)
+fields['of12.queue_op_failed_error_msg.version'] = ProtoField.uint8("of12.queue_op_failed_error_msg.version", "version", base.DEC, nil)
+fields['of12.queue_op_failed_error_msg.type'] = ProtoField.uint8("of12.queue_op_failed_error_msg.type", "type", base.DEC, nil)
+fields['of12.queue_op_failed_error_msg.length'] = ProtoField.uint16("of12.queue_op_failed_error_msg.length", "length", base.DEC, nil)
+fields['of12.queue_op_failed_error_msg.xid'] = ProtoField.uint32("of12.queue_op_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.queue_op_failed_error_msg.err_type'] = ProtoField.uint16("of12.queue_op_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.queue_op_failed_error_msg.code'] = ProtoField.uint32("of12.queue_op_failed_error_msg.code", "code", base.DEC, enum_v3_ofp_queue_op_failed_code)
+fields['of12.queue_op_failed_error_msg.data'] = ProtoField.bytes("of12.queue_op_failed_error_msg.data", "data")
+fields['of12.queue_prop.type'] = ProtoField.uint16("of12.queue_prop.type", "type", base.DEC, nil)
+fields['of12.queue_prop.len'] = ProtoField.uint16("of12.queue_prop.len", "len", base.DEC, nil)
+fields['of12.queue_prop_experimenter.type'] = ProtoField.uint16("of12.queue_prop_experimenter.type", "type", base.DEC, nil)
+fields['of12.queue_prop_experimenter.len'] = ProtoField.uint16("of12.queue_prop_experimenter.len", "len", base.DEC, nil)
+fields['of12.queue_prop_experimenter.experimenter'] = ProtoField.uint32("of12.queue_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of12.queue_prop_experimenter.data'] = ProtoField.bytes("of12.queue_prop_experimenter.data", "data")
+fields['of12.queue_prop_max_rate.type'] = ProtoField.uint16("of12.queue_prop_max_rate.type", "type", base.DEC, nil)
+fields['of12.queue_prop_max_rate.len'] = ProtoField.uint16("of12.queue_prop_max_rate.len", "len", base.DEC, nil)
+fields['of12.queue_prop_max_rate.rate'] = ProtoField.uint16("of12.queue_prop_max_rate.rate", "rate", base.DEC, nil)
+fields['of12.queue_prop_min_rate.type'] = ProtoField.uint16("of12.queue_prop_min_rate.type", "type", base.DEC, nil)
+fields['of12.queue_prop_min_rate.len'] = ProtoField.uint16("of12.queue_prop_min_rate.len", "len", base.DEC, nil)
+fields['of12.queue_prop_min_rate.rate'] = ProtoField.uint16("of12.queue_prop_min_rate.rate", "rate", base.DEC, nil)
+fields['of12.queue_stats_entry.port_no'] = ProtoField.uint32("of12.queue_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of12.queue_stats_entry.queue_id'] = ProtoField.uint32("of12.queue_stats_entry.queue_id", "queue_id", base.DEC, nil)
+fields['of12.queue_stats_entry.tx_bytes'] = ProtoField.uint64("of12.queue_stats_entry.tx_bytes", "tx_bytes", base.DEC, nil)
+fields['of12.queue_stats_entry.tx_packets'] = ProtoField.uint64("of12.queue_stats_entry.tx_packets", "tx_packets", base.DEC, nil)
+fields['of12.queue_stats_entry.tx_errors'] = ProtoField.uint64("of12.queue_stats_entry.tx_errors", "tx_errors", base.DEC, nil)
+fields['of12.queue_stats_reply.version'] = ProtoField.uint8("of12.queue_stats_reply.version", "version", base.DEC, nil)
+fields['of12.queue_stats_reply.type'] = ProtoField.uint32("of12.queue_stats_reply.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.queue_stats_reply.length'] = ProtoField.uint16("of12.queue_stats_reply.length", "length", base.DEC, nil)
+fields['of12.queue_stats_reply.xid'] = ProtoField.uint32("of12.queue_stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.queue_stats_reply.stats_type'] = ProtoField.uint32("of12.queue_stats_reply.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.queue_stats_reply.flags'] = ProtoField.uint32("of12.queue_stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.queue_stats_reply.entries'] = ProtoField.bytes("of12.queue_stats_reply.entries", "entries")
+fields['of12.queue_stats_request.version'] = ProtoField.uint8("of12.queue_stats_request.version", "version", base.DEC, nil)
+fields['of12.queue_stats_request.type'] = ProtoField.uint32("of12.queue_stats_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.queue_stats_request.length'] = ProtoField.uint16("of12.queue_stats_request.length", "length", base.DEC, nil)
+fields['of12.queue_stats_request.xid'] = ProtoField.uint32("of12.queue_stats_request.xid", "xid", base.DEC, nil)
+fields['of12.queue_stats_request.stats_type'] = ProtoField.uint32("of12.queue_stats_request.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.queue_stats_request.flags'] = ProtoField.uint32("of12.queue_stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of12.queue_stats_request.port_no'] = ProtoField.uint32("of12.queue_stats_request.port_no", "port_no", base.DEC, nil)
+fields['of12.queue_stats_request.queue_id'] = ProtoField.uint32("of12.queue_stats_request.queue_id", "queue_id", base.DEC, nil)
+fields['of12.role_reply.version'] = ProtoField.uint8("of12.role_reply.version", "version", base.DEC, nil)
+fields['of12.role_reply.type'] = ProtoField.uint8("of12.role_reply.type", "type", base.DEC, nil)
+fields['of12.role_reply.length'] = ProtoField.uint16("of12.role_reply.length", "length", base.DEC, nil)
+fields['of12.role_reply.xid'] = ProtoField.uint32("of12.role_reply.xid", "xid", base.DEC, nil)
+fields['of12.role_reply.role'] = ProtoField.uint32("of12.role_reply.role", "role", base.DEC, enum_v3_ofp_controller_role)
+fields['of12.role_reply.generation_id'] = ProtoField.uint64("of12.role_reply.generation_id", "generation_id", base.DEC, nil)
+fields['of12.role_request.version'] = ProtoField.uint8("of12.role_request.version", "version", base.DEC, nil)
+fields['of12.role_request.type'] = ProtoField.uint8("of12.role_request.type", "type", base.DEC, nil)
+fields['of12.role_request.length'] = ProtoField.uint16("of12.role_request.length", "length", base.DEC, nil)
+fields['of12.role_request.xid'] = ProtoField.uint32("of12.role_request.xid", "xid", base.DEC, nil)
+fields['of12.role_request.role'] = ProtoField.uint32("of12.role_request.role", "role", base.DEC, enum_v3_ofp_controller_role)
+fields['of12.role_request.generation_id'] = ProtoField.uint64("of12.role_request.generation_id", "generation_id", base.DEC, nil)
+fields['of12.role_request_failed_error_msg.version'] = ProtoField.uint8("of12.role_request_failed_error_msg.version", "version", base.DEC, nil)
+fields['of12.role_request_failed_error_msg.type'] = ProtoField.uint8("of12.role_request_failed_error_msg.type", "type", base.DEC, nil)
+fields['of12.role_request_failed_error_msg.length'] = ProtoField.uint16("of12.role_request_failed_error_msg.length", "length", base.DEC, nil)
+fields['of12.role_request_failed_error_msg.xid'] = ProtoField.uint32("of12.role_request_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.role_request_failed_error_msg.err_type'] = ProtoField.uint16("of12.role_request_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.role_request_failed_error_msg.code'] = ProtoField.uint32("of12.role_request_failed_error_msg.code", "code", base.DEC, enum_v3_ofp_role_request_failed_code)
+fields['of12.role_request_failed_error_msg.data'] = ProtoField.bytes("of12.role_request_failed_error_msg.data", "data")
+fields['of12.set_config.version'] = ProtoField.uint8("of12.set_config.version", "version", base.DEC, nil)
+fields['of12.set_config.type'] = ProtoField.uint8("of12.set_config.type", "type", base.DEC, nil)
+fields['of12.set_config.length'] = ProtoField.uint16("of12.set_config.length", "length", base.DEC, nil)
+fields['of12.set_config.xid'] = ProtoField.uint32("of12.set_config.xid", "xid", base.DEC, nil)
+fields['of12.set_config.flags'] = ProtoField.uint32("of12.set_config.flags", "flags", base.HEX, enum_v3_ofp_config_flags)
+fields['of12.set_config.miss_send_len'] = ProtoField.uint16("of12.set_config.miss_send_len", "miss_send_len", base.DEC, nil)
+fields['of12.switch_config_failed_error_msg.version'] = ProtoField.uint8("of12.switch_config_failed_error_msg.version", "version", base.DEC, nil)
+fields['of12.switch_config_failed_error_msg.type'] = ProtoField.uint8("of12.switch_config_failed_error_msg.type", "type", base.DEC, nil)
+fields['of12.switch_config_failed_error_msg.length'] = ProtoField.uint16("of12.switch_config_failed_error_msg.length", "length", base.DEC, nil)
+fields['of12.switch_config_failed_error_msg.xid'] = ProtoField.uint32("of12.switch_config_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.switch_config_failed_error_msg.err_type'] = ProtoField.uint16("of12.switch_config_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.switch_config_failed_error_msg.code'] = ProtoField.uint32("of12.switch_config_failed_error_msg.code", "code", base.DEC, enum_v3_ofp_switch_config_failed_code)
+fields['of12.switch_config_failed_error_msg.data'] = ProtoField.bytes("of12.switch_config_failed_error_msg.data", "data")
+fields['of12.table_mod.version'] = ProtoField.uint8("of12.table_mod.version", "version", base.DEC, nil)
+fields['of12.table_mod.type'] = ProtoField.uint8("of12.table_mod.type", "type", base.DEC, nil)
+fields['of12.table_mod.length'] = ProtoField.uint16("of12.table_mod.length", "length", base.DEC, nil)
+fields['of12.table_mod.xid'] = ProtoField.uint32("of12.table_mod.xid", "xid", base.DEC, nil)
+fields['of12.table_mod.table_id'] = ProtoField.uint8("of12.table_mod.table_id", "table_id", base.DEC, nil)
+fields['of12.table_mod.config'] = ProtoField.uint32("of12.table_mod.config", "config", base.DEC, nil)
+fields['of12.table_mod_failed_error_msg.version'] = ProtoField.uint8("of12.table_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of12.table_mod_failed_error_msg.type'] = ProtoField.uint8("of12.table_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of12.table_mod_failed_error_msg.length'] = ProtoField.uint16("of12.table_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of12.table_mod_failed_error_msg.xid'] = ProtoField.uint32("of12.table_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of12.table_mod_failed_error_msg.err_type'] = ProtoField.uint16("of12.table_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of12.table_mod_failed_error_msg.code'] = ProtoField.uint32("of12.table_mod_failed_error_msg.code", "code", base.DEC, enum_v3_ofp_table_mod_failed_code)
+fields['of12.table_mod_failed_error_msg.data'] = ProtoField.bytes("of12.table_mod_failed_error_msg.data", "data")
+fields['of12.table_stats_entry.table_id'] = ProtoField.uint8("of12.table_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of12.table_stats_entry.name'] = ProtoField.stringz("of12.table_stats_entry.name", "name")
+fields['of12.table_stats_entry.match'] = ProtoField.uint64("of12.table_stats_entry.match", "match", base.HEX, nil)
+fields['of12.table_stats_entry.wildcards'] = ProtoField.uint64("of12.table_stats_entry.wildcards", "wildcards", base.HEX, nil)
+fields['of12.table_stats_entry.write_actions'] = ProtoField.uint32("of12.table_stats_entry.write_actions", "write_actions", base.DEC, nil)
+fields['of12.table_stats_entry.apply_actions'] = ProtoField.uint32("of12.table_stats_entry.apply_actions", "apply_actions", base.DEC, nil)
+fields['of12.table_stats_entry.write_setfields'] = ProtoField.uint64("of12.table_stats_entry.write_setfields", "write_setfields", base.DEC, nil)
+fields['of12.table_stats_entry.apply_setfields'] = ProtoField.uint64("of12.table_stats_entry.apply_setfields", "apply_setfields", base.DEC, nil)
+fields['of12.table_stats_entry.metadata_match'] = ProtoField.uint64("of12.table_stats_entry.metadata_match", "metadata_match", base.DEC, nil)
+fields['of12.table_stats_entry.metadata_write'] = ProtoField.uint64("of12.table_stats_entry.metadata_write", "metadata_write", base.DEC, nil)
+fields['of12.table_stats_entry.instructions'] = ProtoField.uint32("of12.table_stats_entry.instructions", "instructions", base.DEC, nil)
+fields['of12.table_stats_entry.config'] = ProtoField.uint32("of12.table_stats_entry.config", "config", base.DEC, nil)
+fields['of12.table_stats_entry.max_entries'] = ProtoField.uint32("of12.table_stats_entry.max_entries", "max_entries", base.DEC, nil)
+fields['of12.table_stats_entry.active_count'] = ProtoField.uint32("of12.table_stats_entry.active_count", "active_count", base.DEC, nil)
+fields['of12.table_stats_entry.lookup_count'] = ProtoField.uint64("of12.table_stats_entry.lookup_count", "lookup_count", base.DEC, nil)
+fields['of12.table_stats_entry.matched_count'] = ProtoField.uint64("of12.table_stats_entry.matched_count", "matched_count", base.DEC, nil)
+fields['of12.table_stats_reply.version'] = ProtoField.uint8("of12.table_stats_reply.version", "version", base.DEC, nil)
+fields['of12.table_stats_reply.type'] = ProtoField.uint32("of12.table_stats_reply.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.table_stats_reply.length'] = ProtoField.uint16("of12.table_stats_reply.length", "length", base.DEC, nil)
+fields['of12.table_stats_reply.xid'] = ProtoField.uint32("of12.table_stats_reply.xid", "xid", base.DEC, nil)
+fields['of12.table_stats_reply.stats_type'] = ProtoField.uint32("of12.table_stats_reply.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.table_stats_reply.flags'] = ProtoField.uint32("of12.table_stats_reply.flags", "flags", base.HEX, enum_v3_ofp_stats_reply_flags)
+fields['of12.table_stats_reply.entries'] = ProtoField.bytes("of12.table_stats_reply.entries", "entries")
+fields['of12.table_stats_request.version'] = ProtoField.uint8("of12.table_stats_request.version", "version", base.DEC, nil)
+fields['of12.table_stats_request.type'] = ProtoField.uint32("of12.table_stats_request.type", "type", base.DEC, enum_v3_ofp_type)
+fields['of12.table_stats_request.length'] = ProtoField.uint16("of12.table_stats_request.length", "length", base.DEC, nil)
+fields['of12.table_stats_request.xid'] = ProtoField.uint32("of12.table_stats_request.xid", "xid", base.DEC, nil)
+fields['of12.table_stats_request.stats_type'] = ProtoField.uint32("of12.table_stats_request.stats_type", "stats_type", base.DEC, enum_v3_ofp_stats_type)
+fields['of12.table_stats_request.flags'] = ProtoField.uint32("of12.table_stats_request.flags", "flags", base.HEX, enum_v3_ofp_stats_request_flags)
+fields['of13.action.type'] = ProtoField.uint16("of13.action.type", "type", base.DEC, nil)
+fields['of13.action.len'] = ProtoField.uint16("of13.action.len", "len", base.DEC, nil)
+fields['of13.action_id.type'] = ProtoField.uint32("of13.action_id.type", "type", base.DEC, enum_v4_ofp_action_type)
+fields['of13.action_id.len'] = ProtoField.uint16("of13.action_id.len", "len", base.DEC, nil)
+fields['of13.action_experimenter.type'] = ProtoField.uint16("of13.action_experimenter.type", "type", base.DEC, nil)
+fields['of13.action_experimenter.len'] = ProtoField.uint16("of13.action_experimenter.len", "len", base.DEC, nil)
+fields['of13.action_experimenter.experimenter'] = ProtoField.uint32("of13.action_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_experimenter.data'] = ProtoField.bytes("of13.action_experimenter.data", "data")
+fields['of13.action_bsn.type'] = ProtoField.uint16("of13.action_bsn.type", "type", base.DEC, nil)
+fields['of13.action_bsn.len'] = ProtoField.uint16("of13.action_bsn.len", "len", base.DEC, nil)
+fields['of13.action_bsn.experimenter'] = ProtoField.uint32("of13.action_bsn.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_bsn.subtype'] = ProtoField.uint32("of13.action_bsn.subtype", "subtype", base.DEC, nil)
+fields['of13.action_id_experimenter.type'] = ProtoField.uint16("of13.action_id_experimenter.type", "type", base.DEC, nil)
+fields['of13.action_id_experimenter.len'] = ProtoField.uint16("of13.action_id_experimenter.len", "len", base.DEC, nil)
+fields['of13.action_id_experimenter.experimenter'] = ProtoField.uint32("of13.action_id_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_id_bsn.type'] = ProtoField.uint16("of13.action_id_bsn.type", "type", base.DEC, nil)
+fields['of13.action_id_bsn.len'] = ProtoField.uint16("of13.action_id_bsn.len", "len", base.DEC, nil)
+fields['of13.action_id_bsn.experimenter'] = ProtoField.uint32("of13.action_id_bsn.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_id_bsn.subtype'] = ProtoField.uint32("of13.action_id_bsn.subtype", "subtype", base.DEC, nil)
+fields['of13.action_bsn_checksum.type'] = ProtoField.uint16("of13.action_bsn_checksum.type", "type", base.DEC, nil)
+fields['of13.action_bsn_checksum.len'] = ProtoField.uint16("of13.action_bsn_checksum.len", "len", base.DEC, nil)
+fields['of13.action_bsn_checksum.experimenter'] = ProtoField.uint32("of13.action_bsn_checksum.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_bsn_checksum.subtype'] = ProtoField.uint32("of13.action_bsn_checksum.subtype", "subtype", base.DEC, nil)
+fields['of13.action_bsn_checksum.checksum'] = ProtoField.bytes("of13.action_bsn_checksum.checksum", "checksum")
+fields['of13.action_id_bsn_checksum.type'] = ProtoField.uint16("of13.action_id_bsn_checksum.type", "type", base.DEC, nil)
+fields['of13.action_id_bsn_checksum.len'] = ProtoField.uint16("of13.action_id_bsn_checksum.len", "len", base.DEC, nil)
+fields['of13.action_id_bsn_checksum.experimenter'] = ProtoField.uint32("of13.action_id_bsn_checksum.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_id_bsn_checksum.subtype'] = ProtoField.uint32("of13.action_id_bsn_checksum.subtype", "subtype", base.DEC, nil)
+fields['of13.action_bsn_mirror.type'] = ProtoField.uint16("of13.action_bsn_mirror.type", "type", base.DEC, nil)
+fields['of13.action_bsn_mirror.len'] = ProtoField.uint16("of13.action_bsn_mirror.len", "len", base.DEC, nil)
+fields['of13.action_bsn_mirror.experimenter'] = ProtoField.uint32("of13.action_bsn_mirror.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_bsn_mirror.subtype'] = ProtoField.uint32("of13.action_bsn_mirror.subtype", "subtype", base.DEC, nil)
+fields['of13.action_bsn_mirror.dest_port'] = ProtoField.uint32("of13.action_bsn_mirror.dest_port", "dest_port", base.DEC, nil)
+fields['of13.action_bsn_mirror.vlan_tag'] = ProtoField.uint32("of13.action_bsn_mirror.vlan_tag", "vlan_tag", base.DEC, nil)
+fields['of13.action_bsn_mirror.copy_stage'] = ProtoField.uint8("of13.action_bsn_mirror.copy_stage", "copy_stage", base.DEC, nil)
+fields['of13.action_id_bsn_mirror.type'] = ProtoField.uint16("of13.action_id_bsn_mirror.type", "type", base.DEC, nil)
+fields['of13.action_id_bsn_mirror.len'] = ProtoField.uint16("of13.action_id_bsn_mirror.len", "len", base.DEC, nil)
+fields['of13.action_id_bsn_mirror.experimenter'] = ProtoField.uint32("of13.action_id_bsn_mirror.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_id_bsn_mirror.subtype'] = ProtoField.uint32("of13.action_id_bsn_mirror.subtype", "subtype", base.DEC, nil)
+fields['of13.action_bsn_set_tunnel_dst.type'] = ProtoField.uint16("of13.action_bsn_set_tunnel_dst.type", "type", base.DEC, nil)
+fields['of13.action_bsn_set_tunnel_dst.len'] = ProtoField.uint16("of13.action_bsn_set_tunnel_dst.len", "len", base.DEC, nil)
+fields['of13.action_bsn_set_tunnel_dst.experimenter'] = ProtoField.uint32("of13.action_bsn_set_tunnel_dst.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_bsn_set_tunnel_dst.subtype'] = ProtoField.uint32("of13.action_bsn_set_tunnel_dst.subtype", "subtype", base.DEC, nil)
+fields['of13.action_bsn_set_tunnel_dst.dst'] = ProtoField.uint32("of13.action_bsn_set_tunnel_dst.dst", "dst", base.DEC, nil)
+fields['of13.action_id_bsn_set_tunnel_dst.type'] = ProtoField.uint16("of13.action_id_bsn_set_tunnel_dst.type", "type", base.DEC, nil)
+fields['of13.action_id_bsn_set_tunnel_dst.len'] = ProtoField.uint16("of13.action_id_bsn_set_tunnel_dst.len", "len", base.DEC, nil)
+fields['of13.action_id_bsn_set_tunnel_dst.experimenter'] = ProtoField.uint32("of13.action_id_bsn_set_tunnel_dst.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_id_bsn_set_tunnel_dst.subtype'] = ProtoField.uint32("of13.action_id_bsn_set_tunnel_dst.subtype", "subtype", base.DEC, nil)
+fields['of13.action_copy_ttl_in.type'] = ProtoField.uint16("of13.action_copy_ttl_in.type", "type", base.DEC, nil)
+fields['of13.action_copy_ttl_in.len'] = ProtoField.uint16("of13.action_copy_ttl_in.len", "len", base.DEC, nil)
+fields['of13.action_id_copy_ttl_in.type'] = ProtoField.uint16("of13.action_id_copy_ttl_in.type", "type", base.DEC, nil)
+fields['of13.action_id_copy_ttl_in.len'] = ProtoField.uint16("of13.action_id_copy_ttl_in.len", "len", base.DEC, nil)
+fields['of13.action_copy_ttl_out.type'] = ProtoField.uint16("of13.action_copy_ttl_out.type", "type", base.DEC, nil)
+fields['of13.action_copy_ttl_out.len'] = ProtoField.uint16("of13.action_copy_ttl_out.len", "len", base.DEC, nil)
+fields['of13.action_id_copy_ttl_out.type'] = ProtoField.uint16("of13.action_id_copy_ttl_out.type", "type", base.DEC, nil)
+fields['of13.action_id_copy_ttl_out.len'] = ProtoField.uint16("of13.action_id_copy_ttl_out.len", "len", base.DEC, nil)
+fields['of13.action_dec_mpls_ttl.type'] = ProtoField.uint16("of13.action_dec_mpls_ttl.type", "type", base.DEC, nil)
+fields['of13.action_dec_mpls_ttl.len'] = ProtoField.uint16("of13.action_dec_mpls_ttl.len", "len", base.DEC, nil)
+fields['of13.action_id_dec_mpls_ttl.type'] = ProtoField.uint16("of13.action_id_dec_mpls_ttl.type", "type", base.DEC, nil)
+fields['of13.action_id_dec_mpls_ttl.len'] = ProtoField.uint16("of13.action_id_dec_mpls_ttl.len", "len", base.DEC, nil)
+fields['of13.action_dec_nw_ttl.type'] = ProtoField.uint16("of13.action_dec_nw_ttl.type", "type", base.DEC, nil)
+fields['of13.action_dec_nw_ttl.len'] = ProtoField.uint16("of13.action_dec_nw_ttl.len", "len", base.DEC, nil)
+fields['of13.action_id_dec_nw_ttl.type'] = ProtoField.uint16("of13.action_id_dec_nw_ttl.type", "type", base.DEC, nil)
+fields['of13.action_id_dec_nw_ttl.len'] = ProtoField.uint16("of13.action_id_dec_nw_ttl.len", "len", base.DEC, nil)
+fields['of13.action_group.type'] = ProtoField.uint32("of13.action_group.type", "type", base.DEC, enum_v4_ofp_action_type)
+fields['of13.action_group.len'] = ProtoField.uint16("of13.action_group.len", "len", base.DEC, nil)
+fields['of13.action_group.group_id'] = ProtoField.uint32("of13.action_group.group_id", "group_id", base.DEC, nil)
+fields['of13.action_id_group.type'] = ProtoField.uint16("of13.action_id_group.type", "type", base.DEC, nil)
+fields['of13.action_id_group.len'] = ProtoField.uint16("of13.action_id_group.len", "len", base.DEC, nil)
+fields['of13.action_nicira.type'] = ProtoField.uint16("of13.action_nicira.type", "type", base.DEC, nil)
+fields['of13.action_nicira.len'] = ProtoField.uint16("of13.action_nicira.len", "len", base.DEC, nil)
+fields['of13.action_nicira.experimenter'] = ProtoField.uint32("of13.action_nicira.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_nicira.subtype'] = ProtoField.uint16("of13.action_nicira.subtype", "subtype", base.DEC, nil)
+fields['of13.action_id_nicira.type'] = ProtoField.uint16("of13.action_id_nicira.type", "type", base.DEC, nil)
+fields['of13.action_id_nicira.len'] = ProtoField.uint16("of13.action_id_nicira.len", "len", base.DEC, nil)
+fields['of13.action_id_nicira.experimenter'] = ProtoField.uint32("of13.action_id_nicira.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_id_nicira.subtype'] = ProtoField.uint16("of13.action_id_nicira.subtype", "subtype", base.DEC, nil)
+fields['of13.action_nicira_dec_ttl.type'] = ProtoField.uint16("of13.action_nicira_dec_ttl.type", "type", base.DEC, nil)
+fields['of13.action_nicira_dec_ttl.len'] = ProtoField.uint16("of13.action_nicira_dec_ttl.len", "len", base.DEC, nil)
+fields['of13.action_nicira_dec_ttl.experimenter'] = ProtoField.uint32("of13.action_nicira_dec_ttl.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_nicira_dec_ttl.subtype'] = ProtoField.uint16("of13.action_nicira_dec_ttl.subtype", "subtype", base.DEC, nil)
+fields['of13.action_id_nicira_dec_ttl.type'] = ProtoField.uint16("of13.action_id_nicira_dec_ttl.type", "type", base.DEC, nil)
+fields['of13.action_id_nicira_dec_ttl.len'] = ProtoField.uint16("of13.action_id_nicira_dec_ttl.len", "len", base.DEC, nil)
+fields['of13.action_id_nicira_dec_ttl.experimenter'] = ProtoField.uint32("of13.action_id_nicira_dec_ttl.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_id_nicira_dec_ttl.subtype'] = ProtoField.uint16("of13.action_id_nicira_dec_ttl.subtype", "subtype", base.DEC, nil)
+fields['of13.action_output.type'] = ProtoField.uint32("of13.action_output.type", "type", base.DEC, enum_v4_ofp_action_type)
+fields['of13.action_output.len'] = ProtoField.uint16("of13.action_output.len", "len", base.DEC, nil)
+fields['of13.action_output.port'] = ProtoField.uint32("of13.action_output.port", "port", base.DEC, nil)
+fields['of13.action_output.max_len'] = ProtoField.uint16("of13.action_output.max_len", "max_len", base.DEC, nil)
+fields['of13.action_id_output.type'] = ProtoField.uint16("of13.action_id_output.type", "type", base.DEC, nil)
+fields['of13.action_id_output.len'] = ProtoField.uint16("of13.action_id_output.len", "len", base.DEC, nil)
+fields['of13.action_pop_mpls.type'] = ProtoField.uint16("of13.action_pop_mpls.type", "type", base.DEC, nil)
+fields['of13.action_pop_mpls.len'] = ProtoField.uint16("of13.action_pop_mpls.len", "len", base.DEC, nil)
+fields['of13.action_pop_mpls.ethertype'] = ProtoField.uint16("of13.action_pop_mpls.ethertype", "ethertype", base.DEC, nil)
+fields['of13.action_id_pop_mpls.type'] = ProtoField.uint16("of13.action_id_pop_mpls.type", "type", base.DEC, nil)
+fields['of13.action_id_pop_mpls.len'] = ProtoField.uint16("of13.action_id_pop_mpls.len", "len", base.DEC, nil)
+fields['of13.action_pop_pbb.type'] = ProtoField.uint16("of13.action_pop_pbb.type", "type", base.DEC, nil)
+fields['of13.action_pop_pbb.len'] = ProtoField.uint16("of13.action_pop_pbb.len", "len", base.DEC, nil)
+fields['of13.action_id_pop_pbb.type'] = ProtoField.uint16("of13.action_id_pop_pbb.type", "type", base.DEC, nil)
+fields['of13.action_id_pop_pbb.len'] = ProtoField.uint16("of13.action_id_pop_pbb.len", "len", base.DEC, nil)
+fields['of13.action_pop_vlan.type'] = ProtoField.uint16("of13.action_pop_vlan.type", "type", base.DEC, nil)
+fields['of13.action_pop_vlan.len'] = ProtoField.uint16("of13.action_pop_vlan.len", "len", base.DEC, nil)
+fields['of13.action_id_pop_vlan.type'] = ProtoField.uint16("of13.action_id_pop_vlan.type", "type", base.DEC, nil)
+fields['of13.action_id_pop_vlan.len'] = ProtoField.uint16("of13.action_id_pop_vlan.len", "len", base.DEC, nil)
+fields['of13.action_push_mpls.type'] = ProtoField.uint16("of13.action_push_mpls.type", "type", base.DEC, nil)
+fields['of13.action_push_mpls.len'] = ProtoField.uint16("of13.action_push_mpls.len", "len", base.DEC, nil)
+fields['of13.action_push_mpls.ethertype'] = ProtoField.uint16("of13.action_push_mpls.ethertype", "ethertype", base.DEC, nil)
+fields['of13.action_id_push_mpls.type'] = ProtoField.uint16("of13.action_id_push_mpls.type", "type", base.DEC, nil)
+fields['of13.action_id_push_mpls.len'] = ProtoField.uint16("of13.action_id_push_mpls.len", "len", base.DEC, nil)
+fields['of13.action_push_pbb.type'] = ProtoField.uint16("of13.action_push_pbb.type", "type", base.DEC, nil)
+fields['of13.action_push_pbb.len'] = ProtoField.uint16("of13.action_push_pbb.len", "len", base.DEC, nil)
+fields['of13.action_push_pbb.ethertype'] = ProtoField.uint16("of13.action_push_pbb.ethertype", "ethertype", base.DEC, nil)
+fields['of13.action_id_push_pbb.type'] = ProtoField.uint16("of13.action_id_push_pbb.type", "type", base.DEC, nil)
+fields['of13.action_id_push_pbb.len'] = ProtoField.uint16("of13.action_id_push_pbb.len", "len", base.DEC, nil)
+fields['of13.action_push_vlan.type'] = ProtoField.uint16("of13.action_push_vlan.type", "type", base.DEC, nil)
+fields['of13.action_push_vlan.len'] = ProtoField.uint16("of13.action_push_vlan.len", "len", base.DEC, nil)
+fields['of13.action_push_vlan.ethertype'] = ProtoField.uint16("of13.action_push_vlan.ethertype", "ethertype", base.DEC, nil)
+fields['of13.action_id_push_vlan.type'] = ProtoField.uint16("of13.action_id_push_vlan.type", "type", base.DEC, nil)
+fields['of13.action_id_push_vlan.len'] = ProtoField.uint16("of13.action_id_push_vlan.len", "len", base.DEC, nil)
+fields['of13.oxm.type_len'] = ProtoField.uint32("of13.oxm.type_len", "type_len", base.DEC, nil)
+fields['of13.action_set_field.type'] = ProtoField.uint32("of13.action_set_field.type", "type", base.DEC, enum_v4_ofp_action_type)
+fields['of13.action_set_field.len'] = ProtoField.uint16("of13.action_set_field.len", "len", base.DEC, nil)
+fields['of13.action_set_field.field'] = ProtoField.bytes("of13.action_set_field.field", "field")
+fields['of13.action_id_set_field.type'] = ProtoField.uint16("of13.action_id_set_field.type", "type", base.DEC, nil)
+fields['of13.action_id_set_field.len'] = ProtoField.uint16("of13.action_id_set_field.len", "len", base.DEC, nil)
+fields['of13.action_set_mpls_ttl.type'] = ProtoField.uint16("of13.action_set_mpls_ttl.type", "type", base.DEC, nil)
+fields['of13.action_set_mpls_ttl.len'] = ProtoField.uint16("of13.action_set_mpls_ttl.len", "len", base.DEC, nil)
+fields['of13.action_set_mpls_ttl.mpls_ttl'] = ProtoField.uint8("of13.action_set_mpls_ttl.mpls_ttl", "mpls_ttl", base.DEC, nil)
+fields['of13.action_id_set_mpls_ttl.type'] = ProtoField.uint16("of13.action_id_set_mpls_ttl.type", "type", base.DEC, nil)
+fields['of13.action_id_set_mpls_ttl.len'] = ProtoField.uint16("of13.action_id_set_mpls_ttl.len", "len", base.DEC, nil)
+fields['of13.action_set_nw_ttl.type'] = ProtoField.uint32("of13.action_set_nw_ttl.type", "type", base.DEC, enum_v4_ofp_action_type)
+fields['of13.action_set_nw_ttl.len'] = ProtoField.uint16("of13.action_set_nw_ttl.len", "len", base.DEC, nil)
+fields['of13.action_set_nw_ttl.nw_ttl'] = ProtoField.uint8("of13.action_set_nw_ttl.nw_ttl", "nw_ttl", base.DEC, nil)
+fields['of13.action_id_set_nw_ttl.type'] = ProtoField.uint16("of13.action_id_set_nw_ttl.type", "type", base.DEC, nil)
+fields['of13.action_id_set_nw_ttl.len'] = ProtoField.uint16("of13.action_id_set_nw_ttl.len", "len", base.DEC, nil)
+fields['of13.action_set_queue.type'] = ProtoField.uint16("of13.action_set_queue.type", "type", base.DEC, nil)
+fields['of13.action_set_queue.len'] = ProtoField.uint16("of13.action_set_queue.len", "len", base.DEC, nil)
+fields['of13.action_set_queue.queue_id'] = ProtoField.uint32("of13.action_set_queue.queue_id", "queue_id", base.DEC, nil)
+fields['of13.action_id_set_queue.type'] = ProtoField.uint16("of13.action_id_set_queue.type", "type", base.DEC, nil)
+fields['of13.action_id_set_queue.len'] = ProtoField.uint16("of13.action_id_set_queue.len", "len", base.DEC, nil)
+fields['of13.header.version'] = ProtoField.uint8("of13.header.version", "version", base.DEC, nil)
+fields['of13.header.type'] = ProtoField.uint8("of13.header.type", "type", base.DEC, nil)
+fields['of13.header.length'] = ProtoField.uint16("of13.header.length", "length", base.DEC, nil)
+fields['of13.header.xid'] = ProtoField.uint32("of13.header.xid", "xid", base.DEC, nil)
+fields['of13.stats_reply.version'] = ProtoField.uint8("of13.stats_reply.version", "version", base.DEC, nil)
+fields['of13.stats_reply.type'] = ProtoField.uint32("of13.stats_reply.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.stats_reply.length'] = ProtoField.uint16("of13.stats_reply.length", "length", base.DEC, nil)
+fields['of13.stats_reply.xid'] = ProtoField.uint32("of13.stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.stats_reply.stats_type'] = ProtoField.uint32("of13.stats_reply.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.stats_reply.flags'] = ProtoField.uint32("of13.stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.aggregate_stats_reply.version'] = ProtoField.uint8("of13.aggregate_stats_reply.version", "version", base.DEC, nil)
+fields['of13.aggregate_stats_reply.type'] = ProtoField.uint32("of13.aggregate_stats_reply.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.aggregate_stats_reply.length'] = ProtoField.uint16("of13.aggregate_stats_reply.length", "length", base.DEC, nil)
+fields['of13.aggregate_stats_reply.xid'] = ProtoField.uint32("of13.aggregate_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.aggregate_stats_reply.stats_type'] = ProtoField.uint32("of13.aggregate_stats_reply.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.aggregate_stats_reply.flags'] = ProtoField.uint32("of13.aggregate_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.aggregate_stats_reply.packet_count'] = ProtoField.uint64("of13.aggregate_stats_reply.packet_count", "packet_count", base.DEC, nil)
+fields['of13.aggregate_stats_reply.byte_count'] = ProtoField.uint64("of13.aggregate_stats_reply.byte_count", "byte_count", base.DEC, nil)
+fields['of13.aggregate_stats_reply.flow_count'] = ProtoField.uint32("of13.aggregate_stats_reply.flow_count", "flow_count", base.DEC, nil)
+fields['of13.stats_request.version'] = ProtoField.uint8("of13.stats_request.version", "version", base.DEC, nil)
+fields['of13.stats_request.type'] = ProtoField.uint32("of13.stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.stats_request.length'] = ProtoField.uint16("of13.stats_request.length", "length", base.DEC, nil)
+fields['of13.stats_request.xid'] = ProtoField.uint32("of13.stats_request.xid", "xid", base.DEC, nil)
+fields['of13.stats_request.stats_type'] = ProtoField.uint32("of13.stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.stats_request.flags'] = ProtoField.uint32("of13.stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.aggregate_stats_request.version'] = ProtoField.uint8("of13.aggregate_stats_request.version", "version", base.DEC, nil)
+fields['of13.aggregate_stats_request.type'] = ProtoField.uint32("of13.aggregate_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.aggregate_stats_request.length'] = ProtoField.uint16("of13.aggregate_stats_request.length", "length", base.DEC, nil)
+fields['of13.aggregate_stats_request.xid'] = ProtoField.uint32("of13.aggregate_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.aggregate_stats_request.stats_type'] = ProtoField.uint32("of13.aggregate_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.aggregate_stats_request.flags'] = ProtoField.uint32("of13.aggregate_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.aggregate_stats_request.table_id'] = ProtoField.uint8("of13.aggregate_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of13.aggregate_stats_request.out_port'] = ProtoField.uint32("of13.aggregate_stats_request.out_port", "out_port", base.DEC, nil)
+fields['of13.aggregate_stats_request.out_group'] = ProtoField.uint32("of13.aggregate_stats_request.out_group", "out_group", base.DEC, nil)
+fields['of13.aggregate_stats_request.cookie'] = ProtoField.uint64("of13.aggregate_stats_request.cookie", "cookie", base.DEC, nil)
+fields['of13.aggregate_stats_request.cookie_mask'] = ProtoField.uint64("of13.aggregate_stats_request.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of13.aggregate_stats_request.match'] = ProtoField.bytes("of13.aggregate_stats_request.match", "match")
+fields['of13.async_get_reply.version'] = ProtoField.uint8("of13.async_get_reply.version", "version", base.DEC, nil)
+fields['of13.async_get_reply.type'] = ProtoField.uint8("of13.async_get_reply.type", "type", base.DEC, nil)
+fields['of13.async_get_reply.length'] = ProtoField.uint16("of13.async_get_reply.length", "length", base.DEC, nil)
+fields['of13.async_get_reply.xid'] = ProtoField.uint32("of13.async_get_reply.xid", "xid", base.DEC, nil)
+fields['of13.async_get_reply.packet_in_mask_equal_master'] = ProtoField.uint32("of13.async_get_reply.packet_in_mask_equal_master", "packet_in_mask_equal_master", base.DEC, nil)
+fields['of13.async_get_reply.packet_in_mask_slave'] = ProtoField.uint32("of13.async_get_reply.packet_in_mask_slave", "packet_in_mask_slave", base.DEC, nil)
+fields['of13.async_get_reply.port_status_mask_equal_master'] = ProtoField.uint32("of13.async_get_reply.port_status_mask_equal_master", "port_status_mask_equal_master", base.DEC, nil)
+fields['of13.async_get_reply.port_status_mask_slave'] = ProtoField.uint32("of13.async_get_reply.port_status_mask_slave", "port_status_mask_slave", base.DEC, nil)
+fields['of13.async_get_reply.flow_removed_mask_equal_master'] = ProtoField.uint32("of13.async_get_reply.flow_removed_mask_equal_master", "flow_removed_mask_equal_master", base.DEC, nil)
+fields['of13.async_get_reply.flow_removed_mask_slave'] = ProtoField.uint32("of13.async_get_reply.flow_removed_mask_slave", "flow_removed_mask_slave", base.DEC, nil)
+fields['of13.async_get_request.version'] = ProtoField.uint8("of13.async_get_request.version", "version", base.DEC, nil)
+fields['of13.async_get_request.type'] = ProtoField.uint32("of13.async_get_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.async_get_request.length'] = ProtoField.uint16("of13.async_get_request.length", "length", base.DEC, nil)
+fields['of13.async_get_request.xid'] = ProtoField.uint32("of13.async_get_request.xid", "xid", base.DEC, nil)
+fields['of13.async_get_request.packet_in_mask_equal_master'] = ProtoField.uint32("of13.async_get_request.packet_in_mask_equal_master", "packet_in_mask_equal_master", base.DEC, nil)
+fields['of13.async_get_request.packet_in_mask_slave'] = ProtoField.uint32("of13.async_get_request.packet_in_mask_slave", "packet_in_mask_slave", base.DEC, nil)
+fields['of13.async_get_request.port_status_mask_equal_master'] = ProtoField.uint32("of13.async_get_request.port_status_mask_equal_master", "port_status_mask_equal_master", base.DEC, nil)
+fields['of13.async_get_request.port_status_mask_slave'] = ProtoField.uint32("of13.async_get_request.port_status_mask_slave", "port_status_mask_slave", base.DEC, nil)
+fields['of13.async_get_request.flow_removed_mask_equal_master'] = ProtoField.uint32("of13.async_get_request.flow_removed_mask_equal_master", "flow_removed_mask_equal_master", base.DEC, nil)
+fields['of13.async_get_request.flow_removed_mask_slave'] = ProtoField.uint32("of13.async_get_request.flow_removed_mask_slave", "flow_removed_mask_slave", base.DEC, nil)
+fields['of13.async_set.version'] = ProtoField.uint8("of13.async_set.version", "version", base.DEC, nil)
+fields['of13.async_set.type'] = ProtoField.uint8("of13.async_set.type", "type", base.DEC, nil)
+fields['of13.async_set.length'] = ProtoField.uint16("of13.async_set.length", "length", base.DEC, nil)
+fields['of13.async_set.xid'] = ProtoField.uint32("of13.async_set.xid", "xid", base.DEC, nil)
+fields['of13.async_set.packet_in_mask_equal_master'] = ProtoField.uint32("of13.async_set.packet_in_mask_equal_master", "packet_in_mask_equal_master", base.DEC, nil)
+fields['of13.async_set.packet_in_mask_slave'] = ProtoField.uint32("of13.async_set.packet_in_mask_slave", "packet_in_mask_slave", base.DEC, nil)
+fields['of13.async_set.port_status_mask_equal_master'] = ProtoField.uint32("of13.async_set.port_status_mask_equal_master", "port_status_mask_equal_master", base.DEC, nil)
+fields['of13.async_set.port_status_mask_slave'] = ProtoField.uint32("of13.async_set.port_status_mask_slave", "port_status_mask_slave", base.DEC, nil)
+fields['of13.async_set.flow_removed_mask_equal_master'] = ProtoField.uint32("of13.async_set.flow_removed_mask_equal_master", "flow_removed_mask_equal_master", base.DEC, nil)
+fields['of13.async_set.flow_removed_mask_slave'] = ProtoField.uint32("of13.async_set.flow_removed_mask_slave", "flow_removed_mask_slave", base.DEC, nil)
+fields['of13.error_msg.version'] = ProtoField.uint8("of13.error_msg.version", "version", base.DEC, nil)
+fields['of13.error_msg.type'] = ProtoField.uint32("of13.error_msg.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.error_msg.length'] = ProtoField.uint16("of13.error_msg.length", "length", base.DEC, nil)
+fields['of13.error_msg.xid'] = ProtoField.uint32("of13.error_msg.xid", "xid", base.DEC, nil)
+fields['of13.error_msg.err_type'] = ProtoField.uint32("of13.error_msg.err_type", "err_type", base.DEC, enum_v4_ofp_error_type)
+fields['of13.bad_action_error_msg.version'] = ProtoField.uint8("of13.bad_action_error_msg.version", "version", base.DEC, nil)
+fields['of13.bad_action_error_msg.type'] = ProtoField.uint8("of13.bad_action_error_msg.type", "type", base.DEC, nil)
+fields['of13.bad_action_error_msg.length'] = ProtoField.uint16("of13.bad_action_error_msg.length", "length", base.DEC, nil)
+fields['of13.bad_action_error_msg.xid'] = ProtoField.uint32("of13.bad_action_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.bad_action_error_msg.err_type'] = ProtoField.uint16("of13.bad_action_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.bad_action_error_msg.code'] = ProtoField.uint32("of13.bad_action_error_msg.code", "code", base.DEC, enum_v4_ofp_bad_action_code)
+fields['of13.bad_action_error_msg.data'] = ProtoField.bytes("of13.bad_action_error_msg.data", "data")
+fields['of13.bad_instruction_error_msg.version'] = ProtoField.uint8("of13.bad_instruction_error_msg.version", "version", base.DEC, nil)
+fields['of13.bad_instruction_error_msg.type'] = ProtoField.uint8("of13.bad_instruction_error_msg.type", "type", base.DEC, nil)
+fields['of13.bad_instruction_error_msg.length'] = ProtoField.uint16("of13.bad_instruction_error_msg.length", "length", base.DEC, nil)
+fields['of13.bad_instruction_error_msg.xid'] = ProtoField.uint32("of13.bad_instruction_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.bad_instruction_error_msg.err_type'] = ProtoField.uint16("of13.bad_instruction_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.bad_instruction_error_msg.code'] = ProtoField.uint32("of13.bad_instruction_error_msg.code", "code", base.DEC, enum_v4_ofp_bad_instruction_code)
+fields['of13.bad_instruction_error_msg.data'] = ProtoField.bytes("of13.bad_instruction_error_msg.data", "data")
+fields['of13.bad_match_error_msg.version'] = ProtoField.uint8("of13.bad_match_error_msg.version", "version", base.DEC, nil)
+fields['of13.bad_match_error_msg.type'] = ProtoField.uint8("of13.bad_match_error_msg.type", "type", base.DEC, nil)
+fields['of13.bad_match_error_msg.length'] = ProtoField.uint16("of13.bad_match_error_msg.length", "length", base.DEC, nil)
+fields['of13.bad_match_error_msg.xid'] = ProtoField.uint32("of13.bad_match_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.bad_match_error_msg.err_type'] = ProtoField.uint16("of13.bad_match_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.bad_match_error_msg.code'] = ProtoField.uint32("of13.bad_match_error_msg.code", "code", base.DEC, enum_v4_ofp_bad_match_code)
+fields['of13.bad_match_error_msg.data'] = ProtoField.bytes("of13.bad_match_error_msg.data", "data")
+fields['of13.bad_request_error_msg.version'] = ProtoField.uint8("of13.bad_request_error_msg.version", "version", base.DEC, nil)
+fields['of13.bad_request_error_msg.type'] = ProtoField.uint8("of13.bad_request_error_msg.type", "type", base.DEC, nil)
+fields['of13.bad_request_error_msg.length'] = ProtoField.uint16("of13.bad_request_error_msg.length", "length", base.DEC, nil)
+fields['of13.bad_request_error_msg.xid'] = ProtoField.uint32("of13.bad_request_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.bad_request_error_msg.err_type'] = ProtoField.uint16("of13.bad_request_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.bad_request_error_msg.code'] = ProtoField.uint32("of13.bad_request_error_msg.code", "code", base.DEC, enum_v4_ofp_bad_request_code)
+fields['of13.bad_request_error_msg.data'] = ProtoField.bytes("of13.bad_request_error_msg.data", "data")
+fields['of13.barrier_reply.version'] = ProtoField.uint8("of13.barrier_reply.version", "version", base.DEC, nil)
+fields['of13.barrier_reply.type'] = ProtoField.uint32("of13.barrier_reply.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.barrier_reply.length'] = ProtoField.uint16("of13.barrier_reply.length", "length", base.DEC, nil)
+fields['of13.barrier_reply.xid'] = ProtoField.uint32("of13.barrier_reply.xid", "xid", base.DEC, nil)
+fields['of13.barrier_request.version'] = ProtoField.uint8("of13.barrier_request.version", "version", base.DEC, nil)
+fields['of13.barrier_request.type'] = ProtoField.uint32("of13.barrier_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.barrier_request.length'] = ProtoField.uint16("of13.barrier_request.length", "length", base.DEC, nil)
+fields['of13.barrier_request.xid'] = ProtoField.uint32("of13.barrier_request.xid", "xid", base.DEC, nil)
+fields['of13.experimenter.version'] = ProtoField.uint8("of13.experimenter.version", "version", base.DEC, nil)
+fields['of13.experimenter.type'] = ProtoField.uint8("of13.experimenter.type", "type", base.DEC, nil)
+fields['of13.experimenter.length'] = ProtoField.uint16("of13.experimenter.length", "length", base.DEC, nil)
+fields['of13.experimenter.xid'] = ProtoField.uint32("of13.experimenter.xid", "xid", base.DEC, nil)
+fields['of13.experimenter.experimenter'] = ProtoField.uint32("of13.experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of13.experimenter.subtype'] = ProtoField.uint32("of13.experimenter.subtype", "subtype", base.DEC, nil)
+fields['of13.experimenter.data'] = ProtoField.bytes("of13.experimenter.data", "data")
+fields['of13.bsn_header.version'] = ProtoField.uint8("of13.bsn_header.version", "version", base.DEC, nil)
+fields['of13.bsn_header.type'] = ProtoField.uint8("of13.bsn_header.type", "type", base.DEC, nil)
+fields['of13.bsn_header.length'] = ProtoField.uint16("of13.bsn_header.length", "length", base.DEC, nil)
+fields['of13.bsn_header.xid'] = ProtoField.uint32("of13.bsn_header.xid", "xid", base.DEC, nil)
+fields['of13.bsn_header.experimenter'] = ProtoField.uint32("of13.bsn_header.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_header.subtype'] = ProtoField.uint32("of13.bsn_header.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_arp_idle.version'] = ProtoField.uint8("of13.bsn_arp_idle.version", "version", base.DEC, nil)
+fields['of13.bsn_arp_idle.type'] = ProtoField.uint8("of13.bsn_arp_idle.type", "type", base.DEC, nil)
+fields['of13.bsn_arp_idle.length'] = ProtoField.uint16("of13.bsn_arp_idle.length", "length", base.DEC, nil)
+fields['of13.bsn_arp_idle.xid'] = ProtoField.uint32("of13.bsn_arp_idle.xid", "xid", base.DEC, nil)
+fields['of13.bsn_arp_idle.experimenter'] = ProtoField.uint32("of13.bsn_arp_idle.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_arp_idle.subtype'] = ProtoField.uint32("of13.bsn_arp_idle.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_arp_idle.vlan_vid'] = ProtoField.uint16("of13.bsn_arp_idle.vlan_vid", "vlan_vid", base.DEC, nil)
+fields['of13.bsn_arp_idle.ipv4_addr'] = ProtoField.ipv4("of13.bsn_arp_idle.ipv4_addr", "ipv4_addr")
+fields['of13.bsn_bw_clear_data_reply.version'] = ProtoField.uint8("of13.bsn_bw_clear_data_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_reply.type'] = ProtoField.uint8("of13.bsn_bw_clear_data_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_reply.length'] = ProtoField.uint16("of13.bsn_bw_clear_data_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_reply.xid'] = ProtoField.uint32("of13.bsn_bw_clear_data_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_reply.experimenter'] = ProtoField.uint32("of13.bsn_bw_clear_data_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_reply.subtype'] = ProtoField.uint32("of13.bsn_bw_clear_data_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_reply.status'] = ProtoField.uint32("of13.bsn_bw_clear_data_reply.status", "status", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_request.version'] = ProtoField.uint8("of13.bsn_bw_clear_data_request.version", "version", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_request.type'] = ProtoField.uint8("of13.bsn_bw_clear_data_request.type", "type", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_request.length'] = ProtoField.uint16("of13.bsn_bw_clear_data_request.length", "length", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_request.xid'] = ProtoField.uint32("of13.bsn_bw_clear_data_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_request.experimenter'] = ProtoField.uint32("of13.bsn_bw_clear_data_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_bw_clear_data_request.subtype'] = ProtoField.uint32("of13.bsn_bw_clear_data_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_reply.version'] = ProtoField.uint8("of13.bsn_bw_enable_get_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_reply.type'] = ProtoField.uint8("of13.bsn_bw_enable_get_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_reply.length'] = ProtoField.uint16("of13.bsn_bw_enable_get_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_reply.xid'] = ProtoField.uint32("of13.bsn_bw_enable_get_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_reply.experimenter'] = ProtoField.uint32("of13.bsn_bw_enable_get_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_reply.subtype'] = ProtoField.uint32("of13.bsn_bw_enable_get_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_reply.enabled'] = ProtoField.uint32("of13.bsn_bw_enable_get_reply.enabled", "enabled", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_request.version'] = ProtoField.uint8("of13.bsn_bw_enable_get_request.version", "version", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_request.type'] = ProtoField.uint8("of13.bsn_bw_enable_get_request.type", "type", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_request.length'] = ProtoField.uint16("of13.bsn_bw_enable_get_request.length", "length", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_request.xid'] = ProtoField.uint32("of13.bsn_bw_enable_get_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_request.experimenter'] = ProtoField.uint32("of13.bsn_bw_enable_get_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_bw_enable_get_request.subtype'] = ProtoField.uint32("of13.bsn_bw_enable_get_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_reply.version'] = ProtoField.uint8("of13.bsn_bw_enable_set_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_reply.type'] = ProtoField.uint8("of13.bsn_bw_enable_set_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_reply.length'] = ProtoField.uint16("of13.bsn_bw_enable_set_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_reply.xid'] = ProtoField.uint32("of13.bsn_bw_enable_set_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_reply.experimenter'] = ProtoField.uint32("of13.bsn_bw_enable_set_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_reply.subtype'] = ProtoField.uint32("of13.bsn_bw_enable_set_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_reply.enable'] = ProtoField.uint32("of13.bsn_bw_enable_set_reply.enable", "enable", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_reply.status'] = ProtoField.uint32("of13.bsn_bw_enable_set_reply.status", "status", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_request.version'] = ProtoField.uint8("of13.bsn_bw_enable_set_request.version", "version", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_request.type'] = ProtoField.uint8("of13.bsn_bw_enable_set_request.type", "type", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_request.length'] = ProtoField.uint16("of13.bsn_bw_enable_set_request.length", "length", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_request.xid'] = ProtoField.uint32("of13.bsn_bw_enable_set_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_request.experimenter'] = ProtoField.uint32("of13.bsn_bw_enable_set_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_request.subtype'] = ProtoField.uint32("of13.bsn_bw_enable_set_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_bw_enable_set_request.enable'] = ProtoField.uint32("of13.bsn_bw_enable_set_request.enable", "enable", base.DEC, nil)
+fields['of13.bsn_controller_connection.state'] = ProtoField.uint32("of13.bsn_controller_connection.state", "state", base.DEC, enum_v4_ofp_bsn_controller_connection_state)
+fields['of13.bsn_controller_connection.auxiliary_id'] = ProtoField.uint8("of13.bsn_controller_connection.auxiliary_id", "auxiliary_id", base.DEC, nil)
+fields['of13.bsn_controller_connection.role'] = ProtoField.uint32("of13.bsn_controller_connection.role", "role", base.DEC, enum_v4_ofp_controller_role)
+fields['of13.bsn_controller_connection.uri'] = ProtoField.stringz("of13.bsn_controller_connection.uri", "uri")
+fields['of13.bsn_controller_connections_reply.version'] = ProtoField.uint8("of13.bsn_controller_connections_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_controller_connections_reply.type'] = ProtoField.uint8("of13.bsn_controller_connections_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_controller_connections_reply.length'] = ProtoField.uint16("of13.bsn_controller_connections_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_controller_connections_reply.xid'] = ProtoField.uint32("of13.bsn_controller_connections_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_controller_connections_reply.experimenter'] = ProtoField.uint32("of13.bsn_controller_connections_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_controller_connections_reply.subtype'] = ProtoField.uint32("of13.bsn_controller_connections_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_controller_connections_reply.connections'] = ProtoField.bytes("of13.bsn_controller_connections_reply.connections", "connections")
+fields['of13.bsn_controller_connections_request.version'] = ProtoField.uint8("of13.bsn_controller_connections_request.version", "version", base.DEC, nil)
+fields['of13.bsn_controller_connections_request.type'] = ProtoField.uint8("of13.bsn_controller_connections_request.type", "type", base.DEC, nil)
+fields['of13.bsn_controller_connections_request.length'] = ProtoField.uint16("of13.bsn_controller_connections_request.length", "length", base.DEC, nil)
+fields['of13.bsn_controller_connections_request.xid'] = ProtoField.uint32("of13.bsn_controller_connections_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_controller_connections_request.experimenter'] = ProtoField.uint32("of13.bsn_controller_connections_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_controller_connections_request.subtype'] = ProtoField.uint32("of13.bsn_controller_connections_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_entry.counter_id'] = ProtoField.uint64("of13.bsn_debug_counter_desc_stats_entry.counter_id", "counter_id", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_entry.name'] = ProtoField.stringz("of13.bsn_debug_counter_desc_stats_entry.name", "name")
+fields['of13.bsn_debug_counter_desc_stats_entry.description'] = ProtoField.stringz("of13.bsn_debug_counter_desc_stats_entry.description", "description")
+fields['of13.experimenter_stats_reply.version'] = ProtoField.uint8("of13.experimenter_stats_reply.version", "version", base.DEC, nil)
+fields['of13.experimenter_stats_reply.type'] = ProtoField.uint8("of13.experimenter_stats_reply.type", "type", base.DEC, nil)
+fields['of13.experimenter_stats_reply.length'] = ProtoField.uint16("of13.experimenter_stats_reply.length", "length", base.DEC, nil)
+fields['of13.experimenter_stats_reply.xid'] = ProtoField.uint32("of13.experimenter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.experimenter_stats_reply.stats_type'] = ProtoField.uint16("of13.experimenter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.experimenter_stats_reply.flags'] = ProtoField.uint32("of13.experimenter_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.experimenter_stats_reply.experimenter'] = ProtoField.uint32("of13.experimenter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.experimenter_stats_reply.subtype'] = ProtoField.uint32("of13.experimenter_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_stats_reply.version'] = ProtoField.uint8("of13.bsn_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_stats_reply.type'] = ProtoField.uint8("of13.bsn_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_stats_reply.length'] = ProtoField.uint16("of13.bsn_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_stats_reply.xid'] = ProtoField.uint32("of13.bsn_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_stats_reply.flags'] = ProtoField.uint32("of13.bsn_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_reply.version'] = ProtoField.uint8("of13.bsn_debug_counter_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_reply.type'] = ProtoField.uint8("of13.bsn_debug_counter_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_reply.length'] = ProtoField.uint16("of13.bsn_debug_counter_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_reply.xid'] = ProtoField.uint32("of13.bsn_debug_counter_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_debug_counter_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_reply.flags'] = ProtoField.uint32("of13.bsn_debug_counter_desc_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_debug_counter_desc_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_debug_counter_desc_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_debug_counter_desc_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_reply.entries'] = ProtoField.bytes("of13.bsn_debug_counter_desc_stats_reply.entries", "entries")
+fields['of13.experimenter_stats_request.version'] = ProtoField.uint8("of13.experimenter_stats_request.version", "version", base.DEC, nil)
+fields['of13.experimenter_stats_request.type'] = ProtoField.uint8("of13.experimenter_stats_request.type", "type", base.DEC, nil)
+fields['of13.experimenter_stats_request.length'] = ProtoField.uint16("of13.experimenter_stats_request.length", "length", base.DEC, nil)
+fields['of13.experimenter_stats_request.xid'] = ProtoField.uint32("of13.experimenter_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.experimenter_stats_request.stats_type'] = ProtoField.uint16("of13.experimenter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.experimenter_stats_request.flags'] = ProtoField.uint32("of13.experimenter_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.experimenter_stats_request.experimenter'] = ProtoField.uint32("of13.experimenter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.experimenter_stats_request.subtype'] = ProtoField.uint32("of13.experimenter_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_stats_request.version'] = ProtoField.uint8("of13.bsn_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_stats_request.type'] = ProtoField.uint8("of13.bsn_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_stats_request.length'] = ProtoField.uint16("of13.bsn_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_stats_request.xid'] = ProtoField.uint32("of13.bsn_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_stats_request.flags'] = ProtoField.uint32("of13.bsn_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_stats_request.subtype'] = ProtoField.uint32("of13.bsn_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_request.version'] = ProtoField.uint8("of13.bsn_debug_counter_desc_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_request.type'] = ProtoField.uint8("of13.bsn_debug_counter_desc_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_request.length'] = ProtoField.uint16("of13.bsn_debug_counter_desc_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_request.xid'] = ProtoField.uint32("of13.bsn_debug_counter_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_debug_counter_desc_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_request.flags'] = ProtoField.uint32("of13.bsn_debug_counter_desc_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_debug_counter_desc_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_debug_counter_desc_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_debug_counter_desc_stats_request.subtype'] = ProtoField.uint32("of13.bsn_debug_counter_desc_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_entry.counter_id'] = ProtoField.uint64("of13.bsn_debug_counter_stats_entry.counter_id", "counter_id", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_entry.value'] = ProtoField.uint64("of13.bsn_debug_counter_stats_entry.value", "value", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_reply.version'] = ProtoField.uint8("of13.bsn_debug_counter_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_reply.type'] = ProtoField.uint8("of13.bsn_debug_counter_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_reply.length'] = ProtoField.uint16("of13.bsn_debug_counter_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_reply.xid'] = ProtoField.uint32("of13.bsn_debug_counter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_debug_counter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_reply.flags'] = ProtoField.uint32("of13.bsn_debug_counter_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_debug_counter_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_debug_counter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_debug_counter_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_reply.entries'] = ProtoField.bytes("of13.bsn_debug_counter_stats_reply.entries", "entries")
+fields['of13.bsn_debug_counter_stats_request.version'] = ProtoField.uint8("of13.bsn_debug_counter_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_request.type'] = ProtoField.uint8("of13.bsn_debug_counter_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_request.length'] = ProtoField.uint16("of13.bsn_debug_counter_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_request.xid'] = ProtoField.uint32("of13.bsn_debug_counter_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_debug_counter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_request.flags'] = ProtoField.uint32("of13.bsn_debug_counter_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_debug_counter_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_debug_counter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_debug_counter_stats_request.subtype'] = ProtoField.uint32("of13.bsn_debug_counter_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_entry.checksum'] = ProtoField.uint64("of13.bsn_flow_checksum_bucket_stats_entry.checksum", "checksum", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_reply.version'] = ProtoField.uint8("of13.bsn_flow_checksum_bucket_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_reply.type'] = ProtoField.uint8("of13.bsn_flow_checksum_bucket_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_reply.length'] = ProtoField.uint16("of13.bsn_flow_checksum_bucket_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_reply.xid'] = ProtoField.uint32("of13.bsn_flow_checksum_bucket_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_flow_checksum_bucket_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_reply.flags'] = ProtoField.uint32("of13.bsn_flow_checksum_bucket_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_flow_checksum_bucket_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_flow_checksum_bucket_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_flow_checksum_bucket_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_reply.entries'] = ProtoField.bytes("of13.bsn_flow_checksum_bucket_stats_reply.entries", "entries")
+fields['of13.bsn_flow_checksum_bucket_stats_request.version'] = ProtoField.uint8("of13.bsn_flow_checksum_bucket_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_request.type'] = ProtoField.uint8("of13.bsn_flow_checksum_bucket_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_request.length'] = ProtoField.uint16("of13.bsn_flow_checksum_bucket_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_request.xid'] = ProtoField.uint32("of13.bsn_flow_checksum_bucket_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_flow_checksum_bucket_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_request.flags'] = ProtoField.uint32("of13.bsn_flow_checksum_bucket_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_flow_checksum_bucket_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_flow_checksum_bucket_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_request.subtype'] = ProtoField.uint32("of13.bsn_flow_checksum_bucket_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_flow_checksum_bucket_stats_request.table_id'] = ProtoField.uint8("of13.bsn_flow_checksum_bucket_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_flow_idle.version'] = ProtoField.uint8("of13.bsn_flow_idle.version", "version", base.DEC, nil)
+fields['of13.bsn_flow_idle.type'] = ProtoField.uint8("of13.bsn_flow_idle.type", "type", base.DEC, nil)
+fields['of13.bsn_flow_idle.length'] = ProtoField.uint16("of13.bsn_flow_idle.length", "length", base.DEC, nil)
+fields['of13.bsn_flow_idle.xid'] = ProtoField.uint32("of13.bsn_flow_idle.xid", "xid", base.DEC, nil)
+fields['of13.bsn_flow_idle.experimenter'] = ProtoField.uint32("of13.bsn_flow_idle.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_flow_idle.subtype'] = ProtoField.uint32("of13.bsn_flow_idle.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_flow_idle.cookie'] = ProtoField.uint64("of13.bsn_flow_idle.cookie", "cookie", base.DEC, nil)
+fields['of13.bsn_flow_idle.priority'] = ProtoField.uint16("of13.bsn_flow_idle.priority", "priority", base.DEC, nil)
+fields['of13.bsn_flow_idle.table_id'] = ProtoField.uint8("of13.bsn_flow_idle.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_flow_idle.match'] = ProtoField.bytes("of13.bsn_flow_idle.match", "match")
+fields['of13.bsn_flow_idle_enable_get_reply.version'] = ProtoField.uint8("of13.bsn_flow_idle_enable_get_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_reply.type'] = ProtoField.uint8("of13.bsn_flow_idle_enable_get_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_reply.length'] = ProtoField.uint16("of13.bsn_flow_idle_enable_get_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_reply.xid'] = ProtoField.uint32("of13.bsn_flow_idle_enable_get_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_reply.experimenter'] = ProtoField.uint32("of13.bsn_flow_idle_enable_get_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_reply.subtype'] = ProtoField.uint32("of13.bsn_flow_idle_enable_get_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_reply.enabled'] = ProtoField.uint32("of13.bsn_flow_idle_enable_get_reply.enabled", "enabled", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_request.version'] = ProtoField.uint8("of13.bsn_flow_idle_enable_get_request.version", "version", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_request.type'] = ProtoField.uint8("of13.bsn_flow_idle_enable_get_request.type", "type", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_request.length'] = ProtoField.uint16("of13.bsn_flow_idle_enable_get_request.length", "length", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_request.xid'] = ProtoField.uint32("of13.bsn_flow_idle_enable_get_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_request.experimenter'] = ProtoField.uint32("of13.bsn_flow_idle_enable_get_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_get_request.subtype'] = ProtoField.uint32("of13.bsn_flow_idle_enable_get_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_reply.version'] = ProtoField.uint8("of13.bsn_flow_idle_enable_set_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_reply.type'] = ProtoField.uint8("of13.bsn_flow_idle_enable_set_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_reply.length'] = ProtoField.uint16("of13.bsn_flow_idle_enable_set_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_reply.xid'] = ProtoField.uint32("of13.bsn_flow_idle_enable_set_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_reply.experimenter'] = ProtoField.uint32("of13.bsn_flow_idle_enable_set_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_reply.subtype'] = ProtoField.uint32("of13.bsn_flow_idle_enable_set_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_reply.enable'] = ProtoField.uint32("of13.bsn_flow_idle_enable_set_reply.enable", "enable", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_reply.status'] = ProtoField.uint32("of13.bsn_flow_idle_enable_set_reply.status", "status", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_request.version'] = ProtoField.uint8("of13.bsn_flow_idle_enable_set_request.version", "version", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_request.type'] = ProtoField.uint8("of13.bsn_flow_idle_enable_set_request.type", "type", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_request.length'] = ProtoField.uint16("of13.bsn_flow_idle_enable_set_request.length", "length", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_request.xid'] = ProtoField.uint32("of13.bsn_flow_idle_enable_set_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_request.experimenter'] = ProtoField.uint32("of13.bsn_flow_idle_enable_set_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_request.subtype'] = ProtoField.uint32("of13.bsn_flow_idle_enable_set_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_flow_idle_enable_set_request.enable'] = ProtoField.uint32("of13.bsn_flow_idle_enable_set_request.enable", "enable", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_entry.checksum'] = ProtoField.bytes("of13.bsn_gentable_bucket_stats_entry.checksum", "checksum")
+fields['of13.bsn_gentable_bucket_stats_reply.version'] = ProtoField.uint8("of13.bsn_gentable_bucket_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_reply.type'] = ProtoField.uint8("of13.bsn_gentable_bucket_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_reply.length'] = ProtoField.uint16("of13.bsn_gentable_bucket_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_reply.xid'] = ProtoField.uint32("of13.bsn_gentable_bucket_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_gentable_bucket_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_reply.flags'] = ProtoField.uint32("of13.bsn_gentable_bucket_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_gentable_bucket_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_gentable_bucket_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_gentable_bucket_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_reply.entries'] = ProtoField.bytes("of13.bsn_gentable_bucket_stats_reply.entries", "entries")
+fields['of13.bsn_gentable_bucket_stats_request.version'] = ProtoField.uint8("of13.bsn_gentable_bucket_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_request.type'] = ProtoField.uint8("of13.bsn_gentable_bucket_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_request.length'] = ProtoField.uint16("of13.bsn_gentable_bucket_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_request.xid'] = ProtoField.uint32("of13.bsn_gentable_bucket_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_gentable_bucket_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_request.flags'] = ProtoField.uint32("of13.bsn_gentable_bucket_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_gentable_bucket_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_gentable_bucket_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_request.subtype'] = ProtoField.uint32("of13.bsn_gentable_bucket_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_bucket_stats_request.table_id'] = ProtoField.uint16("of13.bsn_gentable_bucket_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_gentable_clear_reply.version'] = ProtoField.uint8("of13.bsn_gentable_clear_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_clear_reply.type'] = ProtoField.uint8("of13.bsn_gentable_clear_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_clear_reply.length'] = ProtoField.uint16("of13.bsn_gentable_clear_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_clear_reply.xid'] = ProtoField.uint32("of13.bsn_gentable_clear_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_clear_reply.experimenter'] = ProtoField.uint32("of13.bsn_gentable_clear_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_clear_reply.subtype'] = ProtoField.uint32("of13.bsn_gentable_clear_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_clear_reply.table_id'] = ProtoField.uint16("of13.bsn_gentable_clear_reply.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_gentable_clear_reply.deleted_count'] = ProtoField.uint32("of13.bsn_gentable_clear_reply.deleted_count", "deleted_count", base.DEC, nil)
+fields['of13.bsn_gentable_clear_reply.error_count'] = ProtoField.uint32("of13.bsn_gentable_clear_reply.error_count", "error_count", base.DEC, nil)
+fields['of13.bsn_gentable_clear_request.version'] = ProtoField.uint8("of13.bsn_gentable_clear_request.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_clear_request.type'] = ProtoField.uint8("of13.bsn_gentable_clear_request.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_clear_request.length'] = ProtoField.uint16("of13.bsn_gentable_clear_request.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_clear_request.xid'] = ProtoField.uint32("of13.bsn_gentable_clear_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_clear_request.experimenter'] = ProtoField.uint32("of13.bsn_gentable_clear_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_clear_request.subtype'] = ProtoField.uint32("of13.bsn_gentable_clear_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_clear_request.table_id'] = ProtoField.uint16("of13.bsn_gentable_clear_request.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_gentable_clear_request.checksum'] = ProtoField.bytes("of13.bsn_gentable_clear_request.checksum", "checksum")
+fields['of13.bsn_gentable_clear_request.checksum_mask'] = ProtoField.bytes("of13.bsn_gentable_clear_request.checksum_mask", "checksum_mask")
+fields['of13.bsn_gentable_desc_stats_entry.length'] = ProtoField.uint16("of13.bsn_gentable_desc_stats_entry.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_entry.table_id'] = ProtoField.uint16("of13.bsn_gentable_desc_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_entry.name'] = ProtoField.stringz("of13.bsn_gentable_desc_stats_entry.name", "name")
+fields['of13.bsn_gentable_desc_stats_entry.buckets_size'] = ProtoField.uint32("of13.bsn_gentable_desc_stats_entry.buckets_size", "buckets_size", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_entry.max_entries'] = ProtoField.uint32("of13.bsn_gentable_desc_stats_entry.max_entries", "max_entries", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_reply.version'] = ProtoField.uint8("of13.bsn_gentable_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_reply.type'] = ProtoField.uint8("of13.bsn_gentable_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_reply.length'] = ProtoField.uint16("of13.bsn_gentable_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_reply.xid'] = ProtoField.uint32("of13.bsn_gentable_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_gentable_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_reply.flags'] = ProtoField.uint32("of13.bsn_gentable_desc_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_gentable_desc_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_gentable_desc_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_gentable_desc_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_reply.entries'] = ProtoField.bytes("of13.bsn_gentable_desc_stats_reply.entries", "entries")
+fields['of13.bsn_gentable_desc_stats_request.version'] = ProtoField.uint8("of13.bsn_gentable_desc_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_request.type'] = ProtoField.uint8("of13.bsn_gentable_desc_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_request.length'] = ProtoField.uint16("of13.bsn_gentable_desc_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_request.xid'] = ProtoField.uint32("of13.bsn_gentable_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_gentable_desc_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_request.flags'] = ProtoField.uint32("of13.bsn_gentable_desc_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_gentable_desc_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_gentable_desc_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_desc_stats_request.subtype'] = ProtoField.uint32("of13.bsn_gentable_desc_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_entry_add.version'] = ProtoField.uint8("of13.bsn_gentable_entry_add.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_entry_add.type'] = ProtoField.uint8("of13.bsn_gentable_entry_add.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_entry_add.length'] = ProtoField.uint16("of13.bsn_gentable_entry_add.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_entry_add.xid'] = ProtoField.uint32("of13.bsn_gentable_entry_add.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_entry_add.experimenter'] = ProtoField.uint32("of13.bsn_gentable_entry_add.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_entry_add.subtype'] = ProtoField.uint32("of13.bsn_gentable_entry_add.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_entry_add.table_id'] = ProtoField.uint16("of13.bsn_gentable_entry_add.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_gentable_entry_add.key_length'] = ProtoField.uint16("of13.bsn_gentable_entry_add.key_length", "key_length", base.DEC, nil)
+fields['of13.bsn_gentable_entry_add.checksum'] = ProtoField.bytes("of13.bsn_gentable_entry_add.checksum", "checksum")
+fields['of13.bsn_gentable_entry_add.key'] = ProtoField.bytes("of13.bsn_gentable_entry_add.key", "key")
+fields['of13.bsn_gentable_entry_add.value'] = ProtoField.bytes("of13.bsn_gentable_entry_add.value", "value")
+fields['of13.bsn_gentable_entry_delete.version'] = ProtoField.uint8("of13.bsn_gentable_entry_delete.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_entry_delete.type'] = ProtoField.uint8("of13.bsn_gentable_entry_delete.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_entry_delete.length'] = ProtoField.uint16("of13.bsn_gentable_entry_delete.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_entry_delete.xid'] = ProtoField.uint32("of13.bsn_gentable_entry_delete.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_entry_delete.experimenter'] = ProtoField.uint32("of13.bsn_gentable_entry_delete.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_entry_delete.subtype'] = ProtoField.uint32("of13.bsn_gentable_entry_delete.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_entry_delete.table_id'] = ProtoField.uint16("of13.bsn_gentable_entry_delete.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_gentable_entry_delete.key'] = ProtoField.bytes("of13.bsn_gentable_entry_delete.key", "key")
+fields['of13.bsn_gentable_entry_desc_stats_entry.length'] = ProtoField.uint16("of13.bsn_gentable_entry_desc_stats_entry.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_entry.key_length'] = ProtoField.uint16("of13.bsn_gentable_entry_desc_stats_entry.key_length", "key_length", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_entry.checksum'] = ProtoField.bytes("of13.bsn_gentable_entry_desc_stats_entry.checksum", "checksum")
+fields['of13.bsn_gentable_entry_desc_stats_entry.key'] = ProtoField.bytes("of13.bsn_gentable_entry_desc_stats_entry.key", "key")
+fields['of13.bsn_gentable_entry_desc_stats_entry.value'] = ProtoField.bytes("of13.bsn_gentable_entry_desc_stats_entry.value", "value")
+fields['of13.bsn_gentable_entry_desc_stats_reply.version'] = ProtoField.uint8("of13.bsn_gentable_entry_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_reply.type'] = ProtoField.uint8("of13.bsn_gentable_entry_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_reply.length'] = ProtoField.uint16("of13.bsn_gentable_entry_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_reply.xid'] = ProtoField.uint32("of13.bsn_gentable_entry_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_gentable_entry_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_reply.flags'] = ProtoField.uint32("of13.bsn_gentable_entry_desc_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_gentable_entry_desc_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_gentable_entry_desc_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_gentable_entry_desc_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_reply.entries'] = ProtoField.bytes("of13.bsn_gentable_entry_desc_stats_reply.entries", "entries")
+fields['of13.bsn_gentable_entry_desc_stats_request.version'] = ProtoField.uint8("of13.bsn_gentable_entry_desc_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_request.type'] = ProtoField.uint8("of13.bsn_gentable_entry_desc_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_request.length'] = ProtoField.uint16("of13.bsn_gentable_entry_desc_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_request.xid'] = ProtoField.uint32("of13.bsn_gentable_entry_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_gentable_entry_desc_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_request.flags'] = ProtoField.uint32("of13.bsn_gentable_entry_desc_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_gentable_entry_desc_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_gentable_entry_desc_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_request.subtype'] = ProtoField.uint32("of13.bsn_gentable_entry_desc_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_request.table_id'] = ProtoField.uint16("of13.bsn_gentable_entry_desc_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_gentable_entry_desc_stats_request.checksum'] = ProtoField.bytes("of13.bsn_gentable_entry_desc_stats_request.checksum", "checksum")
+fields['of13.bsn_gentable_entry_desc_stats_request.checksum_mask'] = ProtoField.bytes("of13.bsn_gentable_entry_desc_stats_request.checksum_mask", "checksum_mask")
+fields['of13.bsn_gentable_entry_stats_entry.length'] = ProtoField.uint16("of13.bsn_gentable_entry_stats_entry.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_entry.key_length'] = ProtoField.uint16("of13.bsn_gentable_entry_stats_entry.key_length", "key_length", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_entry.key'] = ProtoField.bytes("of13.bsn_gentable_entry_stats_entry.key", "key")
+fields['of13.bsn_gentable_entry_stats_entry.stats'] = ProtoField.bytes("of13.bsn_gentable_entry_stats_entry.stats", "stats")
+fields['of13.bsn_gentable_entry_stats_reply.version'] = ProtoField.uint8("of13.bsn_gentable_entry_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_reply.type'] = ProtoField.uint8("of13.bsn_gentable_entry_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_reply.length'] = ProtoField.uint16("of13.bsn_gentable_entry_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_reply.xid'] = ProtoField.uint32("of13.bsn_gentable_entry_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_gentable_entry_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_reply.flags'] = ProtoField.uint32("of13.bsn_gentable_entry_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_gentable_entry_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_gentable_entry_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_gentable_entry_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_reply.entries'] = ProtoField.bytes("of13.bsn_gentable_entry_stats_reply.entries", "entries")
+fields['of13.bsn_gentable_entry_stats_request.version'] = ProtoField.uint8("of13.bsn_gentable_entry_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_request.type'] = ProtoField.uint8("of13.bsn_gentable_entry_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_request.length'] = ProtoField.uint16("of13.bsn_gentable_entry_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_request.xid'] = ProtoField.uint32("of13.bsn_gentable_entry_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_gentable_entry_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_request.flags'] = ProtoField.uint32("of13.bsn_gentable_entry_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_gentable_entry_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_gentable_entry_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_request.subtype'] = ProtoField.uint32("of13.bsn_gentable_entry_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_request.table_id'] = ProtoField.uint16("of13.bsn_gentable_entry_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_gentable_entry_stats_request.checksum'] = ProtoField.bytes("of13.bsn_gentable_entry_stats_request.checksum", "checksum")
+fields['of13.bsn_gentable_entry_stats_request.checksum_mask'] = ProtoField.bytes("of13.bsn_gentable_entry_stats_request.checksum_mask", "checksum_mask")
+fields['of13.bsn_gentable_set_buckets_size.version'] = ProtoField.uint8("of13.bsn_gentable_set_buckets_size.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_set_buckets_size.type'] = ProtoField.uint8("of13.bsn_gentable_set_buckets_size.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_set_buckets_size.length'] = ProtoField.uint16("of13.bsn_gentable_set_buckets_size.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_set_buckets_size.xid'] = ProtoField.uint32("of13.bsn_gentable_set_buckets_size.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_set_buckets_size.experimenter'] = ProtoField.uint32("of13.bsn_gentable_set_buckets_size.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_set_buckets_size.subtype'] = ProtoField.uint32("of13.bsn_gentable_set_buckets_size.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_set_buckets_size.table_id'] = ProtoField.uint16("of13.bsn_gentable_set_buckets_size.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_gentable_set_buckets_size.buckets_size'] = ProtoField.uint32("of13.bsn_gentable_set_buckets_size.buckets_size", "buckets_size", base.DEC, nil)
+fields['of13.bsn_gentable_stats_entry.table_id'] = ProtoField.uint16("of13.bsn_gentable_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_gentable_stats_entry.entry_count'] = ProtoField.uint32("of13.bsn_gentable_stats_entry.entry_count", "entry_count", base.DEC, nil)
+fields['of13.bsn_gentable_stats_entry.checksum'] = ProtoField.bytes("of13.bsn_gentable_stats_entry.checksum", "checksum")
+fields['of13.bsn_gentable_stats_reply.version'] = ProtoField.uint8("of13.bsn_gentable_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_stats_reply.type'] = ProtoField.uint8("of13.bsn_gentable_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_stats_reply.length'] = ProtoField.uint16("of13.bsn_gentable_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_stats_reply.xid'] = ProtoField.uint32("of13.bsn_gentable_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_gentable_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_gentable_stats_reply.flags'] = ProtoField.uint32("of13.bsn_gentable_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_gentable_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_gentable_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_gentable_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_gentable_stats_reply.entries'] = ProtoField.bytes("of13.bsn_gentable_stats_reply.entries", "entries")
+fields['of13.bsn_gentable_stats_request.version'] = ProtoField.uint8("of13.bsn_gentable_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_gentable_stats_request.type'] = ProtoField.uint8("of13.bsn_gentable_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_gentable_stats_request.length'] = ProtoField.uint16("of13.bsn_gentable_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_gentable_stats_request.xid'] = ProtoField.uint32("of13.bsn_gentable_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_gentable_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_gentable_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_gentable_stats_request.flags'] = ProtoField.uint32("of13.bsn_gentable_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_gentable_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_gentable_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_gentable_stats_request.subtype'] = ProtoField.uint32("of13.bsn_gentable_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_get_interfaces_reply.version'] = ProtoField.uint8("of13.bsn_get_interfaces_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_get_interfaces_reply.type'] = ProtoField.uint8("of13.bsn_get_interfaces_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_get_interfaces_reply.length'] = ProtoField.uint16("of13.bsn_get_interfaces_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_get_interfaces_reply.xid'] = ProtoField.uint32("of13.bsn_get_interfaces_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_get_interfaces_reply.experimenter'] = ProtoField.uint32("of13.bsn_get_interfaces_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_get_interfaces_reply.subtype'] = ProtoField.uint32("of13.bsn_get_interfaces_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_get_interfaces_reply.interfaces'] = ProtoField.bytes("of13.bsn_get_interfaces_reply.interfaces", "interfaces")
+fields['of13.bsn_get_interfaces_request.version'] = ProtoField.uint8("of13.bsn_get_interfaces_request.version", "version", base.DEC, nil)
+fields['of13.bsn_get_interfaces_request.type'] = ProtoField.uint8("of13.bsn_get_interfaces_request.type", "type", base.DEC, nil)
+fields['of13.bsn_get_interfaces_request.length'] = ProtoField.uint16("of13.bsn_get_interfaces_request.length", "length", base.DEC, nil)
+fields['of13.bsn_get_interfaces_request.xid'] = ProtoField.uint32("of13.bsn_get_interfaces_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_get_interfaces_request.experimenter'] = ProtoField.uint32("of13.bsn_get_interfaces_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_get_interfaces_request.subtype'] = ProtoField.uint32("of13.bsn_get_interfaces_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_get_mirroring_reply.version'] = ProtoField.uint8("of13.bsn_get_mirroring_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_get_mirroring_reply.type'] = ProtoField.uint8("of13.bsn_get_mirroring_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_get_mirroring_reply.length'] = ProtoField.uint16("of13.bsn_get_mirroring_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_get_mirroring_reply.xid'] = ProtoField.uint32("of13.bsn_get_mirroring_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_get_mirroring_reply.experimenter'] = ProtoField.uint32("of13.bsn_get_mirroring_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_get_mirroring_reply.subtype'] = ProtoField.uint32("of13.bsn_get_mirroring_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_get_mirroring_reply.report_mirror_ports'] = ProtoField.uint8("of13.bsn_get_mirroring_reply.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of13.bsn_get_mirroring_request.version'] = ProtoField.uint8("of13.bsn_get_mirroring_request.version", "version", base.DEC, nil)
+fields['of13.bsn_get_mirroring_request.type'] = ProtoField.uint8("of13.bsn_get_mirroring_request.type", "type", base.DEC, nil)
+fields['of13.bsn_get_mirroring_request.length'] = ProtoField.uint16("of13.bsn_get_mirroring_request.length", "length", base.DEC, nil)
+fields['of13.bsn_get_mirroring_request.xid'] = ProtoField.uint32("of13.bsn_get_mirroring_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_get_mirroring_request.experimenter'] = ProtoField.uint32("of13.bsn_get_mirroring_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_get_mirroring_request.subtype'] = ProtoField.uint32("of13.bsn_get_mirroring_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_get_mirroring_request.report_mirror_ports'] = ProtoField.uint8("of13.bsn_get_mirroring_request.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_reply.version'] = ProtoField.uint8("of13.bsn_get_switch_pipeline_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_reply.type'] = ProtoField.uint8("of13.bsn_get_switch_pipeline_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_reply.length'] = ProtoField.uint16("of13.bsn_get_switch_pipeline_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_reply.xid'] = ProtoField.uint32("of13.bsn_get_switch_pipeline_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_reply.experimenter'] = ProtoField.uint32("of13.bsn_get_switch_pipeline_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_reply.subtype'] = ProtoField.uint32("of13.bsn_get_switch_pipeline_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_reply.pipeline'] = ProtoField.stringz("of13.bsn_get_switch_pipeline_reply.pipeline", "pipeline")
+fields['of13.bsn_get_switch_pipeline_request.version'] = ProtoField.uint8("of13.bsn_get_switch_pipeline_request.version", "version", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_request.type'] = ProtoField.uint8("of13.bsn_get_switch_pipeline_request.type", "type", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_request.length'] = ProtoField.uint16("of13.bsn_get_switch_pipeline_request.length", "length", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_request.xid'] = ProtoField.uint32("of13.bsn_get_switch_pipeline_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_request.experimenter'] = ProtoField.uint32("of13.bsn_get_switch_pipeline_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_get_switch_pipeline_request.subtype'] = ProtoField.uint32("of13.bsn_get_switch_pipeline_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_reply.version'] = ProtoField.uint8("of13.bsn_image_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_reply.type'] = ProtoField.uint8("of13.bsn_image_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_reply.length'] = ProtoField.uint16("of13.bsn_image_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_reply.xid'] = ProtoField.uint32("of13.bsn_image_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_image_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_reply.flags'] = ProtoField.uint32("of13.bsn_image_desc_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_image_desc_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_image_desc_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_image_desc_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_reply.image_checksum'] = ProtoField.stringz("of13.bsn_image_desc_stats_reply.image_checksum", "image_checksum")
+fields['of13.bsn_image_desc_stats_reply.startup_config_checksum'] = ProtoField.stringz("of13.bsn_image_desc_stats_reply.startup_config_checksum", "startup_config_checksum")
+fields['of13.bsn_image_desc_stats_request.version'] = ProtoField.uint8("of13.bsn_image_desc_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_request.type'] = ProtoField.uint8("of13.bsn_image_desc_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_request.length'] = ProtoField.uint16("of13.bsn_image_desc_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_request.xid'] = ProtoField.uint32("of13.bsn_image_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_image_desc_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_request.flags'] = ProtoField.uint32("of13.bsn_image_desc_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_image_desc_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_image_desc_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_image_desc_stats_request.subtype'] = ProtoField.uint32("of13.bsn_image_desc_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_interface.hw_addr'] = ProtoField.ether("of13.bsn_interface.hw_addr", "hw_addr")
+fields['of13.bsn_interface.name'] = ProtoField.stringz("of13.bsn_interface.name", "name")
+fields['of13.bsn_interface.ipv4_addr'] = ProtoField.ipv4("of13.bsn_interface.ipv4_addr", "ipv4_addr")
+fields['of13.bsn_interface.ipv4_netmask'] = ProtoField.ipv4("of13.bsn_interface.ipv4_netmask", "ipv4_netmask")
+fields['of13.bsn_lacp_convergence_notif.version'] = ProtoField.uint8("of13.bsn_lacp_convergence_notif.version", "version", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.type'] = ProtoField.uint8("of13.bsn_lacp_convergence_notif.type", "type", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.length'] = ProtoField.uint16("of13.bsn_lacp_convergence_notif.length", "length", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.xid'] = ProtoField.uint32("of13.bsn_lacp_convergence_notif.xid", "xid", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.experimenter'] = ProtoField.uint32("of13.bsn_lacp_convergence_notif.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.subtype'] = ProtoField.uint32("of13.bsn_lacp_convergence_notif.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.convergence_status'] = ProtoField.uint8("of13.bsn_lacp_convergence_notif.convergence_status", "convergence_status", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.port_no'] = ProtoField.uint32("of13.bsn_lacp_convergence_notif.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.actor_sys_priority'] = ProtoField.uint16("of13.bsn_lacp_convergence_notif.actor_sys_priority", "actor_sys_priority", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.actor_sys_mac'] = ProtoField.ether("of13.bsn_lacp_convergence_notif.actor_sys_mac", "actor_sys_mac")
+fields['of13.bsn_lacp_convergence_notif.actor_port_priority'] = ProtoField.uint16("of13.bsn_lacp_convergence_notif.actor_port_priority", "actor_port_priority", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.actor_port_num'] = ProtoField.uint16("of13.bsn_lacp_convergence_notif.actor_port_num", "actor_port_num", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.actor_key'] = ProtoField.uint16("of13.bsn_lacp_convergence_notif.actor_key", "actor_key", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.partner_sys_priority'] = ProtoField.uint16("of13.bsn_lacp_convergence_notif.partner_sys_priority", "partner_sys_priority", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.partner_sys_mac'] = ProtoField.ether("of13.bsn_lacp_convergence_notif.partner_sys_mac", "partner_sys_mac")
+fields['of13.bsn_lacp_convergence_notif.partner_port_priority'] = ProtoField.uint16("of13.bsn_lacp_convergence_notif.partner_port_priority", "partner_port_priority", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.partner_port_num'] = ProtoField.uint16("of13.bsn_lacp_convergence_notif.partner_port_num", "partner_port_num", base.DEC, nil)
+fields['of13.bsn_lacp_convergence_notif.partner_key'] = ProtoField.uint16("of13.bsn_lacp_convergence_notif.partner_key", "partner_key", base.DEC, nil)
+fields['of13.bsn_lacp_stats_entry.port_no'] = ProtoField.uint32("of13.bsn_lacp_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_lacp_stats_entry.actor_sys_priority'] = ProtoField.uint16("of13.bsn_lacp_stats_entry.actor_sys_priority", "actor_sys_priority", base.DEC, nil)
+fields['of13.bsn_lacp_stats_entry.actor_sys_mac'] = ProtoField.ether("of13.bsn_lacp_stats_entry.actor_sys_mac", "actor_sys_mac")
+fields['of13.bsn_lacp_stats_entry.actor_port_priority'] = ProtoField.uint16("of13.bsn_lacp_stats_entry.actor_port_priority", "actor_port_priority", base.DEC, nil)
+fields['of13.bsn_lacp_stats_entry.actor_port_num'] = ProtoField.uint16("of13.bsn_lacp_stats_entry.actor_port_num", "actor_port_num", base.DEC, nil)
+fields['of13.bsn_lacp_stats_entry.actor_key'] = ProtoField.uint16("of13.bsn_lacp_stats_entry.actor_key", "actor_key", base.DEC, nil)
+fields['of13.bsn_lacp_stats_entry.convergence_status'] = ProtoField.uint8("of13.bsn_lacp_stats_entry.convergence_status", "convergence_status", base.DEC, nil)
+fields['of13.bsn_lacp_stats_entry.partner_sys_priority'] = ProtoField.uint16("of13.bsn_lacp_stats_entry.partner_sys_priority", "partner_sys_priority", base.DEC, nil)
+fields['of13.bsn_lacp_stats_entry.partner_sys_mac'] = ProtoField.ether("of13.bsn_lacp_stats_entry.partner_sys_mac", "partner_sys_mac")
+fields['of13.bsn_lacp_stats_entry.partner_port_priority'] = ProtoField.uint16("of13.bsn_lacp_stats_entry.partner_port_priority", "partner_port_priority", base.DEC, nil)
+fields['of13.bsn_lacp_stats_entry.partner_port_num'] = ProtoField.uint16("of13.bsn_lacp_stats_entry.partner_port_num", "partner_port_num", base.DEC, nil)
+fields['of13.bsn_lacp_stats_entry.partner_key'] = ProtoField.uint16("of13.bsn_lacp_stats_entry.partner_key", "partner_key", base.DEC, nil)
+fields['of13.bsn_lacp_stats_reply.version'] = ProtoField.uint8("of13.bsn_lacp_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_lacp_stats_reply.type'] = ProtoField.uint8("of13.bsn_lacp_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_lacp_stats_reply.length'] = ProtoField.uint16("of13.bsn_lacp_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_lacp_stats_reply.xid'] = ProtoField.uint32("of13.bsn_lacp_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_lacp_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_lacp_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_lacp_stats_reply.flags'] = ProtoField.uint32("of13.bsn_lacp_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_lacp_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_lacp_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_lacp_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_lacp_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_lacp_stats_reply.entries'] = ProtoField.bytes("of13.bsn_lacp_stats_reply.entries", "entries")
+fields['of13.bsn_lacp_stats_request.version'] = ProtoField.uint8("of13.bsn_lacp_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_lacp_stats_request.type'] = ProtoField.uint8("of13.bsn_lacp_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_lacp_stats_request.length'] = ProtoField.uint16("of13.bsn_lacp_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_lacp_stats_request.xid'] = ProtoField.uint32("of13.bsn_lacp_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_lacp_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_lacp_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_lacp_stats_request.flags'] = ProtoField.uint32("of13.bsn_lacp_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_lacp_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_lacp_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_lacp_stats_request.subtype'] = ProtoField.uint32("of13.bsn_lacp_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_log.version'] = ProtoField.uint8("of13.bsn_log.version", "version", base.DEC, nil)
+fields['of13.bsn_log.type'] = ProtoField.uint8("of13.bsn_log.type", "type", base.DEC, nil)
+fields['of13.bsn_log.length'] = ProtoField.uint16("of13.bsn_log.length", "length", base.DEC, nil)
+fields['of13.bsn_log.xid'] = ProtoField.uint32("of13.bsn_log.xid", "xid", base.DEC, nil)
+fields['of13.bsn_log.experimenter'] = ProtoField.uint32("of13.bsn_log.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_log.subtype'] = ProtoField.uint32("of13.bsn_log.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_log.loglevel'] = ProtoField.uint32("of13.bsn_log.loglevel", "loglevel", base.DEC, enum_v4_ofp_bsn_loglevel)
+fields['of13.bsn_log.data'] = ProtoField.bytes("of13.bsn_log.data", "data")
+fields['of13.bsn_pdu_rx_reply.version'] = ProtoField.uint8("of13.bsn_pdu_rx_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_pdu_rx_reply.type'] = ProtoField.uint8("of13.bsn_pdu_rx_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_pdu_rx_reply.length'] = ProtoField.uint16("of13.bsn_pdu_rx_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_pdu_rx_reply.xid'] = ProtoField.uint32("of13.bsn_pdu_rx_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_pdu_rx_reply.experimenter'] = ProtoField.uint32("of13.bsn_pdu_rx_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_pdu_rx_reply.subtype'] = ProtoField.uint32("of13.bsn_pdu_rx_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_pdu_rx_reply.status'] = ProtoField.uint32("of13.bsn_pdu_rx_reply.status", "status", base.DEC, nil)
+fields['of13.bsn_pdu_rx_reply.port_no'] = ProtoField.uint32("of13.bsn_pdu_rx_reply.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_pdu_rx_reply.slot_num'] = ProtoField.uint8("of13.bsn_pdu_rx_reply.slot_num", "slot_num", base.DEC, nil)
+fields['of13.bsn_pdu_rx_request.version'] = ProtoField.uint8("of13.bsn_pdu_rx_request.version", "version", base.DEC, nil)
+fields['of13.bsn_pdu_rx_request.type'] = ProtoField.uint8("of13.bsn_pdu_rx_request.type", "type", base.DEC, nil)
+fields['of13.bsn_pdu_rx_request.length'] = ProtoField.uint16("of13.bsn_pdu_rx_request.length", "length", base.DEC, nil)
+fields['of13.bsn_pdu_rx_request.xid'] = ProtoField.uint32("of13.bsn_pdu_rx_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_pdu_rx_request.experimenter'] = ProtoField.uint32("of13.bsn_pdu_rx_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_pdu_rx_request.subtype'] = ProtoField.uint32("of13.bsn_pdu_rx_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_pdu_rx_request.timeout_ms'] = ProtoField.uint32("of13.bsn_pdu_rx_request.timeout_ms", "timeout_ms", base.DEC, nil)
+fields['of13.bsn_pdu_rx_request.port_no'] = ProtoField.uint32("of13.bsn_pdu_rx_request.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_pdu_rx_request.slot_num'] = ProtoField.uint8("of13.bsn_pdu_rx_request.slot_num", "slot_num", base.DEC, nil)
+fields['of13.bsn_pdu_rx_request.data'] = ProtoField.bytes("of13.bsn_pdu_rx_request.data", "data")
+fields['of13.bsn_pdu_rx_timeout.version'] = ProtoField.uint8("of13.bsn_pdu_rx_timeout.version", "version", base.DEC, nil)
+fields['of13.bsn_pdu_rx_timeout.type'] = ProtoField.uint8("of13.bsn_pdu_rx_timeout.type", "type", base.DEC, nil)
+fields['of13.bsn_pdu_rx_timeout.length'] = ProtoField.uint16("of13.bsn_pdu_rx_timeout.length", "length", base.DEC, nil)
+fields['of13.bsn_pdu_rx_timeout.xid'] = ProtoField.uint32("of13.bsn_pdu_rx_timeout.xid", "xid", base.DEC, nil)
+fields['of13.bsn_pdu_rx_timeout.experimenter'] = ProtoField.uint32("of13.bsn_pdu_rx_timeout.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_pdu_rx_timeout.subtype'] = ProtoField.uint32("of13.bsn_pdu_rx_timeout.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_pdu_rx_timeout.port_no'] = ProtoField.uint32("of13.bsn_pdu_rx_timeout.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_pdu_rx_timeout.slot_num'] = ProtoField.uint8("of13.bsn_pdu_rx_timeout.slot_num", "slot_num", base.DEC, nil)
+fields['of13.bsn_pdu_tx_reply.version'] = ProtoField.uint8("of13.bsn_pdu_tx_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_pdu_tx_reply.type'] = ProtoField.uint8("of13.bsn_pdu_tx_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_pdu_tx_reply.length'] = ProtoField.uint16("of13.bsn_pdu_tx_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_pdu_tx_reply.xid'] = ProtoField.uint32("of13.bsn_pdu_tx_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_pdu_tx_reply.experimenter'] = ProtoField.uint32("of13.bsn_pdu_tx_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_pdu_tx_reply.subtype'] = ProtoField.uint32("of13.bsn_pdu_tx_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_pdu_tx_reply.status'] = ProtoField.uint32("of13.bsn_pdu_tx_reply.status", "status", base.DEC, nil)
+fields['of13.bsn_pdu_tx_reply.port_no'] = ProtoField.uint32("of13.bsn_pdu_tx_reply.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_pdu_tx_reply.slot_num'] = ProtoField.uint8("of13.bsn_pdu_tx_reply.slot_num", "slot_num", base.DEC, nil)
+fields['of13.bsn_pdu_tx_request.version'] = ProtoField.uint8("of13.bsn_pdu_tx_request.version", "version", base.DEC, nil)
+fields['of13.bsn_pdu_tx_request.type'] = ProtoField.uint8("of13.bsn_pdu_tx_request.type", "type", base.DEC, nil)
+fields['of13.bsn_pdu_tx_request.length'] = ProtoField.uint16("of13.bsn_pdu_tx_request.length", "length", base.DEC, nil)
+fields['of13.bsn_pdu_tx_request.xid'] = ProtoField.uint32("of13.bsn_pdu_tx_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_pdu_tx_request.experimenter'] = ProtoField.uint32("of13.bsn_pdu_tx_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_pdu_tx_request.subtype'] = ProtoField.uint32("of13.bsn_pdu_tx_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_pdu_tx_request.tx_interval_ms'] = ProtoField.uint32("of13.bsn_pdu_tx_request.tx_interval_ms", "tx_interval_ms", base.DEC, nil)
+fields['of13.bsn_pdu_tx_request.port_no'] = ProtoField.uint32("of13.bsn_pdu_tx_request.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_pdu_tx_request.slot_num'] = ProtoField.uint8("of13.bsn_pdu_tx_request.slot_num", "slot_num", base.DEC, nil)
+fields['of13.bsn_pdu_tx_request.data'] = ProtoField.bytes("of13.bsn_pdu_tx_request.data", "data")
+fields['of13.bsn_port_counter_stats_entry.length'] = ProtoField.uint16("of13.bsn_port_counter_stats_entry.length", "length", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_entry.port_no'] = ProtoField.uint32("of13.bsn_port_counter_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_entry.values'] = ProtoField.bytes("of13.bsn_port_counter_stats_entry.values", "values")
+fields['of13.bsn_port_counter_stats_reply.version'] = ProtoField.uint8("of13.bsn_port_counter_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_reply.type'] = ProtoField.uint8("of13.bsn_port_counter_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_reply.length'] = ProtoField.uint16("of13.bsn_port_counter_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_reply.xid'] = ProtoField.uint32("of13.bsn_port_counter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_port_counter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_reply.flags'] = ProtoField.uint32("of13.bsn_port_counter_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_port_counter_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_port_counter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_port_counter_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_reply.entries'] = ProtoField.bytes("of13.bsn_port_counter_stats_reply.entries", "entries")
+fields['of13.bsn_port_counter_stats_request.version'] = ProtoField.uint8("of13.bsn_port_counter_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_request.type'] = ProtoField.uint8("of13.bsn_port_counter_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_request.length'] = ProtoField.uint16("of13.bsn_port_counter_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_request.xid'] = ProtoField.uint32("of13.bsn_port_counter_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_port_counter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_request.flags'] = ProtoField.uint32("of13.bsn_port_counter_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_port_counter_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_port_counter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_request.subtype'] = ProtoField.uint32("of13.bsn_port_counter_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_port_counter_stats_request.port_no'] = ProtoField.uint32("of13.bsn_port_counter_stats_request.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_role_status.version'] = ProtoField.uint8("of13.bsn_role_status.version", "version", base.DEC, nil)
+fields['of13.bsn_role_status.type'] = ProtoField.uint8("of13.bsn_role_status.type", "type", base.DEC, nil)
+fields['of13.bsn_role_status.length'] = ProtoField.uint16("of13.bsn_role_status.length", "length", base.DEC, nil)
+fields['of13.bsn_role_status.xid'] = ProtoField.uint32("of13.bsn_role_status.xid", "xid", base.DEC, nil)
+fields['of13.bsn_role_status.experimenter'] = ProtoField.uint32("of13.bsn_role_status.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_role_status.subtype'] = ProtoField.uint32("of13.bsn_role_status.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_role_status.role'] = ProtoField.uint32("of13.bsn_role_status.role", "role", base.DEC, enum_v4_ofp_controller_role)
+fields['of13.bsn_role_status.reason'] = ProtoField.uint32("of13.bsn_role_status.reason", "reason", base.DEC, enum_v4_ofp_bsn_controller_role_reason)
+fields['of13.bsn_role_status.generation_id'] = ProtoField.uint64("of13.bsn_role_status.generation_id", "generation_id", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_reply.version'] = ProtoField.uint8("of13.bsn_set_aux_cxns_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_reply.type'] = ProtoField.uint8("of13.bsn_set_aux_cxns_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_reply.length'] = ProtoField.uint16("of13.bsn_set_aux_cxns_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_reply.xid'] = ProtoField.uint32("of13.bsn_set_aux_cxns_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_reply.experimenter'] = ProtoField.uint32("of13.bsn_set_aux_cxns_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_reply.subtype'] = ProtoField.uint32("of13.bsn_set_aux_cxns_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_reply.num_aux'] = ProtoField.uint32("of13.bsn_set_aux_cxns_reply.num_aux", "num_aux", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_reply.status'] = ProtoField.uint32("of13.bsn_set_aux_cxns_reply.status", "status", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_request.version'] = ProtoField.uint8("of13.bsn_set_aux_cxns_request.version", "version", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_request.type'] = ProtoField.uint8("of13.bsn_set_aux_cxns_request.type", "type", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_request.length'] = ProtoField.uint16("of13.bsn_set_aux_cxns_request.length", "length", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_request.xid'] = ProtoField.uint32("of13.bsn_set_aux_cxns_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_request.experimenter'] = ProtoField.uint32("of13.bsn_set_aux_cxns_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_request.subtype'] = ProtoField.uint32("of13.bsn_set_aux_cxns_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_set_aux_cxns_request.num_aux'] = ProtoField.uint32("of13.bsn_set_aux_cxns_request.num_aux", "num_aux", base.DEC, nil)
+fields['of13.bsn_set_lacp_reply.version'] = ProtoField.uint8("of13.bsn_set_lacp_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_set_lacp_reply.type'] = ProtoField.uint8("of13.bsn_set_lacp_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_set_lacp_reply.length'] = ProtoField.uint16("of13.bsn_set_lacp_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_set_lacp_reply.xid'] = ProtoField.uint32("of13.bsn_set_lacp_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_set_lacp_reply.experimenter'] = ProtoField.uint32("of13.bsn_set_lacp_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_set_lacp_reply.subtype'] = ProtoField.uint32("of13.bsn_set_lacp_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_set_lacp_reply.status'] = ProtoField.uint32("of13.bsn_set_lacp_reply.status", "status", base.DEC, nil)
+fields['of13.bsn_set_lacp_reply.port_no'] = ProtoField.uint32("of13.bsn_set_lacp_reply.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.version'] = ProtoField.uint8("of13.bsn_set_lacp_request.version", "version", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.type'] = ProtoField.uint8("of13.bsn_set_lacp_request.type", "type", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.length'] = ProtoField.uint16("of13.bsn_set_lacp_request.length", "length", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.xid'] = ProtoField.uint32("of13.bsn_set_lacp_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.experimenter'] = ProtoField.uint32("of13.bsn_set_lacp_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.subtype'] = ProtoField.uint32("of13.bsn_set_lacp_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.enabled'] = ProtoField.uint8("of13.bsn_set_lacp_request.enabled", "enabled", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.port_no'] = ProtoField.uint32("of13.bsn_set_lacp_request.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.actor_sys_priority'] = ProtoField.uint16("of13.bsn_set_lacp_request.actor_sys_priority", "actor_sys_priority", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.actor_sys_mac'] = ProtoField.ether("of13.bsn_set_lacp_request.actor_sys_mac", "actor_sys_mac")
+fields['of13.bsn_set_lacp_request.actor_port_priority'] = ProtoField.uint16("of13.bsn_set_lacp_request.actor_port_priority", "actor_port_priority", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.actor_port_num'] = ProtoField.uint16("of13.bsn_set_lacp_request.actor_port_num", "actor_port_num", base.DEC, nil)
+fields['of13.bsn_set_lacp_request.actor_key'] = ProtoField.uint16("of13.bsn_set_lacp_request.actor_key", "actor_key", base.DEC, nil)
+fields['of13.bsn_set_mirroring.version'] = ProtoField.uint8("of13.bsn_set_mirroring.version", "version", base.DEC, nil)
+fields['of13.bsn_set_mirroring.type'] = ProtoField.uint8("of13.bsn_set_mirroring.type", "type", base.DEC, nil)
+fields['of13.bsn_set_mirroring.length'] = ProtoField.uint16("of13.bsn_set_mirroring.length", "length", base.DEC, nil)
+fields['of13.bsn_set_mirroring.xid'] = ProtoField.uint32("of13.bsn_set_mirroring.xid", "xid", base.DEC, nil)
+fields['of13.bsn_set_mirroring.experimenter'] = ProtoField.uint32("of13.bsn_set_mirroring.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_set_mirroring.subtype'] = ProtoField.uint32("of13.bsn_set_mirroring.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_set_mirroring.report_mirror_ports'] = ProtoField.uint8("of13.bsn_set_mirroring.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_reply.version'] = ProtoField.uint8("of13.bsn_set_pktin_suppression_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_reply.type'] = ProtoField.uint8("of13.bsn_set_pktin_suppression_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_reply.length'] = ProtoField.uint16("of13.bsn_set_pktin_suppression_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_reply.xid'] = ProtoField.uint32("of13.bsn_set_pktin_suppression_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_reply.experimenter'] = ProtoField.uint32("of13.bsn_set_pktin_suppression_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_reply.subtype'] = ProtoField.uint32("of13.bsn_set_pktin_suppression_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_reply.status'] = ProtoField.uint32("of13.bsn_set_pktin_suppression_reply.status", "status", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_request.version'] = ProtoField.uint8("of13.bsn_set_pktin_suppression_request.version", "version", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_request.type'] = ProtoField.uint8("of13.bsn_set_pktin_suppression_request.type", "type", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_request.length'] = ProtoField.uint16("of13.bsn_set_pktin_suppression_request.length", "length", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_request.xid'] = ProtoField.uint32("of13.bsn_set_pktin_suppression_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_request.experimenter'] = ProtoField.uint32("of13.bsn_set_pktin_suppression_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_request.subtype'] = ProtoField.uint32("of13.bsn_set_pktin_suppression_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_request.enabled'] = ProtoField.uint8("of13.bsn_set_pktin_suppression_request.enabled", "enabled", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_request.idle_timeout'] = ProtoField.uint16("of13.bsn_set_pktin_suppression_request.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_request.hard_timeout'] = ProtoField.uint16("of13.bsn_set_pktin_suppression_request.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_request.priority'] = ProtoField.uint16("of13.bsn_set_pktin_suppression_request.priority", "priority", base.DEC, nil)
+fields['of13.bsn_set_pktin_suppression_request.cookie'] = ProtoField.uint64("of13.bsn_set_pktin_suppression_request.cookie", "cookie", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_reply.version'] = ProtoField.uint8("of13.bsn_set_switch_pipeline_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_reply.type'] = ProtoField.uint8("of13.bsn_set_switch_pipeline_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_reply.length'] = ProtoField.uint16("of13.bsn_set_switch_pipeline_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_reply.xid'] = ProtoField.uint32("of13.bsn_set_switch_pipeline_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_reply.experimenter'] = ProtoField.uint32("of13.bsn_set_switch_pipeline_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_reply.subtype'] = ProtoField.uint32("of13.bsn_set_switch_pipeline_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_reply.status'] = ProtoField.uint32("of13.bsn_set_switch_pipeline_reply.status", "status", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_request.version'] = ProtoField.uint8("of13.bsn_set_switch_pipeline_request.version", "version", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_request.type'] = ProtoField.uint8("of13.bsn_set_switch_pipeline_request.type", "type", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_request.length'] = ProtoField.uint16("of13.bsn_set_switch_pipeline_request.length", "length", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_request.xid'] = ProtoField.uint32("of13.bsn_set_switch_pipeline_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_request.experimenter'] = ProtoField.uint32("of13.bsn_set_switch_pipeline_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_request.subtype'] = ProtoField.uint32("of13.bsn_set_switch_pipeline_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_set_switch_pipeline_request.pipeline'] = ProtoField.stringz("of13.bsn_set_switch_pipeline_request.pipeline", "pipeline")
+fields['of13.bsn_switch_pipeline_stats_entry.pipeline'] = ProtoField.stringz("of13.bsn_switch_pipeline_stats_entry.pipeline", "pipeline")
+fields['of13.bsn_switch_pipeline_stats_reply.version'] = ProtoField.uint8("of13.bsn_switch_pipeline_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_reply.type'] = ProtoField.uint8("of13.bsn_switch_pipeline_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_reply.length'] = ProtoField.uint16("of13.bsn_switch_pipeline_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_reply.xid'] = ProtoField.uint32("of13.bsn_switch_pipeline_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_switch_pipeline_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_reply.flags'] = ProtoField.uint32("of13.bsn_switch_pipeline_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_switch_pipeline_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_switch_pipeline_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_switch_pipeline_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_reply.entries'] = ProtoField.bytes("of13.bsn_switch_pipeline_stats_reply.entries", "entries")
+fields['of13.bsn_switch_pipeline_stats_request.version'] = ProtoField.uint8("of13.bsn_switch_pipeline_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_request.type'] = ProtoField.uint8("of13.bsn_switch_pipeline_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_request.length'] = ProtoField.uint16("of13.bsn_switch_pipeline_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_request.xid'] = ProtoField.uint32("of13.bsn_switch_pipeline_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_switch_pipeline_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_request.flags'] = ProtoField.uint32("of13.bsn_switch_pipeline_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_switch_pipeline_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_switch_pipeline_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_switch_pipeline_stats_request.subtype'] = ProtoField.uint32("of13.bsn_switch_pipeline_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_entry.table_id'] = ProtoField.uint8("of13.bsn_table_checksum_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_entry.checksum'] = ProtoField.uint64("of13.bsn_table_checksum_stats_entry.checksum", "checksum", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_reply.version'] = ProtoField.uint8("of13.bsn_table_checksum_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_reply.type'] = ProtoField.uint8("of13.bsn_table_checksum_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_reply.length'] = ProtoField.uint16("of13.bsn_table_checksum_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_reply.xid'] = ProtoField.uint32("of13.bsn_table_checksum_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_table_checksum_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_reply.flags'] = ProtoField.uint32("of13.bsn_table_checksum_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_table_checksum_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_table_checksum_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_table_checksum_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_reply.entries'] = ProtoField.bytes("of13.bsn_table_checksum_stats_reply.entries", "entries")
+fields['of13.bsn_table_checksum_stats_request.version'] = ProtoField.uint8("of13.bsn_table_checksum_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_request.type'] = ProtoField.uint8("of13.bsn_table_checksum_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_request.length'] = ProtoField.uint16("of13.bsn_table_checksum_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_request.xid'] = ProtoField.uint32("of13.bsn_table_checksum_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_table_checksum_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_request.flags'] = ProtoField.uint32("of13.bsn_table_checksum_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_table_checksum_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_table_checksum_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_table_checksum_stats_request.subtype'] = ProtoField.uint32("of13.bsn_table_checksum_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_table_set_buckets_size.version'] = ProtoField.uint8("of13.bsn_table_set_buckets_size.version", "version", base.DEC, nil)
+fields['of13.bsn_table_set_buckets_size.type'] = ProtoField.uint8("of13.bsn_table_set_buckets_size.type", "type", base.DEC, nil)
+fields['of13.bsn_table_set_buckets_size.length'] = ProtoField.uint16("of13.bsn_table_set_buckets_size.length", "length", base.DEC, nil)
+fields['of13.bsn_table_set_buckets_size.xid'] = ProtoField.uint32("of13.bsn_table_set_buckets_size.xid", "xid", base.DEC, nil)
+fields['of13.bsn_table_set_buckets_size.experimenter'] = ProtoField.uint32("of13.bsn_table_set_buckets_size.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_table_set_buckets_size.subtype'] = ProtoField.uint32("of13.bsn_table_set_buckets_size.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_table_set_buckets_size.table_id'] = ProtoField.uint8("of13.bsn_table_set_buckets_size.table_id", "table_id", base.DEC, nil)
+fields['of13.bsn_table_set_buckets_size.buckets_size'] = ProtoField.uint32("of13.bsn_table_set_buckets_size.buckets_size", "buckets_size", base.DEC, nil)
+fields['of13.bsn_time_reply.version'] = ProtoField.uint8("of13.bsn_time_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_time_reply.type'] = ProtoField.uint8("of13.bsn_time_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_time_reply.length'] = ProtoField.uint16("of13.bsn_time_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_time_reply.xid'] = ProtoField.uint32("of13.bsn_time_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_time_reply.experimenter'] = ProtoField.uint32("of13.bsn_time_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_time_reply.subtype'] = ProtoField.uint32("of13.bsn_time_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_time_reply.time_ms'] = ProtoField.uint64("of13.bsn_time_reply.time_ms", "time_ms", base.DEC, nil)
+fields['of13.bsn_time_request.version'] = ProtoField.uint8("of13.bsn_time_request.version", "version", base.DEC, nil)
+fields['of13.bsn_time_request.type'] = ProtoField.uint8("of13.bsn_time_request.type", "type", base.DEC, nil)
+fields['of13.bsn_time_request.length'] = ProtoField.uint16("of13.bsn_time_request.length", "length", base.DEC, nil)
+fields['of13.bsn_time_request.xid'] = ProtoField.uint32("of13.bsn_time_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_time_request.experimenter'] = ProtoField.uint32("of13.bsn_time_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_time_request.subtype'] = ProtoField.uint32("of13.bsn_time_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_tlv.type'] = ProtoField.uint16("of13.bsn_tlv.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv.length'] = ProtoField.uint16("of13.bsn_tlv.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_broadcast_query_timeout.type'] = ProtoField.uint16("of13.bsn_tlv_broadcast_query_timeout.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_broadcast_query_timeout.length'] = ProtoField.uint16("of13.bsn_tlv_broadcast_query_timeout.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_broadcast_query_timeout.value'] = ProtoField.uint32("of13.bsn_tlv_broadcast_query_timeout.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_circuit_id.type'] = ProtoField.uint16("of13.bsn_tlv_circuit_id.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_circuit_id.length'] = ProtoField.uint16("of13.bsn_tlv_circuit_id.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_circuit_id.value'] = ProtoField.bytes("of13.bsn_tlv_circuit_id.value", "value")
+fields['of13.bsn_tlv_crc_enabled.type'] = ProtoField.uint16("of13.bsn_tlv_crc_enabled.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_crc_enabled.length'] = ProtoField.uint16("of13.bsn_tlv_crc_enabled.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_crc_enabled.value'] = ProtoField.uint8("of13.bsn_tlv_crc_enabled.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_idle_notification.type'] = ProtoField.uint16("of13.bsn_tlv_idle_notification.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_idle_notification.length'] = ProtoField.uint16("of13.bsn_tlv_idle_notification.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_idle_time.type'] = ProtoField.uint16("of13.bsn_tlv_idle_time.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_idle_time.length'] = ProtoField.uint16("of13.bsn_tlv_idle_time.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_idle_time.value'] = ProtoField.uint64("of13.bsn_tlv_idle_time.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_idle_timeout.type'] = ProtoField.uint16("of13.bsn_tlv_idle_timeout.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_idle_timeout.length'] = ProtoField.uint16("of13.bsn_tlv_idle_timeout.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_idle_timeout.value'] = ProtoField.uint32("of13.bsn_tlv_idle_timeout.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_ipv4.type'] = ProtoField.uint16("of13.bsn_tlv_ipv4.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_ipv4.length'] = ProtoField.uint16("of13.bsn_tlv_ipv4.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_ipv4.value'] = ProtoField.ipv4("of13.bsn_tlv_ipv4.value", "value")
+fields['of13.bsn_tlv_mac.type'] = ProtoField.uint16("of13.bsn_tlv_mac.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_mac.length'] = ProtoField.uint16("of13.bsn_tlv_mac.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_mac.value'] = ProtoField.ether("of13.bsn_tlv_mac.value", "value")
+fields['of13.bsn_tlv_miss_packets.type'] = ProtoField.uint16("of13.bsn_tlv_miss_packets.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_miss_packets.length'] = ProtoField.uint16("of13.bsn_tlv_miss_packets.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_miss_packets.value'] = ProtoField.uint64("of13.bsn_tlv_miss_packets.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_port.type'] = ProtoField.uint16("of13.bsn_tlv_port.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_port.length'] = ProtoField.uint16("of13.bsn_tlv_port.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_port.value'] = ProtoField.uint32("of13.bsn_tlv_port.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_queue_id.type'] = ProtoField.uint16("of13.bsn_tlv_queue_id.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_queue_id.length'] = ProtoField.uint16("of13.bsn_tlv_queue_id.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_queue_id.value'] = ProtoField.uint32("of13.bsn_tlv_queue_id.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_queue_weight.type'] = ProtoField.uint16("of13.bsn_tlv_queue_weight.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_queue_weight.length'] = ProtoField.uint16("of13.bsn_tlv_queue_weight.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_queue_weight.value'] = ProtoField.uint32("of13.bsn_tlv_queue_weight.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_reply_packets.type'] = ProtoField.uint16("of13.bsn_tlv_reply_packets.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_reply_packets.length'] = ProtoField.uint16("of13.bsn_tlv_reply_packets.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_reply_packets.value'] = ProtoField.uint64("of13.bsn_tlv_reply_packets.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_request_packets.type'] = ProtoField.uint16("of13.bsn_tlv_request_packets.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_request_packets.length'] = ProtoField.uint16("of13.bsn_tlv_request_packets.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_request_packets.value'] = ProtoField.uint64("of13.bsn_tlv_request_packets.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_rx_packets.type'] = ProtoField.uint16("of13.bsn_tlv_rx_packets.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_rx_packets.length'] = ProtoField.uint16("of13.bsn_tlv_rx_packets.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_rx_packets.value'] = ProtoField.uint64("of13.bsn_tlv_rx_packets.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_tx_packets.type'] = ProtoField.uint16("of13.bsn_tlv_tx_packets.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_tx_packets.length'] = ProtoField.uint16("of13.bsn_tlv_tx_packets.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_tx_packets.value'] = ProtoField.uint64("of13.bsn_tlv_tx_packets.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_udf_anchor.type'] = ProtoField.uint16("of13.bsn_tlv_udf_anchor.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_udf_anchor.length'] = ProtoField.uint16("of13.bsn_tlv_udf_anchor.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_udf_anchor.value'] = ProtoField.uint32("of13.bsn_tlv_udf_anchor.value", "value", base.DEC, enum_v4_ofp_bsn_udf_anchor)
+fields['of13.bsn_tlv_udf_id.type'] = ProtoField.uint16("of13.bsn_tlv_udf_id.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_udf_id.length'] = ProtoField.uint16("of13.bsn_tlv_udf_id.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_udf_id.value'] = ProtoField.uint16("of13.bsn_tlv_udf_id.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_udf_length.type'] = ProtoField.uint16("of13.bsn_tlv_udf_length.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_udf_length.length'] = ProtoField.uint16("of13.bsn_tlv_udf_length.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_udf_length.value'] = ProtoField.uint16("of13.bsn_tlv_udf_length.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_udf_offset.type'] = ProtoField.uint16("of13.bsn_tlv_udf_offset.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_udf_offset.length'] = ProtoField.uint16("of13.bsn_tlv_udf_offset.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_udf_offset.value'] = ProtoField.uint16("of13.bsn_tlv_udf_offset.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_unicast_query_timeout.type'] = ProtoField.uint16("of13.bsn_tlv_unicast_query_timeout.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_unicast_query_timeout.length'] = ProtoField.uint16("of13.bsn_tlv_unicast_query_timeout.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_unicast_query_timeout.value'] = ProtoField.uint32("of13.bsn_tlv_unicast_query_timeout.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_vlan_vid.type'] = ProtoField.uint16("of13.bsn_tlv_vlan_vid.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_vlan_vid.length'] = ProtoField.uint16("of13.bsn_tlv_vlan_vid.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_vlan_vid.value'] = ProtoField.uint16("of13.bsn_tlv_vlan_vid.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_vrf.type'] = ProtoField.uint16("of13.bsn_tlv_vrf.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_vrf.length'] = ProtoField.uint16("of13.bsn_tlv_vrf.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_vrf.value'] = ProtoField.uint32("of13.bsn_tlv_vrf.value", "value", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_reply.version'] = ProtoField.uint8("of13.bsn_virtual_port_create_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_reply.type'] = ProtoField.uint8("of13.bsn_virtual_port_create_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_reply.length'] = ProtoField.uint16("of13.bsn_virtual_port_create_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_reply.xid'] = ProtoField.uint32("of13.bsn_virtual_port_create_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_reply.experimenter'] = ProtoField.uint32("of13.bsn_virtual_port_create_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_reply.subtype'] = ProtoField.uint32("of13.bsn_virtual_port_create_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_reply.status'] = ProtoField.uint32("of13.bsn_virtual_port_create_reply.status", "status", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_reply.vport_no'] = ProtoField.uint32("of13.bsn_virtual_port_create_reply.vport_no", "vport_no", base.DEC, nil)
+fields['of13.bsn_vport.type'] = ProtoField.uint16("of13.bsn_vport.type", "type", base.DEC, nil)
+fields['of13.bsn_vport.length'] = ProtoField.uint16("of13.bsn_vport.length", "length", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_request.version'] = ProtoField.uint8("of13.bsn_virtual_port_create_request.version", "version", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_request.type'] = ProtoField.uint8("of13.bsn_virtual_port_create_request.type", "type", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_request.length'] = ProtoField.uint16("of13.bsn_virtual_port_create_request.length", "length", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_request.xid'] = ProtoField.uint32("of13.bsn_virtual_port_create_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_request.experimenter'] = ProtoField.uint32("of13.bsn_virtual_port_create_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_request.subtype'] = ProtoField.uint32("of13.bsn_virtual_port_create_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_virtual_port_create_request.vport'] = ProtoField.bytes("of13.bsn_virtual_port_create_request.vport", "vport")
+fields['of13.bsn_virtual_port_remove_reply.version'] = ProtoField.uint8("of13.bsn_virtual_port_remove_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_reply.type'] = ProtoField.uint8("of13.bsn_virtual_port_remove_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_reply.length'] = ProtoField.uint16("of13.bsn_virtual_port_remove_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_reply.xid'] = ProtoField.uint32("of13.bsn_virtual_port_remove_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_reply.experimenter'] = ProtoField.uint32("of13.bsn_virtual_port_remove_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_reply.subtype'] = ProtoField.uint32("of13.bsn_virtual_port_remove_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_reply.status'] = ProtoField.uint32("of13.bsn_virtual_port_remove_reply.status", "status", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_request.version'] = ProtoField.uint8("of13.bsn_virtual_port_remove_request.version", "version", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_request.type'] = ProtoField.uint8("of13.bsn_virtual_port_remove_request.type", "type", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_request.length'] = ProtoField.uint16("of13.bsn_virtual_port_remove_request.length", "length", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_request.xid'] = ProtoField.uint32("of13.bsn_virtual_port_remove_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_request.experimenter'] = ProtoField.uint32("of13.bsn_virtual_port_remove_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_request.subtype'] = ProtoField.uint32("of13.bsn_virtual_port_remove_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_virtual_port_remove_request.vport_no'] = ProtoField.uint32("of13.bsn_virtual_port_remove_request.vport_no", "vport_no", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_entry.length'] = ProtoField.uint16("of13.bsn_vlan_counter_stats_entry.length", "length", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_entry.vlan_vid'] = ProtoField.uint16("of13.bsn_vlan_counter_stats_entry.vlan_vid", "vlan_vid", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_entry.values'] = ProtoField.bytes("of13.bsn_vlan_counter_stats_entry.values", "values")
+fields['of13.bsn_vlan_counter_stats_reply.version'] = ProtoField.uint8("of13.bsn_vlan_counter_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_reply.type'] = ProtoField.uint8("of13.bsn_vlan_counter_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_reply.length'] = ProtoField.uint16("of13.bsn_vlan_counter_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_reply.xid'] = ProtoField.uint32("of13.bsn_vlan_counter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_vlan_counter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_reply.flags'] = ProtoField.uint32("of13.bsn_vlan_counter_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_vlan_counter_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_vlan_counter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_vlan_counter_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_reply.entries'] = ProtoField.bytes("of13.bsn_vlan_counter_stats_reply.entries", "entries")
+fields['of13.bsn_vlan_counter_stats_request.version'] = ProtoField.uint8("of13.bsn_vlan_counter_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_request.type'] = ProtoField.uint8("of13.bsn_vlan_counter_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_request.length'] = ProtoField.uint16("of13.bsn_vlan_counter_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_request.xid'] = ProtoField.uint32("of13.bsn_vlan_counter_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_vlan_counter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_request.flags'] = ProtoField.uint32("of13.bsn_vlan_counter_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_vlan_counter_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_vlan_counter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_request.subtype'] = ProtoField.uint32("of13.bsn_vlan_counter_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_vlan_counter_stats_request.vlan_vid'] = ProtoField.uint16("of13.bsn_vlan_counter_stats_request.vlan_vid", "vlan_vid", base.DEC, nil)
+fields['of13.bsn_vport_l2gre.type'] = ProtoField.uint16("of13.bsn_vport_l2gre.type", "type", base.DEC, nil)
+fields['of13.bsn_vport_l2gre.length'] = ProtoField.uint16("of13.bsn_vport_l2gre.length", "length", base.DEC, nil)
+fields['of13.bsn_vport_l2gre.flags'] = ProtoField.uint32("of13.bsn_vport_l2gre.flags", "flags", base.HEX, enum_v4_ofp_bsn_vport_l2gre_flags)
+fields['of13.bsn_vport_l2gre.port_no'] = ProtoField.uint32("of13.bsn_vport_l2gre.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_vport_l2gre.loopback_port_no'] = ProtoField.uint32("of13.bsn_vport_l2gre.loopback_port_no", "loopback_port_no", base.DEC, nil)
+fields['of13.bsn_vport_l2gre.local_mac'] = ProtoField.ether("of13.bsn_vport_l2gre.local_mac", "local_mac")
+fields['of13.bsn_vport_l2gre.nh_mac'] = ProtoField.ether("of13.bsn_vport_l2gre.nh_mac", "nh_mac")
+fields['of13.bsn_vport_l2gre.src_ip'] = ProtoField.ipv4("of13.bsn_vport_l2gre.src_ip", "src_ip")
+fields['of13.bsn_vport_l2gre.dst_ip'] = ProtoField.ipv4("of13.bsn_vport_l2gre.dst_ip", "dst_ip")
+fields['of13.bsn_vport_l2gre.dscp'] = ProtoField.uint8("of13.bsn_vport_l2gre.dscp", "dscp", base.DEC, nil)
+fields['of13.bsn_vport_l2gre.ttl'] = ProtoField.uint8("of13.bsn_vport_l2gre.ttl", "ttl", base.DEC, nil)
+fields['of13.bsn_vport_l2gre.vpn'] = ProtoField.uint32("of13.bsn_vport_l2gre.vpn", "vpn", base.DEC, nil)
+fields['of13.bsn_vport_l2gre.rate_limit'] = ProtoField.uint32("of13.bsn_vport_l2gre.rate_limit", "rate_limit", base.DEC, nil)
+fields['of13.bsn_vport_l2gre.if_name'] = ProtoField.stringz("of13.bsn_vport_l2gre.if_name", "if_name")
+fields['of13.bsn_vport_q_in_q.type'] = ProtoField.uint16("of13.bsn_vport_q_in_q.type", "type", base.DEC, nil)
+fields['of13.bsn_vport_q_in_q.length'] = ProtoField.uint16("of13.bsn_vport_q_in_q.length", "length", base.DEC, nil)
+fields['of13.bsn_vport_q_in_q.port_no'] = ProtoField.uint32("of13.bsn_vport_q_in_q.port_no", "port_no", base.DEC, nil)
+fields['of13.bsn_vport_q_in_q.ingress_tpid'] = ProtoField.uint16("of13.bsn_vport_q_in_q.ingress_tpid", "ingress_tpid", base.DEC, nil)
+fields['of13.bsn_vport_q_in_q.ingress_vlan_id'] = ProtoField.uint16("of13.bsn_vport_q_in_q.ingress_vlan_id", "ingress_vlan_id", base.DEC, nil)
+fields['of13.bsn_vport_q_in_q.egress_tpid'] = ProtoField.uint16("of13.bsn_vport_q_in_q.egress_tpid", "egress_tpid", base.DEC, nil)
+fields['of13.bsn_vport_q_in_q.egress_vlan_id'] = ProtoField.uint16("of13.bsn_vport_q_in_q.egress_vlan_id", "egress_vlan_id", base.DEC, nil)
+fields['of13.bsn_vport_q_in_q.if_name'] = ProtoField.stringz("of13.bsn_vport_q_in_q.if_name", "if_name")
+fields['of13.bsn_vrf_counter_stats_entry.length'] = ProtoField.uint16("of13.bsn_vrf_counter_stats_entry.length", "length", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_entry.vrf'] = ProtoField.uint32("of13.bsn_vrf_counter_stats_entry.vrf", "vrf", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_entry.values'] = ProtoField.bytes("of13.bsn_vrf_counter_stats_entry.values", "values")
+fields['of13.bsn_vrf_counter_stats_reply.version'] = ProtoField.uint8("of13.bsn_vrf_counter_stats_reply.version", "version", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_reply.type'] = ProtoField.uint8("of13.bsn_vrf_counter_stats_reply.type", "type", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_reply.length'] = ProtoField.uint16("of13.bsn_vrf_counter_stats_reply.length", "length", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_reply.xid'] = ProtoField.uint32("of13.bsn_vrf_counter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_reply.stats_type'] = ProtoField.uint16("of13.bsn_vrf_counter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_reply.flags'] = ProtoField.uint32("of13.bsn_vrf_counter_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.bsn_vrf_counter_stats_reply.experimenter'] = ProtoField.uint32("of13.bsn_vrf_counter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_reply.subtype'] = ProtoField.uint32("of13.bsn_vrf_counter_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_reply.entries'] = ProtoField.bytes("of13.bsn_vrf_counter_stats_reply.entries", "entries")
+fields['of13.bsn_vrf_counter_stats_request.version'] = ProtoField.uint8("of13.bsn_vrf_counter_stats_request.version", "version", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_request.type'] = ProtoField.uint8("of13.bsn_vrf_counter_stats_request.type", "type", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_request.length'] = ProtoField.uint16("of13.bsn_vrf_counter_stats_request.length", "length", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_request.xid'] = ProtoField.uint32("of13.bsn_vrf_counter_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_request.stats_type'] = ProtoField.uint16("of13.bsn_vrf_counter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_request.flags'] = ProtoField.uint32("of13.bsn_vrf_counter_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.bsn_vrf_counter_stats_request.experimenter'] = ProtoField.uint32("of13.bsn_vrf_counter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_request.subtype'] = ProtoField.uint32("of13.bsn_vrf_counter_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of13.bsn_vrf_counter_stats_request.vrf'] = ProtoField.uint32("of13.bsn_vrf_counter_stats_request.vrf", "vrf", base.DEC, nil)
+fields['of13.bucket.len'] = ProtoField.uint16("of13.bucket.len", "len", base.DEC, nil)
+fields['of13.bucket.weight'] = ProtoField.uint16("of13.bucket.weight", "weight", base.DEC, nil)
+fields['of13.bucket.watch_port'] = ProtoField.uint32("of13.bucket.watch_port", "watch_port", base.DEC, nil)
+fields['of13.bucket.watch_group'] = ProtoField.uint32("of13.bucket.watch_group", "watch_group", base.DEC, nil)
+fields['of13.bucket.actions'] = ProtoField.bytes("of13.bucket.actions", "actions")
+fields['of13.bucket_counter.packet_count'] = ProtoField.uint64("of13.bucket_counter.packet_count", "packet_count", base.DEC, nil)
+fields['of13.bucket_counter.byte_count'] = ProtoField.uint64("of13.bucket_counter.byte_count", "byte_count", base.DEC, nil)
+fields['of13.desc_stats_reply.version'] = ProtoField.uint8("of13.desc_stats_reply.version", "version", base.DEC, nil)
+fields['of13.desc_stats_reply.type'] = ProtoField.uint32("of13.desc_stats_reply.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.desc_stats_reply.length'] = ProtoField.uint16("of13.desc_stats_reply.length", "length", base.DEC, nil)
+fields['of13.desc_stats_reply.xid'] = ProtoField.uint32("of13.desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.desc_stats_reply.stats_type'] = ProtoField.uint32("of13.desc_stats_reply.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.desc_stats_reply.flags'] = ProtoField.uint32("of13.desc_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.desc_stats_reply.mfr_desc'] = ProtoField.stringz("of13.desc_stats_reply.mfr_desc", "mfr_desc")
+fields['of13.desc_stats_reply.hw_desc'] = ProtoField.stringz("of13.desc_stats_reply.hw_desc", "hw_desc")
+fields['of13.desc_stats_reply.sw_desc'] = ProtoField.stringz("of13.desc_stats_reply.sw_desc", "sw_desc")
+fields['of13.desc_stats_reply.serial_num'] = ProtoField.stringz("of13.desc_stats_reply.serial_num", "serial_num")
+fields['of13.desc_stats_reply.dp_desc'] = ProtoField.stringz("of13.desc_stats_reply.dp_desc", "dp_desc")
+fields['of13.desc_stats_request.version'] = ProtoField.uint8("of13.desc_stats_request.version", "version", base.DEC, nil)
+fields['of13.desc_stats_request.type'] = ProtoField.uint32("of13.desc_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.desc_stats_request.length'] = ProtoField.uint16("of13.desc_stats_request.length", "length", base.DEC, nil)
+fields['of13.desc_stats_request.xid'] = ProtoField.uint32("of13.desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.desc_stats_request.stats_type'] = ProtoField.uint32("of13.desc_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.desc_stats_request.flags'] = ProtoField.uint32("of13.desc_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.echo_reply.version'] = ProtoField.uint8("of13.echo_reply.version", "version", base.DEC, nil)
+fields['of13.echo_reply.type'] = ProtoField.uint32("of13.echo_reply.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.echo_reply.length'] = ProtoField.uint16("of13.echo_reply.length", "length", base.DEC, nil)
+fields['of13.echo_reply.xid'] = ProtoField.uint32("of13.echo_reply.xid", "xid", base.DEC, nil)
+fields['of13.echo_reply.data'] = ProtoField.bytes("of13.echo_reply.data", "data")
+fields['of13.echo_request.version'] = ProtoField.uint8("of13.echo_request.version", "version", base.DEC, nil)
+fields['of13.echo_request.type'] = ProtoField.uint32("of13.echo_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.echo_request.length'] = ProtoField.uint16("of13.echo_request.length", "length", base.DEC, nil)
+fields['of13.echo_request.xid'] = ProtoField.uint32("of13.echo_request.xid", "xid", base.DEC, nil)
+fields['of13.echo_request.data'] = ProtoField.bytes("of13.echo_request.data", "data")
+fields['of13.experimenter_error_msg.version'] = ProtoField.uint8("of13.experimenter_error_msg.version", "version", base.DEC, nil)
+fields['of13.experimenter_error_msg.type'] = ProtoField.uint8("of13.experimenter_error_msg.type", "type", base.DEC, nil)
+fields['of13.experimenter_error_msg.length'] = ProtoField.uint16("of13.experimenter_error_msg.length", "length", base.DEC, nil)
+fields['of13.experimenter_error_msg.xid'] = ProtoField.uint32("of13.experimenter_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.experimenter_error_msg.err_type'] = ProtoField.uint16("of13.experimenter_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.experimenter_error_msg.subtype'] = ProtoField.uint16("of13.experimenter_error_msg.subtype", "subtype", base.DEC, nil)
+fields['of13.experimenter_error_msg.experimenter'] = ProtoField.uint32("of13.experimenter_error_msg.experimenter", "experimenter", base.DEC, nil)
+fields['of13.experimenter_error_msg.data'] = ProtoField.bytes("of13.experimenter_error_msg.data", "data")
+fields['of13.features_reply.version'] = ProtoField.uint8("of13.features_reply.version", "version", base.DEC, nil)
+fields['of13.features_reply.type'] = ProtoField.uint32("of13.features_reply.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.features_reply.length'] = ProtoField.uint16("of13.features_reply.length", "length", base.DEC, nil)
+fields['of13.features_reply.xid'] = ProtoField.uint32("of13.features_reply.xid", "xid", base.DEC, nil)
+fields['of13.features_reply.datapath_id'] = ProtoField.uint64("of13.features_reply.datapath_id", "datapath_id", base.DEC, nil)
+fields['of13.features_reply.n_buffers'] = ProtoField.uint32("of13.features_reply.n_buffers", "n_buffers", base.DEC, nil)
+fields['of13.features_reply.n_tables'] = ProtoField.uint8("of13.features_reply.n_tables", "n_tables", base.DEC, nil)
+fields['of13.features_reply.auxiliary_id'] = ProtoField.uint8("of13.features_reply.auxiliary_id", "auxiliary_id", base.DEC, nil)
+fields['of13.features_reply.capabilities'] = ProtoField.uint32("of13.features_reply.capabilities", "capabilities", base.HEX, enum_v4_ofp_capabilities)
+fields['of13.features_reply.reserved'] = ProtoField.uint32("of13.features_reply.reserved", "reserved", base.DEC, nil)
+fields['of13.features_request.version'] = ProtoField.uint8("of13.features_request.version", "version", base.DEC, nil)
+fields['of13.features_request.type'] = ProtoField.uint32("of13.features_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.features_request.length'] = ProtoField.uint16("of13.features_request.length", "length", base.DEC, nil)
+fields['of13.features_request.xid'] = ProtoField.uint32("of13.features_request.xid", "xid", base.DEC, nil)
+fields['of13.flow_mod.version'] = ProtoField.uint8("of13.flow_mod.version", "version", base.DEC, nil)
+fields['of13.flow_mod.type'] = ProtoField.uint32("of13.flow_mod.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.flow_mod.length'] = ProtoField.uint16("of13.flow_mod.length", "length", base.DEC, nil)
+fields['of13.flow_mod.xid'] = ProtoField.uint32("of13.flow_mod.xid", "xid", base.DEC, nil)
+fields['of13.flow_mod.cookie'] = ProtoField.uint64("of13.flow_mod.cookie", "cookie", base.DEC, nil)
+fields['of13.flow_mod.cookie_mask'] = ProtoField.uint64("of13.flow_mod.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of13.flow_mod.table_id'] = ProtoField.uint32("of13.flow_mod.table_id", "table_id", base.DEC, enum_v4_ofp_table)
+fields['of13.flow_mod._command'] = ProtoField.uint32("of13.flow_mod._command", "_command", base.DEC, enum_v4_ofp_flow_mod_command)
+fields['of13.flow_mod.idle_timeout'] = ProtoField.uint16("of13.flow_mod.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of13.flow_mod.hard_timeout'] = ProtoField.uint16("of13.flow_mod.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of13.flow_mod.priority'] = ProtoField.uint16("of13.flow_mod.priority", "priority", base.DEC, nil)
+fields['of13.flow_mod.buffer_id'] = ProtoField.uint32("of13.flow_mod.buffer_id", "buffer_id", base.DEC, nil)
+fields['of13.flow_mod.out_port'] = ProtoField.uint32("of13.flow_mod.out_port", "out_port", base.DEC, enum_v4_ofp_port)
+fields['of13.flow_mod.out_group'] = ProtoField.uint32("of13.flow_mod.out_group", "out_group", base.DEC, enum_v4_ofp_group)
+fields['of13.flow_mod.flags'] = ProtoField.uint32("of13.flow_mod.flags", "flags", base.HEX, enum_v4_ofp_flow_mod_flags)
+fields['of13.flow_mod.match'] = ProtoField.bytes("of13.flow_mod.match", "match")
+fields['of13.flow_mod.instructions'] = ProtoField.bytes("of13.flow_mod.instructions", "instructions")
+fields['of13.flow_add.version'] = ProtoField.uint8("of13.flow_add.version", "version", base.DEC, nil)
+fields['of13.flow_add.type'] = ProtoField.uint32("of13.flow_add.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.flow_add.length'] = ProtoField.uint16("of13.flow_add.length", "length", base.DEC, nil)
+fields['of13.flow_add.xid'] = ProtoField.uint32("of13.flow_add.xid", "xid", base.DEC, nil)
+fields['of13.flow_add.cookie'] = ProtoField.uint64("of13.flow_add.cookie", "cookie", base.DEC, nil)
+fields['of13.flow_add.cookie_mask'] = ProtoField.uint64("of13.flow_add.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of13.flow_add.table_id'] = ProtoField.uint8("of13.flow_add.table_id", "table_id", base.DEC, nil)
+fields['of13.flow_add._command'] = ProtoField.uint16("of13.flow_add._command", "_command", base.DEC, nil)
+fields['of13.flow_add.idle_timeout'] = ProtoField.uint16("of13.flow_add.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of13.flow_add.hard_timeout'] = ProtoField.uint16("of13.flow_add.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of13.flow_add.priority'] = ProtoField.uint16("of13.flow_add.priority", "priority", base.DEC, nil)
+fields['of13.flow_add.buffer_id'] = ProtoField.uint32("of13.flow_add.buffer_id", "buffer_id", base.DEC, nil)
+fields['of13.flow_add.out_port'] = ProtoField.uint32("of13.flow_add.out_port", "out_port", base.DEC, nil)
+fields['of13.flow_add.out_group'] = ProtoField.uint32("of13.flow_add.out_group", "out_group", base.DEC, nil)
+fields['of13.flow_add.flags'] = ProtoField.uint32("of13.flow_add.flags", "flags", base.HEX, enum_v4_ofp_flow_mod_flags)
+fields['of13.flow_add.match'] = ProtoField.bytes("of13.flow_add.match", "match")
+fields['of13.flow_add.instructions'] = ProtoField.bytes("of13.flow_add.instructions", "instructions")
+fields['of13.flow_delete.version'] = ProtoField.uint8("of13.flow_delete.version", "version", base.DEC, nil)
+fields['of13.flow_delete.type'] = ProtoField.uint32("of13.flow_delete.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.flow_delete.length'] = ProtoField.uint16("of13.flow_delete.length", "length", base.DEC, nil)
+fields['of13.flow_delete.xid'] = ProtoField.uint32("of13.flow_delete.xid", "xid", base.DEC, nil)
+fields['of13.flow_delete.cookie'] = ProtoField.uint64("of13.flow_delete.cookie", "cookie", base.DEC, nil)
+fields['of13.flow_delete.cookie_mask'] = ProtoField.uint64("of13.flow_delete.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of13.flow_delete.table_id'] = ProtoField.uint8("of13.flow_delete.table_id", "table_id", base.DEC, nil)
+fields['of13.flow_delete._command'] = ProtoField.uint16("of13.flow_delete._command", "_command", base.DEC, nil)
+fields['of13.flow_delete.idle_timeout'] = ProtoField.uint16("of13.flow_delete.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of13.flow_delete.hard_timeout'] = ProtoField.uint16("of13.flow_delete.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of13.flow_delete.priority'] = ProtoField.uint16("of13.flow_delete.priority", "priority", base.DEC, nil)
+fields['of13.flow_delete.buffer_id'] = ProtoField.uint32("of13.flow_delete.buffer_id", "buffer_id", base.DEC, nil)
+fields['of13.flow_delete.out_port'] = ProtoField.uint32("of13.flow_delete.out_port", "out_port", base.DEC, nil)
+fields['of13.flow_delete.out_group'] = ProtoField.uint32("of13.flow_delete.out_group", "out_group", base.DEC, nil)
+fields['of13.flow_delete.flags'] = ProtoField.uint32("of13.flow_delete.flags", "flags", base.HEX, enum_v4_ofp_flow_mod_flags)
+fields['of13.flow_delete.match'] = ProtoField.bytes("of13.flow_delete.match", "match")
+fields['of13.flow_delete.instructions'] = ProtoField.bytes("of13.flow_delete.instructions", "instructions")
+fields['of13.flow_delete_strict.version'] = ProtoField.uint8("of13.flow_delete_strict.version", "version", base.DEC, nil)
+fields['of13.flow_delete_strict.type'] = ProtoField.uint8("of13.flow_delete_strict.type", "type", base.DEC, nil)
+fields['of13.flow_delete_strict.length'] = ProtoField.uint16("of13.flow_delete_strict.length", "length", base.DEC, nil)
+fields['of13.flow_delete_strict.xid'] = ProtoField.uint32("of13.flow_delete_strict.xid", "xid", base.DEC, nil)
+fields['of13.flow_delete_strict.cookie'] = ProtoField.uint64("of13.flow_delete_strict.cookie", "cookie", base.DEC, nil)
+fields['of13.flow_delete_strict.cookie_mask'] = ProtoField.uint64("of13.flow_delete_strict.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of13.flow_delete_strict.table_id'] = ProtoField.uint8("of13.flow_delete_strict.table_id", "table_id", base.DEC, nil)
+fields['of13.flow_delete_strict._command'] = ProtoField.uint16("of13.flow_delete_strict._command", "_command", base.DEC, nil)
+fields['of13.flow_delete_strict.idle_timeout'] = ProtoField.uint16("of13.flow_delete_strict.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of13.flow_delete_strict.hard_timeout'] = ProtoField.uint16("of13.flow_delete_strict.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of13.flow_delete_strict.priority'] = ProtoField.uint16("of13.flow_delete_strict.priority", "priority", base.DEC, nil)
+fields['of13.flow_delete_strict.buffer_id'] = ProtoField.uint32("of13.flow_delete_strict.buffer_id", "buffer_id", base.DEC, nil)
+fields['of13.flow_delete_strict.out_port'] = ProtoField.uint32("of13.flow_delete_strict.out_port", "out_port", base.DEC, nil)
+fields['of13.flow_delete_strict.out_group'] = ProtoField.uint32("of13.flow_delete_strict.out_group", "out_group", base.DEC, nil)
+fields['of13.flow_delete_strict.flags'] = ProtoField.uint32("of13.flow_delete_strict.flags", "flags", base.HEX, enum_v4_ofp_flow_mod_flags)
+fields['of13.flow_delete_strict.match'] = ProtoField.bytes("of13.flow_delete_strict.match", "match")
+fields['of13.flow_delete_strict.instructions'] = ProtoField.bytes("of13.flow_delete_strict.instructions", "instructions")
+fields['of13.flow_mod_failed_error_msg.version'] = ProtoField.uint8("of13.flow_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of13.flow_mod_failed_error_msg.type'] = ProtoField.uint8("of13.flow_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of13.flow_mod_failed_error_msg.length'] = ProtoField.uint16("of13.flow_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of13.flow_mod_failed_error_msg.xid'] = ProtoField.uint32("of13.flow_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.flow_mod_failed_error_msg.err_type'] = ProtoField.uint16("of13.flow_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.flow_mod_failed_error_msg.code'] = ProtoField.uint32("of13.flow_mod_failed_error_msg.code", "code", base.DEC, enum_v4_ofp_flow_mod_failed_code)
+fields['of13.flow_mod_failed_error_msg.data'] = ProtoField.bytes("of13.flow_mod_failed_error_msg.data", "data")
+fields['of13.flow_modify.version'] = ProtoField.uint8("of13.flow_modify.version", "version", base.DEC, nil)
+fields['of13.flow_modify.type'] = ProtoField.uint8("of13.flow_modify.type", "type", base.DEC, nil)
+fields['of13.flow_modify.length'] = ProtoField.uint16("of13.flow_modify.length", "length", base.DEC, nil)
+fields['of13.flow_modify.xid'] = ProtoField.uint32("of13.flow_modify.xid", "xid", base.DEC, nil)
+fields['of13.flow_modify.cookie'] = ProtoField.uint64("of13.flow_modify.cookie", "cookie", base.DEC, nil)
+fields['of13.flow_modify.cookie_mask'] = ProtoField.uint64("of13.flow_modify.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of13.flow_modify.table_id'] = ProtoField.uint8("of13.flow_modify.table_id", "table_id", base.DEC, nil)
+fields['of13.flow_modify._command'] = ProtoField.uint16("of13.flow_modify._command", "_command", base.DEC, nil)
+fields['of13.flow_modify.idle_timeout'] = ProtoField.uint16("of13.flow_modify.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of13.flow_modify.hard_timeout'] = ProtoField.uint16("of13.flow_modify.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of13.flow_modify.priority'] = ProtoField.uint16("of13.flow_modify.priority", "priority", base.DEC, nil)
+fields['of13.flow_modify.buffer_id'] = ProtoField.uint32("of13.flow_modify.buffer_id", "buffer_id", base.DEC, nil)
+fields['of13.flow_modify.out_port'] = ProtoField.uint32("of13.flow_modify.out_port", "out_port", base.DEC, nil)
+fields['of13.flow_modify.out_group'] = ProtoField.uint32("of13.flow_modify.out_group", "out_group", base.DEC, nil)
+fields['of13.flow_modify.flags'] = ProtoField.uint32("of13.flow_modify.flags", "flags", base.HEX, enum_v4_ofp_flow_mod_flags)
+fields['of13.flow_modify.match'] = ProtoField.bytes("of13.flow_modify.match", "match")
+fields['of13.flow_modify.instructions'] = ProtoField.bytes("of13.flow_modify.instructions", "instructions")
+fields['of13.flow_modify_strict.version'] = ProtoField.uint8("of13.flow_modify_strict.version", "version", base.DEC, nil)
+fields['of13.flow_modify_strict.type'] = ProtoField.uint8("of13.flow_modify_strict.type", "type", base.DEC, nil)
+fields['of13.flow_modify_strict.length'] = ProtoField.uint16("of13.flow_modify_strict.length", "length", base.DEC, nil)
+fields['of13.flow_modify_strict.xid'] = ProtoField.uint32("of13.flow_modify_strict.xid", "xid", base.DEC, nil)
+fields['of13.flow_modify_strict.cookie'] = ProtoField.uint64("of13.flow_modify_strict.cookie", "cookie", base.DEC, nil)
+fields['of13.flow_modify_strict.cookie_mask'] = ProtoField.uint64("of13.flow_modify_strict.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of13.flow_modify_strict.table_id'] = ProtoField.uint8("of13.flow_modify_strict.table_id", "table_id", base.DEC, nil)
+fields['of13.flow_modify_strict._command'] = ProtoField.uint16("of13.flow_modify_strict._command", "_command", base.DEC, nil)
+fields['of13.flow_modify_strict.idle_timeout'] = ProtoField.uint16("of13.flow_modify_strict.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of13.flow_modify_strict.hard_timeout'] = ProtoField.uint16("of13.flow_modify_strict.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of13.flow_modify_strict.priority'] = ProtoField.uint16("of13.flow_modify_strict.priority", "priority", base.DEC, nil)
+fields['of13.flow_modify_strict.buffer_id'] = ProtoField.uint32("of13.flow_modify_strict.buffer_id", "buffer_id", base.DEC, nil)
+fields['of13.flow_modify_strict.out_port'] = ProtoField.uint32("of13.flow_modify_strict.out_port", "out_port", base.DEC, nil)
+fields['of13.flow_modify_strict.out_group'] = ProtoField.uint32("of13.flow_modify_strict.out_group", "out_group", base.DEC, nil)
+fields['of13.flow_modify_strict.flags'] = ProtoField.uint32("of13.flow_modify_strict.flags", "flags", base.HEX, enum_v4_ofp_flow_mod_flags)
+fields['of13.flow_modify_strict.match'] = ProtoField.bytes("of13.flow_modify_strict.match", "match")
+fields['of13.flow_modify_strict.instructions'] = ProtoField.bytes("of13.flow_modify_strict.instructions", "instructions")
+fields['of13.flow_removed.version'] = ProtoField.uint8("of13.flow_removed.version", "version", base.DEC, nil)
+fields['of13.flow_removed.type'] = ProtoField.uint8("of13.flow_removed.type", "type", base.DEC, nil)
+fields['of13.flow_removed.length'] = ProtoField.uint16("of13.flow_removed.length", "length", base.DEC, nil)
+fields['of13.flow_removed.xid'] = ProtoField.uint32("of13.flow_removed.xid", "xid", base.DEC, nil)
+fields['of13.flow_removed.cookie'] = ProtoField.uint64("of13.flow_removed.cookie", "cookie", base.DEC, nil)
+fields['of13.flow_removed.priority'] = ProtoField.uint16("of13.flow_removed.priority", "priority", base.DEC, nil)
+fields['of13.flow_removed.reason'] = ProtoField.uint8("of13.flow_removed.reason", "reason", base.DEC, nil)
+fields['of13.flow_removed.table_id'] = ProtoField.uint8("of13.flow_removed.table_id", "table_id", base.DEC, nil)
+fields['of13.flow_removed.duration_sec'] = ProtoField.uint32("of13.flow_removed.duration_sec", "duration_sec", base.DEC, nil)
+fields['of13.flow_removed.duration_nsec'] = ProtoField.uint32("of13.flow_removed.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of13.flow_removed.idle_timeout'] = ProtoField.uint16("of13.flow_removed.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of13.flow_removed.hard_timeout'] = ProtoField.uint16("of13.flow_removed.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of13.flow_removed.packet_count'] = ProtoField.uint64("of13.flow_removed.packet_count", "packet_count", base.DEC, nil)
+fields['of13.flow_removed.byte_count'] = ProtoField.uint64("of13.flow_removed.byte_count", "byte_count", base.DEC, nil)
+fields['of13.flow_removed.match'] = ProtoField.bytes("of13.flow_removed.match", "match")
+fields['of13.flow_stats_entry.length'] = ProtoField.uint16("of13.flow_stats_entry.length", "length", base.DEC, nil)
+fields['of13.flow_stats_entry.table_id'] = ProtoField.uint8("of13.flow_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of13.flow_stats_entry.duration_sec'] = ProtoField.uint32("of13.flow_stats_entry.duration_sec", "duration_sec", base.DEC, nil)
+fields['of13.flow_stats_entry.duration_nsec'] = ProtoField.uint32("of13.flow_stats_entry.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of13.flow_stats_entry.priority'] = ProtoField.uint16("of13.flow_stats_entry.priority", "priority", base.DEC, nil)
+fields['of13.flow_stats_entry.idle_timeout'] = ProtoField.uint16("of13.flow_stats_entry.idle_timeout", "idle_timeout", base.DEC, nil)
+fields['of13.flow_stats_entry.hard_timeout'] = ProtoField.uint16("of13.flow_stats_entry.hard_timeout", "hard_timeout", base.DEC, nil)
+fields['of13.flow_stats_entry.flags'] = ProtoField.uint32("of13.flow_stats_entry.flags", "flags", base.HEX, enum_v4_ofp_flow_mod_flags)
+fields['of13.flow_stats_entry.cookie'] = ProtoField.uint64("of13.flow_stats_entry.cookie", "cookie", base.DEC, nil)
+fields['of13.flow_stats_entry.packet_count'] = ProtoField.uint64("of13.flow_stats_entry.packet_count", "packet_count", base.DEC, nil)
+fields['of13.flow_stats_entry.byte_count'] = ProtoField.uint64("of13.flow_stats_entry.byte_count", "byte_count", base.DEC, nil)
+fields['of13.flow_stats_entry.match'] = ProtoField.bytes("of13.flow_stats_entry.match", "match")
+fields['of13.flow_stats_entry.instructions'] = ProtoField.bytes("of13.flow_stats_entry.instructions", "instructions")
+fields['of13.flow_stats_reply.version'] = ProtoField.uint8("of13.flow_stats_reply.version", "version", base.DEC, nil)
+fields['of13.flow_stats_reply.type'] = ProtoField.uint32("of13.flow_stats_reply.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.flow_stats_reply.length'] = ProtoField.uint16("of13.flow_stats_reply.length", "length", base.DEC, nil)
+fields['of13.flow_stats_reply.xid'] = ProtoField.uint32("of13.flow_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.flow_stats_reply.stats_type'] = ProtoField.uint32("of13.flow_stats_reply.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.flow_stats_reply.flags'] = ProtoField.uint32("of13.flow_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.flow_stats_reply.entries'] = ProtoField.bytes("of13.flow_stats_reply.entries", "entries")
+fields['of13.flow_stats_request.version'] = ProtoField.uint8("of13.flow_stats_request.version", "version", base.DEC, nil)
+fields['of13.flow_stats_request.type'] = ProtoField.uint32("of13.flow_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.flow_stats_request.length'] = ProtoField.uint16("of13.flow_stats_request.length", "length", base.DEC, nil)
+fields['of13.flow_stats_request.xid'] = ProtoField.uint32("of13.flow_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.flow_stats_request.stats_type'] = ProtoField.uint32("of13.flow_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.flow_stats_request.flags'] = ProtoField.uint32("of13.flow_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.flow_stats_request.table_id'] = ProtoField.uint8("of13.flow_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of13.flow_stats_request.out_port'] = ProtoField.uint32("of13.flow_stats_request.out_port", "out_port", base.DEC, nil)
+fields['of13.flow_stats_request.out_group'] = ProtoField.uint32("of13.flow_stats_request.out_group", "out_group", base.DEC, nil)
+fields['of13.flow_stats_request.cookie'] = ProtoField.uint64("of13.flow_stats_request.cookie", "cookie", base.DEC, nil)
+fields['of13.flow_stats_request.cookie_mask'] = ProtoField.uint64("of13.flow_stats_request.cookie_mask", "cookie_mask", base.DEC, nil)
+fields['of13.flow_stats_request.match'] = ProtoField.bytes("of13.flow_stats_request.match", "match")
+fields['of13.get_config_reply.version'] = ProtoField.uint8("of13.get_config_reply.version", "version", base.DEC, nil)
+fields['of13.get_config_reply.type'] = ProtoField.uint8("of13.get_config_reply.type", "type", base.DEC, nil)
+fields['of13.get_config_reply.length'] = ProtoField.uint16("of13.get_config_reply.length", "length", base.DEC, nil)
+fields['of13.get_config_reply.xid'] = ProtoField.uint32("of13.get_config_reply.xid", "xid", base.DEC, nil)
+fields['of13.get_config_reply.flags'] = ProtoField.uint32("of13.get_config_reply.flags", "flags", base.HEX, enum_v4_ofp_config_flags)
+fields['of13.get_config_reply.miss_send_len'] = ProtoField.uint16("of13.get_config_reply.miss_send_len", "miss_send_len", base.DEC, nil)
+fields['of13.get_config_request.version'] = ProtoField.uint8("of13.get_config_request.version", "version", base.DEC, nil)
+fields['of13.get_config_request.type'] = ProtoField.uint8("of13.get_config_request.type", "type", base.DEC, nil)
+fields['of13.get_config_request.length'] = ProtoField.uint16("of13.get_config_request.length", "length", base.DEC, nil)
+fields['of13.get_config_request.xid'] = ProtoField.uint32("of13.get_config_request.xid", "xid", base.DEC, nil)
+fields['of13.group_mod.version'] = ProtoField.uint8("of13.group_mod.version", "version", base.DEC, nil)
+fields['of13.group_mod.type'] = ProtoField.uint32("of13.group_mod.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.group_mod.length'] = ProtoField.uint16("of13.group_mod.length", "length", base.DEC, nil)
+fields['of13.group_mod.xid'] = ProtoField.uint32("of13.group_mod.xid", "xid", base.DEC, nil)
+fields['of13.group_mod.command'] = ProtoField.uint32("of13.group_mod.command", "command", base.DEC, enum_v4_ofp_group_mod_command)
+fields['of13.group_mod.group_type'] = ProtoField.uint32("of13.group_mod.group_type", "group_type", base.DEC, enum_v4_ofp_group_type)
+fields['of13.group_mod.group_id'] = ProtoField.uint32("of13.group_mod.group_id", "group_id", base.DEC, enum_v4_ofp_group)
+fields['of13.group_mod.buckets'] = ProtoField.bytes("of13.group_mod.buckets", "buckets")
+fields['of13.group_add.version'] = ProtoField.uint8("of13.group_add.version", "version", base.DEC, nil)
+fields['of13.group_add.type'] = ProtoField.uint8("of13.group_add.type", "type", base.DEC, nil)
+fields['of13.group_add.length'] = ProtoField.uint16("of13.group_add.length", "length", base.DEC, nil)
+fields['of13.group_add.xid'] = ProtoField.uint32("of13.group_add.xid", "xid", base.DEC, nil)
+fields['of13.group_add.command'] = ProtoField.uint32("of13.group_add.command", "command", base.DEC, enum_v4_ofp_group_mod_command)
+fields['of13.group_add.group_type'] = ProtoField.uint32("of13.group_add.group_type", "group_type", base.DEC, enum_v4_ofp_group_type)
+fields['of13.group_add.group_id'] = ProtoField.uint32("of13.group_add.group_id", "group_id", base.DEC, nil)
+fields['of13.group_add.buckets'] = ProtoField.bytes("of13.group_add.buckets", "buckets")
+fields['of13.group_delete.version'] = ProtoField.uint8("of13.group_delete.version", "version", base.DEC, nil)
+fields['of13.group_delete.type'] = ProtoField.uint8("of13.group_delete.type", "type", base.DEC, nil)
+fields['of13.group_delete.length'] = ProtoField.uint16("of13.group_delete.length", "length", base.DEC, nil)
+fields['of13.group_delete.xid'] = ProtoField.uint32("of13.group_delete.xid", "xid", base.DEC, nil)
+fields['of13.group_delete.command'] = ProtoField.uint32("of13.group_delete.command", "command", base.DEC, enum_v4_ofp_group_mod_command)
+fields['of13.group_delete.group_type'] = ProtoField.uint32("of13.group_delete.group_type", "group_type", base.DEC, enum_v4_ofp_group_type)
+fields['of13.group_delete.group_id'] = ProtoField.uint32("of13.group_delete.group_id", "group_id", base.DEC, nil)
+fields['of13.group_delete.buckets'] = ProtoField.bytes("of13.group_delete.buckets", "buckets")
+fields['of13.group_desc_stats_entry.length'] = ProtoField.uint16("of13.group_desc_stats_entry.length", "length", base.DEC, nil)
+fields['of13.group_desc_stats_entry.group_type'] = ProtoField.uint32("of13.group_desc_stats_entry.group_type", "group_type", base.DEC, enum_v4_ofp_group_type)
+fields['of13.group_desc_stats_entry.group_id'] = ProtoField.uint32("of13.group_desc_stats_entry.group_id", "group_id", base.DEC, nil)
+fields['of13.group_desc_stats_entry.buckets'] = ProtoField.bytes("of13.group_desc_stats_entry.buckets", "buckets")
+fields['of13.group_desc_stats_reply.version'] = ProtoField.uint8("of13.group_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of13.group_desc_stats_reply.type'] = ProtoField.uint8("of13.group_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of13.group_desc_stats_reply.length'] = ProtoField.uint16("of13.group_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of13.group_desc_stats_reply.xid'] = ProtoField.uint32("of13.group_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.group_desc_stats_reply.stats_type'] = ProtoField.uint16("of13.group_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.group_desc_stats_reply.flags'] = ProtoField.uint32("of13.group_desc_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.group_desc_stats_reply.entries'] = ProtoField.bytes("of13.group_desc_stats_reply.entries", "entries")
+fields['of13.group_desc_stats_request.version'] = ProtoField.uint8("of13.group_desc_stats_request.version", "version", base.DEC, nil)
+fields['of13.group_desc_stats_request.type'] = ProtoField.uint32("of13.group_desc_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.group_desc_stats_request.length'] = ProtoField.uint16("of13.group_desc_stats_request.length", "length", base.DEC, nil)
+fields['of13.group_desc_stats_request.xid'] = ProtoField.uint32("of13.group_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.group_desc_stats_request.stats_type'] = ProtoField.uint32("of13.group_desc_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.group_desc_stats_request.flags'] = ProtoField.uint32("of13.group_desc_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.group_features_stats_reply.version'] = ProtoField.uint8("of13.group_features_stats_reply.version", "version", base.DEC, nil)
+fields['of13.group_features_stats_reply.type'] = ProtoField.uint8("of13.group_features_stats_reply.type", "type", base.DEC, nil)
+fields['of13.group_features_stats_reply.length'] = ProtoField.uint16("of13.group_features_stats_reply.length", "length", base.DEC, nil)
+fields['of13.group_features_stats_reply.xid'] = ProtoField.uint32("of13.group_features_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.group_features_stats_reply.stats_type'] = ProtoField.uint16("of13.group_features_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.group_features_stats_reply.flags'] = ProtoField.uint32("of13.group_features_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.group_features_stats_reply.types'] = ProtoField.uint32("of13.group_features_stats_reply.types", "types", base.DEC, nil)
+fields['of13.group_features_stats_reply.capabilities'] = ProtoField.uint32("of13.group_features_stats_reply.capabilities", "capabilities", base.DEC, nil)
+fields['of13.group_features_stats_reply.max_groups_all'] = ProtoField.uint32("of13.group_features_stats_reply.max_groups_all", "max_groups_all", base.DEC, nil)
+fields['of13.group_features_stats_reply.max_groups_select'] = ProtoField.uint32("of13.group_features_stats_reply.max_groups_select", "max_groups_select", base.DEC, nil)
+fields['of13.group_features_stats_reply.max_groups_indirect'] = ProtoField.uint32("of13.group_features_stats_reply.max_groups_indirect", "max_groups_indirect", base.DEC, nil)
+fields['of13.group_features_stats_reply.max_groups_ff'] = ProtoField.uint32("of13.group_features_stats_reply.max_groups_ff", "max_groups_ff", base.DEC, nil)
+fields['of13.group_features_stats_reply.actions_all'] = ProtoField.uint32("of13.group_features_stats_reply.actions_all", "actions_all", base.DEC, nil)
+fields['of13.group_features_stats_reply.actions_select'] = ProtoField.uint32("of13.group_features_stats_reply.actions_select", "actions_select", base.DEC, nil)
+fields['of13.group_features_stats_reply.actions_indirect'] = ProtoField.uint32("of13.group_features_stats_reply.actions_indirect", "actions_indirect", base.DEC, nil)
+fields['of13.group_features_stats_reply.actions_ff'] = ProtoField.uint32("of13.group_features_stats_reply.actions_ff", "actions_ff", base.DEC, nil)
+fields['of13.group_features_stats_request.version'] = ProtoField.uint8("of13.group_features_stats_request.version", "version", base.DEC, nil)
+fields['of13.group_features_stats_request.type'] = ProtoField.uint32("of13.group_features_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.group_features_stats_request.length'] = ProtoField.uint16("of13.group_features_stats_request.length", "length", base.DEC, nil)
+fields['of13.group_features_stats_request.xid'] = ProtoField.uint32("of13.group_features_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.group_features_stats_request.stats_type'] = ProtoField.uint32("of13.group_features_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.group_features_stats_request.flags'] = ProtoField.uint32("of13.group_features_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.group_mod_failed_error_msg.version'] = ProtoField.uint8("of13.group_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of13.group_mod_failed_error_msg.type'] = ProtoField.uint8("of13.group_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of13.group_mod_failed_error_msg.length'] = ProtoField.uint16("of13.group_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of13.group_mod_failed_error_msg.xid'] = ProtoField.uint32("of13.group_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.group_mod_failed_error_msg.err_type'] = ProtoField.uint16("of13.group_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.group_mod_failed_error_msg.code'] = ProtoField.uint32("of13.group_mod_failed_error_msg.code", "code", base.DEC, enum_v4_ofp_group_mod_failed_code)
+fields['of13.group_mod_failed_error_msg.data'] = ProtoField.bytes("of13.group_mod_failed_error_msg.data", "data")
+fields['of13.group_modify.version'] = ProtoField.uint8("of13.group_modify.version", "version", base.DEC, nil)
+fields['of13.group_modify.type'] = ProtoField.uint8("of13.group_modify.type", "type", base.DEC, nil)
+fields['of13.group_modify.length'] = ProtoField.uint16("of13.group_modify.length", "length", base.DEC, nil)
+fields['of13.group_modify.xid'] = ProtoField.uint32("of13.group_modify.xid", "xid", base.DEC, nil)
+fields['of13.group_modify.command'] = ProtoField.uint32("of13.group_modify.command", "command", base.DEC, enum_v4_ofp_group_mod_command)
+fields['of13.group_modify.group_type'] = ProtoField.uint32("of13.group_modify.group_type", "group_type", base.DEC, enum_v4_ofp_group_type)
+fields['of13.group_modify.group_id'] = ProtoField.uint32("of13.group_modify.group_id", "group_id", base.DEC, nil)
+fields['of13.group_modify.buckets'] = ProtoField.bytes("of13.group_modify.buckets", "buckets")
+fields['of13.group_stats_entry.length'] = ProtoField.uint16("of13.group_stats_entry.length", "length", base.DEC, nil)
+fields['of13.group_stats_entry.group_id'] = ProtoField.uint32("of13.group_stats_entry.group_id", "group_id", base.DEC, nil)
+fields['of13.group_stats_entry.ref_count'] = ProtoField.uint32("of13.group_stats_entry.ref_count", "ref_count", base.DEC, nil)
+fields['of13.group_stats_entry.packet_count'] = ProtoField.uint64("of13.group_stats_entry.packet_count", "packet_count", base.DEC, nil)
+fields['of13.group_stats_entry.byte_count'] = ProtoField.uint64("of13.group_stats_entry.byte_count", "byte_count", base.DEC, nil)
+fields['of13.group_stats_entry.duration_sec'] = ProtoField.uint32("of13.group_stats_entry.duration_sec", "duration_sec", base.DEC, nil)
+fields['of13.group_stats_entry.duration_nsec'] = ProtoField.uint32("of13.group_stats_entry.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of13.group_stats_entry.bucket_stats'] = ProtoField.bytes("of13.group_stats_entry.bucket_stats", "bucket_stats")
+fields['of13.group_stats_reply.version'] = ProtoField.uint8("of13.group_stats_reply.version", "version", base.DEC, nil)
+fields['of13.group_stats_reply.type'] = ProtoField.uint8("of13.group_stats_reply.type", "type", base.DEC, nil)
+fields['of13.group_stats_reply.length'] = ProtoField.uint16("of13.group_stats_reply.length", "length", base.DEC, nil)
+fields['of13.group_stats_reply.xid'] = ProtoField.uint32("of13.group_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.group_stats_reply.stats_type'] = ProtoField.uint16("of13.group_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.group_stats_reply.flags'] = ProtoField.uint32("of13.group_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.group_stats_reply.entries'] = ProtoField.bytes("of13.group_stats_reply.entries", "entries")
+fields['of13.group_stats_request.version'] = ProtoField.uint8("of13.group_stats_request.version", "version", base.DEC, nil)
+fields['of13.group_stats_request.type'] = ProtoField.uint32("of13.group_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.group_stats_request.length'] = ProtoField.uint16("of13.group_stats_request.length", "length", base.DEC, nil)
+fields['of13.group_stats_request.xid'] = ProtoField.uint32("of13.group_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.group_stats_request.stats_type'] = ProtoField.uint32("of13.group_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.group_stats_request.flags'] = ProtoField.uint32("of13.group_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.group_stats_request.group_id'] = ProtoField.uint32("of13.group_stats_request.group_id", "group_id", base.DEC, nil)
+fields['of13.hello.version'] = ProtoField.uint8("of13.hello.version", "version", base.DEC, nil)
+fields['of13.hello.type'] = ProtoField.uint32("of13.hello.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.hello.length'] = ProtoField.uint16("of13.hello.length", "length", base.DEC, nil)
+fields['of13.hello.xid'] = ProtoField.uint32("of13.hello.xid", "xid", base.DEC, nil)
+fields['of13.hello.elements'] = ProtoField.bytes("of13.hello.elements", "elements")
+fields['of13.hello_elem.type'] = ProtoField.uint16("of13.hello_elem.type", "type", base.DEC, nil)
+fields['of13.hello_elem.length'] = ProtoField.uint16("of13.hello_elem.length", "length", base.DEC, nil)
+fields['of13.hello_elem_versionbitmap.type'] = ProtoField.uint16("of13.hello_elem_versionbitmap.type", "type", base.DEC, nil)
+fields['of13.hello_elem_versionbitmap.length'] = ProtoField.uint16("of13.hello_elem_versionbitmap.length", "length", base.DEC, nil)
+fields['of13.hello_elem_versionbitmap.bitmaps'] = ProtoField.bytes("of13.hello_elem_versionbitmap.bitmaps", "bitmaps")
+fields['of13.hello_failed_error_msg.version'] = ProtoField.uint8("of13.hello_failed_error_msg.version", "version", base.DEC, nil)
+fields['of13.hello_failed_error_msg.type'] = ProtoField.uint8("of13.hello_failed_error_msg.type", "type", base.DEC, nil)
+fields['of13.hello_failed_error_msg.length'] = ProtoField.uint16("of13.hello_failed_error_msg.length", "length", base.DEC, nil)
+fields['of13.hello_failed_error_msg.xid'] = ProtoField.uint32("of13.hello_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.hello_failed_error_msg.err_type'] = ProtoField.uint16("of13.hello_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.hello_failed_error_msg.code'] = ProtoField.uint32("of13.hello_failed_error_msg.code", "code", base.DEC, enum_v4_ofp_hello_failed_code)
+fields['of13.hello_failed_error_msg.data'] = ProtoField.bytes("of13.hello_failed_error_msg.data", "data")
+fields['of13.instruction.type'] = ProtoField.uint16("of13.instruction.type", "type", base.DEC, nil)
+fields['of13.instruction.len'] = ProtoField.uint16("of13.instruction.len", "len", base.DEC, nil)
+fields['of13.instruction_id.type'] = ProtoField.uint16("of13.instruction_id.type", "type", base.DEC, nil)
+fields['of13.instruction_id.len'] = ProtoField.uint16("of13.instruction_id.len", "len", base.DEC, nil)
+fields['of13.instruction_apply_actions.type'] = ProtoField.uint32("of13.instruction_apply_actions.type", "type", base.HEX, enum_v4_ofp_instruction_type)
+fields['of13.instruction_apply_actions.len'] = ProtoField.uint16("of13.instruction_apply_actions.len", "len", base.DEC, nil)
+fields['of13.instruction_apply_actions.actions'] = ProtoField.bytes("of13.instruction_apply_actions.actions", "actions")
+fields['of13.instruction_id_apply_actions.type'] = ProtoField.uint16("of13.instruction_id_apply_actions.type", "type", base.DEC, nil)
+fields['of13.instruction_id_apply_actions.len'] = ProtoField.uint16("of13.instruction_id_apply_actions.len", "len", base.DEC, nil)
+fields['of13.instruction_experimenter.type'] = ProtoField.uint16("of13.instruction_experimenter.type", "type", base.DEC, nil)
+fields['of13.instruction_experimenter.len'] = ProtoField.uint16("of13.instruction_experimenter.len", "len", base.DEC, nil)
+fields['of13.instruction_experimenter.experimenter'] = ProtoField.uint32("of13.instruction_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_experimenter.data'] = ProtoField.bytes("of13.instruction_experimenter.data", "data")
+fields['of13.instruction_bsn.type'] = ProtoField.uint16("of13.instruction_bsn.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn.len'] = ProtoField.uint16("of13.instruction_bsn.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn.experimenter'] = ProtoField.uint32("of13.instruction_bsn.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn.subtype'] = ProtoField.uint32("of13.instruction_bsn.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_experimenter.type'] = ProtoField.uint16("of13.instruction_id_experimenter.type", "type", base.DEC, nil)
+fields['of13.instruction_id_experimenter.len'] = ProtoField.uint16("of13.instruction_id_experimenter.len", "len", base.DEC, nil)
+fields['of13.instruction_id_experimenter.experimenter'] = ProtoField.uint32("of13.instruction_id_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn.type'] = ProtoField.uint16("of13.instruction_id_bsn.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn.len'] = ProtoField.uint16("of13.instruction_id_bsn.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn.subtype'] = ProtoField.uint32("of13.instruction_id_bsn.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_bsn_arp_offload.type'] = ProtoField.uint16("of13.instruction_bsn_arp_offload.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn_arp_offload.len'] = ProtoField.uint16("of13.instruction_bsn_arp_offload.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn_arp_offload.experimenter'] = ProtoField.uint32("of13.instruction_bsn_arp_offload.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn_arp_offload.subtype'] = ProtoField.uint32("of13.instruction_bsn_arp_offload.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_bsn_arp_offload.type'] = ProtoField.uint16("of13.instruction_id_bsn_arp_offload.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn_arp_offload.len'] = ProtoField.uint16("of13.instruction_id_bsn_arp_offload.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn_arp_offload.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_arp_offload.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn_arp_offload.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_arp_offload.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_bsn_deny.type'] = ProtoField.uint16("of13.instruction_bsn_deny.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn_deny.len'] = ProtoField.uint16("of13.instruction_bsn_deny.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn_deny.experimenter'] = ProtoField.uint32("of13.instruction_bsn_deny.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn_deny.subtype'] = ProtoField.uint32("of13.instruction_bsn_deny.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_bsn_deny.type'] = ProtoField.uint16("of13.instruction_id_bsn_deny.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn_deny.len'] = ProtoField.uint16("of13.instruction_id_bsn_deny.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn_deny.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_deny.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn_deny.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_deny.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_bsn_dhcp_offload.type'] = ProtoField.uint16("of13.instruction_bsn_dhcp_offload.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn_dhcp_offload.len'] = ProtoField.uint16("of13.instruction_bsn_dhcp_offload.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn_dhcp_offload.experimenter'] = ProtoField.uint32("of13.instruction_bsn_dhcp_offload.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn_dhcp_offload.subtype'] = ProtoField.uint32("of13.instruction_bsn_dhcp_offload.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_bsn_dhcp_offload.type'] = ProtoField.uint16("of13.instruction_id_bsn_dhcp_offload.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn_dhcp_offload.len'] = ProtoField.uint16("of13.instruction_id_bsn_dhcp_offload.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn_dhcp_offload.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_dhcp_offload.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn_dhcp_offload.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_dhcp_offload.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_bsn_disable_split_horizon_check.type'] = ProtoField.uint16("of13.instruction_bsn_disable_split_horizon_check.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn_disable_split_horizon_check.len'] = ProtoField.uint16("of13.instruction_bsn_disable_split_horizon_check.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn_disable_split_horizon_check.experimenter'] = ProtoField.uint32("of13.instruction_bsn_disable_split_horizon_check.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn_disable_split_horizon_check.subtype'] = ProtoField.uint32("of13.instruction_bsn_disable_split_horizon_check.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_split_horizon_check.type'] = ProtoField.uint16("of13.instruction_id_bsn_disable_split_horizon_check.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_split_horizon_check.len'] = ProtoField.uint16("of13.instruction_id_bsn_disable_split_horizon_check.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_split_horizon_check.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_disable_split_horizon_check.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_split_horizon_check.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_disable_split_horizon_check.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_bsn_disable_src_mac_check.type'] = ProtoField.uint16("of13.instruction_bsn_disable_src_mac_check.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn_disable_src_mac_check.len'] = ProtoField.uint16("of13.instruction_bsn_disable_src_mac_check.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn_disable_src_mac_check.experimenter'] = ProtoField.uint32("of13.instruction_bsn_disable_src_mac_check.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn_disable_src_mac_check.subtype'] = ProtoField.uint32("of13.instruction_bsn_disable_src_mac_check.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_src_mac_check.type'] = ProtoField.uint16("of13.instruction_id_bsn_disable_src_mac_check.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_src_mac_check.len'] = ProtoField.uint16("of13.instruction_id_bsn_disable_src_mac_check.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_src_mac_check.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_disable_src_mac_check.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_src_mac_check.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_disable_src_mac_check.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_bsn_disable_vlan_counters.type'] = ProtoField.uint16("of13.instruction_bsn_disable_vlan_counters.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn_disable_vlan_counters.len'] = ProtoField.uint16("of13.instruction_bsn_disable_vlan_counters.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn_disable_vlan_counters.experimenter'] = ProtoField.uint32("of13.instruction_bsn_disable_vlan_counters.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn_disable_vlan_counters.subtype'] = ProtoField.uint32("of13.instruction_bsn_disable_vlan_counters.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_vlan_counters.type'] = ProtoField.uint16("of13.instruction_id_bsn_disable_vlan_counters.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_vlan_counters.len'] = ProtoField.uint16("of13.instruction_id_bsn_disable_vlan_counters.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_vlan_counters.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_disable_vlan_counters.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn_disable_vlan_counters.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_disable_vlan_counters.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_bsn_packet_of_death.type'] = ProtoField.uint16("of13.instruction_bsn_packet_of_death.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn_packet_of_death.len'] = ProtoField.uint16("of13.instruction_bsn_packet_of_death.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn_packet_of_death.experimenter'] = ProtoField.uint32("of13.instruction_bsn_packet_of_death.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn_packet_of_death.subtype'] = ProtoField.uint32("of13.instruction_bsn_packet_of_death.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_bsn_packet_of_death.type'] = ProtoField.uint16("of13.instruction_id_bsn_packet_of_death.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn_packet_of_death.len'] = ProtoField.uint16("of13.instruction_id_bsn_packet_of_death.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn_packet_of_death.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_packet_of_death.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn_packet_of_death.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_packet_of_death.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_bsn_permit.type'] = ProtoField.uint16("of13.instruction_bsn_permit.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn_permit.len'] = ProtoField.uint16("of13.instruction_bsn_permit.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn_permit.experimenter'] = ProtoField.uint32("of13.instruction_bsn_permit.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn_permit.subtype'] = ProtoField.uint32("of13.instruction_bsn_permit.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_bsn_permit.type'] = ProtoField.uint16("of13.instruction_id_bsn_permit.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn_permit.len'] = ProtoField.uint16("of13.instruction_id_bsn_permit.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn_permit.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_permit.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn_permit.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_permit.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_bsn_prioritize_pdus.type'] = ProtoField.uint16("of13.instruction_bsn_prioritize_pdus.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn_prioritize_pdus.len'] = ProtoField.uint16("of13.instruction_bsn_prioritize_pdus.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn_prioritize_pdus.experimenter'] = ProtoField.uint32("of13.instruction_bsn_prioritize_pdus.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn_prioritize_pdus.subtype'] = ProtoField.uint32("of13.instruction_bsn_prioritize_pdus.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_bsn_prioritize_pdus.type'] = ProtoField.uint16("of13.instruction_id_bsn_prioritize_pdus.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn_prioritize_pdus.len'] = ProtoField.uint16("of13.instruction_id_bsn_prioritize_pdus.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn_prioritize_pdus.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_prioritize_pdus.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn_prioritize_pdus.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_prioritize_pdus.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_bsn_require_vlan_xlate.type'] = ProtoField.uint16("of13.instruction_bsn_require_vlan_xlate.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn_require_vlan_xlate.len'] = ProtoField.uint16("of13.instruction_bsn_require_vlan_xlate.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn_require_vlan_xlate.experimenter'] = ProtoField.uint32("of13.instruction_bsn_require_vlan_xlate.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn_require_vlan_xlate.subtype'] = ProtoField.uint32("of13.instruction_bsn_require_vlan_xlate.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_bsn_require_vlan_xlate.type'] = ProtoField.uint16("of13.instruction_id_bsn_require_vlan_xlate.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn_require_vlan_xlate.len'] = ProtoField.uint16("of13.instruction_id_bsn_require_vlan_xlate.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn_require_vlan_xlate.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_require_vlan_xlate.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn_require_vlan_xlate.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_require_vlan_xlate.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_clear_actions.type'] = ProtoField.uint16("of13.instruction_clear_actions.type", "type", base.DEC, nil)
+fields['of13.instruction_clear_actions.len'] = ProtoField.uint16("of13.instruction_clear_actions.len", "len", base.DEC, nil)
+fields['of13.instruction_id_clear_actions.type'] = ProtoField.uint16("of13.instruction_id_clear_actions.type", "type", base.DEC, nil)
+fields['of13.instruction_id_clear_actions.len'] = ProtoField.uint16("of13.instruction_id_clear_actions.len", "len", base.DEC, nil)
+fields['of13.instruction_goto_table.type'] = ProtoField.uint16("of13.instruction_goto_table.type", "type", base.DEC, nil)
+fields['of13.instruction_goto_table.len'] = ProtoField.uint16("of13.instruction_goto_table.len", "len", base.DEC, nil)
+fields['of13.instruction_goto_table.table_id'] = ProtoField.uint8("of13.instruction_goto_table.table_id", "table_id", base.DEC, nil)
+fields['of13.instruction_id_goto_table.type'] = ProtoField.uint16("of13.instruction_id_goto_table.type", "type", base.DEC, nil)
+fields['of13.instruction_id_goto_table.len'] = ProtoField.uint16("of13.instruction_id_goto_table.len", "len", base.DEC, nil)
+fields['of13.instruction_meter.type'] = ProtoField.uint16("of13.instruction_meter.type", "type", base.DEC, nil)
+fields['of13.instruction_meter.len'] = ProtoField.uint16("of13.instruction_meter.len", "len", base.DEC, nil)
+fields['of13.instruction_meter.meter_id'] = ProtoField.uint32("of13.instruction_meter.meter_id", "meter_id", base.DEC, nil)
+fields['of13.instruction_id_meter.type'] = ProtoField.uint16("of13.instruction_id_meter.type", "type", base.DEC, nil)
+fields['of13.instruction_id_meter.len'] = ProtoField.uint16("of13.instruction_id_meter.len", "len", base.DEC, nil)
+fields['of13.instruction_write_actions.type'] = ProtoField.uint32("of13.instruction_write_actions.type", "type", base.HEX, enum_v4_ofp_instruction_type)
+fields['of13.instruction_write_actions.len'] = ProtoField.uint16("of13.instruction_write_actions.len", "len", base.DEC, nil)
+fields['of13.instruction_write_actions.actions'] = ProtoField.bytes("of13.instruction_write_actions.actions", "actions")
+fields['of13.instruction_id_write_actions.type'] = ProtoField.uint16("of13.instruction_id_write_actions.type", "type", base.DEC, nil)
+fields['of13.instruction_id_write_actions.len'] = ProtoField.uint16("of13.instruction_id_write_actions.len", "len", base.DEC, nil)
+fields['of13.instruction_write_metadata.type'] = ProtoField.uint16("of13.instruction_write_metadata.type", "type", base.DEC, nil)
+fields['of13.instruction_write_metadata.len'] = ProtoField.uint16("of13.instruction_write_metadata.len", "len", base.DEC, nil)
+fields['of13.instruction_write_metadata.metadata'] = ProtoField.uint64("of13.instruction_write_metadata.metadata", "metadata", base.DEC, nil)
+fields['of13.instruction_write_metadata.metadata_mask'] = ProtoField.uint64("of13.instruction_write_metadata.metadata_mask", "metadata_mask", base.DEC, nil)
+fields['of13.instruction_id_write_metadata.type'] = ProtoField.uint16("of13.instruction_id_write_metadata.type", "type", base.DEC, nil)
+fields['of13.instruction_id_write_metadata.len'] = ProtoField.uint16("of13.instruction_id_write_metadata.len", "len", base.DEC, nil)
+fields['of13.match_v3.type'] = ProtoField.uint32("of13.match_v3.type", "type", base.DEC, enum_v4_ofp_match_type)
+fields['of13.match_v3.length'] = ProtoField.uint16("of13.match_v3.length", "length", base.DEC, nil)
+fields['of13.match_v3.oxm_list'] = ProtoField.bytes("of13.match_v3.oxm_list", "oxm_list")
+fields['of13.meter_band.type'] = ProtoField.uint16("of13.meter_band.type", "type", base.DEC, nil)
+fields['of13.meter_band.len'] = ProtoField.uint16("of13.meter_band.len", "len", base.DEC, nil)
+fields['of13.meter_band_drop.type'] = ProtoField.uint16("of13.meter_band_drop.type", "type", base.DEC, nil)
+fields['of13.meter_band_drop.len'] = ProtoField.uint16("of13.meter_band_drop.len", "len", base.DEC, nil)
+fields['of13.meter_band_drop.rate'] = ProtoField.uint32("of13.meter_band_drop.rate", "rate", base.DEC, nil)
+fields['of13.meter_band_drop.burst_size'] = ProtoField.uint32("of13.meter_band_drop.burst_size", "burst_size", base.DEC, nil)
+fields['of13.meter_band_dscp_remark.type'] = ProtoField.uint16("of13.meter_band_dscp_remark.type", "type", base.DEC, nil)
+fields['of13.meter_band_dscp_remark.len'] = ProtoField.uint16("of13.meter_band_dscp_remark.len", "len", base.DEC, nil)
+fields['of13.meter_band_dscp_remark.rate'] = ProtoField.uint32("of13.meter_band_dscp_remark.rate", "rate", base.DEC, nil)
+fields['of13.meter_band_dscp_remark.burst_size'] = ProtoField.uint32("of13.meter_band_dscp_remark.burst_size", "burst_size", base.DEC, nil)
+fields['of13.meter_band_dscp_remark.prec_level'] = ProtoField.uint8("of13.meter_band_dscp_remark.prec_level", "prec_level", base.DEC, nil)
+fields['of13.meter_band_experimenter.type'] = ProtoField.uint16("of13.meter_band_experimenter.type", "type", base.DEC, nil)
+fields['of13.meter_band_experimenter.len'] = ProtoField.uint16("of13.meter_band_experimenter.len", "len", base.DEC, nil)
+fields['of13.meter_band_experimenter.rate'] = ProtoField.uint32("of13.meter_band_experimenter.rate", "rate", base.DEC, nil)
+fields['of13.meter_band_experimenter.burst_size'] = ProtoField.uint32("of13.meter_band_experimenter.burst_size", "burst_size", base.DEC, nil)
+fields['of13.meter_band_experimenter.experimenter'] = ProtoField.uint32("of13.meter_band_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of13.meter_band_stats.packet_band_count'] = ProtoField.uint64("of13.meter_band_stats.packet_band_count", "packet_band_count", base.DEC, nil)
+fields['of13.meter_band_stats.byte_band_count'] = ProtoField.uint64("of13.meter_band_stats.byte_band_count", "byte_band_count", base.DEC, nil)
+fields['of13.meter_config.length'] = ProtoField.uint16("of13.meter_config.length", "length", base.DEC, nil)
+fields['of13.meter_config.flags'] = ProtoField.uint16("of13.meter_config.flags", "flags", base.DEC, nil)
+fields['of13.meter_config.meter_id'] = ProtoField.uint32("of13.meter_config.meter_id", "meter_id", base.DEC, nil)
+fields['of13.meter_config.entries'] = ProtoField.bytes("of13.meter_config.entries", "entries")
+fields['of13.meter_config_stats_reply.version'] = ProtoField.uint8("of13.meter_config_stats_reply.version", "version", base.DEC, nil)
+fields['of13.meter_config_stats_reply.type'] = ProtoField.uint8("of13.meter_config_stats_reply.type", "type", base.DEC, nil)
+fields['of13.meter_config_stats_reply.length'] = ProtoField.uint16("of13.meter_config_stats_reply.length", "length", base.DEC, nil)
+fields['of13.meter_config_stats_reply.xid'] = ProtoField.uint32("of13.meter_config_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.meter_config_stats_reply.stats_type'] = ProtoField.uint16("of13.meter_config_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.meter_config_stats_reply.flags'] = ProtoField.uint32("of13.meter_config_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.meter_config_stats_reply.entries'] = ProtoField.bytes("of13.meter_config_stats_reply.entries", "entries")
+fields['of13.meter_config_stats_request.version'] = ProtoField.uint8("of13.meter_config_stats_request.version", "version", base.DEC, nil)
+fields['of13.meter_config_stats_request.type'] = ProtoField.uint32("of13.meter_config_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.meter_config_stats_request.length'] = ProtoField.uint16("of13.meter_config_stats_request.length", "length", base.DEC, nil)
+fields['of13.meter_config_stats_request.xid'] = ProtoField.uint32("of13.meter_config_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.meter_config_stats_request.stats_type'] = ProtoField.uint32("of13.meter_config_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.meter_config_stats_request.flags'] = ProtoField.uint32("of13.meter_config_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.meter_config_stats_request.meter_id'] = ProtoField.uint32("of13.meter_config_stats_request.meter_id", "meter_id", base.DEC, nil)
+fields['of13.meter_features.max_meter'] = ProtoField.uint32("of13.meter_features.max_meter", "max_meter", base.DEC, nil)
+fields['of13.meter_features.band_types'] = ProtoField.uint32("of13.meter_features.band_types", "band_types", base.DEC, nil)
+fields['of13.meter_features.capabilities'] = ProtoField.uint32("of13.meter_features.capabilities", "capabilities", base.DEC, nil)
+fields['of13.meter_features.max_bands'] = ProtoField.uint8("of13.meter_features.max_bands", "max_bands", base.DEC, nil)
+fields['of13.meter_features.max_color'] = ProtoField.uint8("of13.meter_features.max_color", "max_color", base.DEC, nil)
+fields['of13.meter_features_stats_reply.version'] = ProtoField.uint8("of13.meter_features_stats_reply.version", "version", base.DEC, nil)
+fields['of13.meter_features_stats_reply.type'] = ProtoField.uint8("of13.meter_features_stats_reply.type", "type", base.DEC, nil)
+fields['of13.meter_features_stats_reply.length'] = ProtoField.uint16("of13.meter_features_stats_reply.length", "length", base.DEC, nil)
+fields['of13.meter_features_stats_reply.xid'] = ProtoField.uint32("of13.meter_features_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.meter_features_stats_reply.stats_type'] = ProtoField.uint16("of13.meter_features_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.meter_features_stats_reply.flags'] = ProtoField.uint32("of13.meter_features_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.meter_features_stats_reply.features'] = ProtoField.bytes("of13.meter_features_stats_reply.features", "features")
+fields['of13.meter_features_stats_request.version'] = ProtoField.uint8("of13.meter_features_stats_request.version", "version", base.DEC, nil)
+fields['of13.meter_features_stats_request.type'] = ProtoField.uint32("of13.meter_features_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.meter_features_stats_request.length'] = ProtoField.uint16("of13.meter_features_stats_request.length", "length", base.DEC, nil)
+fields['of13.meter_features_stats_request.xid'] = ProtoField.uint32("of13.meter_features_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.meter_features_stats_request.stats_type'] = ProtoField.uint32("of13.meter_features_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.meter_features_stats_request.flags'] = ProtoField.uint32("of13.meter_features_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.meter_mod.version'] = ProtoField.uint8("of13.meter_mod.version", "version", base.DEC, nil)
+fields['of13.meter_mod.type'] = ProtoField.uint8("of13.meter_mod.type", "type", base.DEC, nil)
+fields['of13.meter_mod.length'] = ProtoField.uint16("of13.meter_mod.length", "length", base.DEC, nil)
+fields['of13.meter_mod.xid'] = ProtoField.uint32("of13.meter_mod.xid", "xid", base.DEC, nil)
+fields['of13.meter_mod.command'] = ProtoField.uint16("of13.meter_mod.command", "command", base.DEC, nil)
+fields['of13.meter_mod.flags'] = ProtoField.uint16("of13.meter_mod.flags", "flags", base.DEC, nil)
+fields['of13.meter_mod.meter_id'] = ProtoField.uint32("of13.meter_mod.meter_id", "meter_id", base.DEC, nil)
+fields['of13.meter_mod.meters'] = ProtoField.bytes("of13.meter_mod.meters", "meters")
+fields['of13.meter_mod_failed_error_msg.version'] = ProtoField.uint8("of13.meter_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of13.meter_mod_failed_error_msg.type'] = ProtoField.uint8("of13.meter_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of13.meter_mod_failed_error_msg.length'] = ProtoField.uint16("of13.meter_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of13.meter_mod_failed_error_msg.xid'] = ProtoField.uint32("of13.meter_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.meter_mod_failed_error_msg.err_type'] = ProtoField.uint16("of13.meter_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.meter_mod_failed_error_msg.code'] = ProtoField.uint32("of13.meter_mod_failed_error_msg.code", "code", base.DEC, enum_v4_ofp_meter_mod_failed_code)
+fields['of13.meter_mod_failed_error_msg.data'] = ProtoField.bytes("of13.meter_mod_failed_error_msg.data", "data")
+fields['of13.meter_stats.meter_id'] = ProtoField.uint32("of13.meter_stats.meter_id", "meter_id", base.DEC, nil)
+fields['of13.meter_stats.len'] = ProtoField.uint16("of13.meter_stats.len", "len", base.DEC, nil)
+fields['of13.meter_stats.flow_count'] = ProtoField.uint32("of13.meter_stats.flow_count", "flow_count", base.DEC, nil)
+fields['of13.meter_stats.packet_in_count'] = ProtoField.uint64("of13.meter_stats.packet_in_count", "packet_in_count", base.DEC, nil)
+fields['of13.meter_stats.byte_in_count'] = ProtoField.uint64("of13.meter_stats.byte_in_count", "byte_in_count", base.DEC, nil)
+fields['of13.meter_stats.duration_sec'] = ProtoField.uint32("of13.meter_stats.duration_sec", "duration_sec", base.DEC, nil)
+fields['of13.meter_stats.duration_nsec'] = ProtoField.uint32("of13.meter_stats.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of13.meter_stats.band_stats'] = ProtoField.bytes("of13.meter_stats.band_stats", "band_stats")
+fields['of13.meter_stats_reply.version'] = ProtoField.uint8("of13.meter_stats_reply.version", "version", base.DEC, nil)
+fields['of13.meter_stats_reply.type'] = ProtoField.uint8("of13.meter_stats_reply.type", "type", base.DEC, nil)
+fields['of13.meter_stats_reply.length'] = ProtoField.uint16("of13.meter_stats_reply.length", "length", base.DEC, nil)
+fields['of13.meter_stats_reply.xid'] = ProtoField.uint32("of13.meter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.meter_stats_reply.stats_type'] = ProtoField.uint16("of13.meter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.meter_stats_reply.flags'] = ProtoField.uint32("of13.meter_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.meter_stats_reply.entries'] = ProtoField.bytes("of13.meter_stats_reply.entries", "entries")
+fields['of13.meter_stats_request.version'] = ProtoField.uint8("of13.meter_stats_request.version", "version", base.DEC, nil)
+fields['of13.meter_stats_request.type'] = ProtoField.uint32("of13.meter_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.meter_stats_request.length'] = ProtoField.uint16("of13.meter_stats_request.length", "length", base.DEC, nil)
+fields['of13.meter_stats_request.xid'] = ProtoField.uint32("of13.meter_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.meter_stats_request.stats_type'] = ProtoField.uint32("of13.meter_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.meter_stats_request.flags'] = ProtoField.uint32("of13.meter_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.meter_stats_request.meter_id'] = ProtoField.uint32("of13.meter_stats_request.meter_id", "meter_id", base.DEC, nil)
+fields['of13.nicira_header.version'] = ProtoField.uint8("of13.nicira_header.version", "version", base.DEC, nil)
+fields['of13.nicira_header.type'] = ProtoField.uint8("of13.nicira_header.type", "type", base.DEC, nil)
+fields['of13.nicira_header.length'] = ProtoField.uint16("of13.nicira_header.length", "length", base.DEC, nil)
+fields['of13.nicira_header.xid'] = ProtoField.uint32("of13.nicira_header.xid", "xid", base.DEC, nil)
+fields['of13.nicira_header.experimenter'] = ProtoField.uint32("of13.nicira_header.experimenter", "experimenter", base.DEC, nil)
+fields['of13.nicira_header.subtype'] = ProtoField.uint32("of13.nicira_header.subtype", "subtype", base.DEC, nil)
+fields['of13.oxm_arp_op.type_len'] = ProtoField.uint32("of13.oxm_arp_op.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_arp_op.value'] = ProtoField.uint16("of13.oxm_arp_op.value", "value", base.DEC, nil)
+fields['of13.oxm_arp_op_masked.type_len'] = ProtoField.uint32("of13.oxm_arp_op_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_arp_op_masked.value'] = ProtoField.uint16("of13.oxm_arp_op_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_arp_op_masked.value_mask'] = ProtoField.uint16("of13.oxm_arp_op_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_arp_sha.type_len'] = ProtoField.uint32("of13.oxm_arp_sha.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_arp_sha.value'] = ProtoField.ether("of13.oxm_arp_sha.value", "value")
+fields['of13.oxm_arp_sha_masked.type_len'] = ProtoField.uint32("of13.oxm_arp_sha_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_arp_sha_masked.value'] = ProtoField.ether("of13.oxm_arp_sha_masked.value", "value")
+fields['of13.oxm_arp_sha_masked.value_mask'] = ProtoField.ether("of13.oxm_arp_sha_masked.value_mask", "value_mask")
+fields['of13.oxm_arp_spa.type_len'] = ProtoField.uint32("of13.oxm_arp_spa.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_arp_spa.value'] = ProtoField.uint32("of13.oxm_arp_spa.value", "value", base.DEC, nil)
+fields['of13.oxm_arp_spa_masked.type_len'] = ProtoField.uint32("of13.oxm_arp_spa_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_arp_spa_masked.value'] = ProtoField.uint32("of13.oxm_arp_spa_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_arp_spa_masked.value_mask'] = ProtoField.uint32("of13.oxm_arp_spa_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_arp_tha.type_len'] = ProtoField.uint32("of13.oxm_arp_tha.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_arp_tha.value'] = ProtoField.ether("of13.oxm_arp_tha.value", "value")
+fields['of13.oxm_arp_tha_masked.type_len'] = ProtoField.uint32("of13.oxm_arp_tha_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_arp_tha_masked.value'] = ProtoField.ether("of13.oxm_arp_tha_masked.value", "value")
+fields['of13.oxm_arp_tha_masked.value_mask'] = ProtoField.ether("of13.oxm_arp_tha_masked.value_mask", "value_mask")
+fields['of13.oxm_arp_tpa.type_len'] = ProtoField.uint32("of13.oxm_arp_tpa.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_arp_tpa.value'] = ProtoField.uint32("of13.oxm_arp_tpa.value", "value", base.DEC, nil)
+fields['of13.oxm_arp_tpa_masked.type_len'] = ProtoField.uint32("of13.oxm_arp_tpa_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_arp_tpa_masked.value'] = ProtoField.uint32("of13.oxm_arp_tpa_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_arp_tpa_masked.value_mask'] = ProtoField.uint32("of13.oxm_arp_tpa_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_egr_port_group_id.type_len'] = ProtoField.uint32("of13.oxm_bsn_egr_port_group_id.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_egr_port_group_id.value'] = ProtoField.uint32("of13.oxm_bsn_egr_port_group_id.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_egr_port_group_id_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_egr_port_group_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_egr_port_group_id_masked.value'] = ProtoField.uint32("of13.oxm_bsn_egr_port_group_id_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_egr_port_group_id_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_egr_port_group_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_global_vrf_allowed.type_len'] = ProtoField.uint32("of13.oxm_bsn_global_vrf_allowed.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_global_vrf_allowed.value'] = ProtoField.uint8("of13.oxm_bsn_global_vrf_allowed.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_global_vrf_allowed_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_global_vrf_allowed_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_global_vrf_allowed_masked.value'] = ProtoField.uint8("of13.oxm_bsn_global_vrf_allowed_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_global_vrf_allowed_masked.value_mask'] = ProtoField.uint8("of13.oxm_bsn_global_vrf_allowed_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_in_ports_128.type_len'] = ProtoField.uint32("of13.oxm_bsn_in_ports_128.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_in_ports_128.value'] = ProtoField.bytes("of13.oxm_bsn_in_ports_128.value", "value")
+fields['of13.oxm_bsn_in_ports_128_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_in_ports_128_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_in_ports_128_masked.value'] = ProtoField.bytes("of13.oxm_bsn_in_ports_128_masked.value", "value")
+fields['of13.oxm_bsn_in_ports_128_masked.value_mask'] = ProtoField.bytes("of13.oxm_bsn_in_ports_128_masked.value_mask", "value_mask")
+fields['of13.oxm_bsn_l3_dst_class_id.type_len'] = ProtoField.uint32("of13.oxm_bsn_l3_dst_class_id.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_l3_dst_class_id.value'] = ProtoField.uint32("of13.oxm_bsn_l3_dst_class_id.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_l3_dst_class_id_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_l3_dst_class_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_l3_dst_class_id_masked.value'] = ProtoField.uint32("of13.oxm_bsn_l3_dst_class_id_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_l3_dst_class_id_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_l3_dst_class_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_l3_interface_class_id.type_len'] = ProtoField.uint32("of13.oxm_bsn_l3_interface_class_id.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_l3_interface_class_id.value'] = ProtoField.uint32("of13.oxm_bsn_l3_interface_class_id.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_l3_interface_class_id_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_l3_interface_class_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_l3_interface_class_id_masked.value'] = ProtoField.uint32("of13.oxm_bsn_l3_interface_class_id_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_l3_interface_class_id_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_l3_interface_class_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_l3_src_class_id.type_len'] = ProtoField.uint32("of13.oxm_bsn_l3_src_class_id.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_l3_src_class_id.value'] = ProtoField.uint32("of13.oxm_bsn_l3_src_class_id.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_l3_src_class_id_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_l3_src_class_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_l3_src_class_id_masked.value'] = ProtoField.uint32("of13.oxm_bsn_l3_src_class_id_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_l3_src_class_id_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_l3_src_class_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_lag_id.type_len'] = ProtoField.uint32("of13.oxm_bsn_lag_id.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_lag_id.value'] = ProtoField.uint32("of13.oxm_bsn_lag_id.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_lag_id_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_lag_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_lag_id_masked.value'] = ProtoField.uint32("of13.oxm_bsn_lag_id_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_lag_id_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_lag_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_tcp_flags.type_len'] = ProtoField.uint32("of13.oxm_bsn_tcp_flags.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_tcp_flags.value'] = ProtoField.uint16("of13.oxm_bsn_tcp_flags.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_tcp_flags_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_tcp_flags_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_tcp_flags_masked.value'] = ProtoField.uint16("of13.oxm_bsn_tcp_flags_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_tcp_flags_masked.value_mask'] = ProtoField.uint16("of13.oxm_bsn_tcp_flags_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_udf0.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf0.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf0.value'] = ProtoField.uint32("of13.oxm_bsn_udf0.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf0_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf0_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf0_masked.value'] = ProtoField.uint32("of13.oxm_bsn_udf0_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf0_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_udf0_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_udf1.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf1.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf1.value'] = ProtoField.uint32("of13.oxm_bsn_udf1.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf1_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf1_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf1_masked.value'] = ProtoField.uint32("of13.oxm_bsn_udf1_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf1_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_udf1_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_udf2.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf2.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf2.value'] = ProtoField.uint32("of13.oxm_bsn_udf2.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf2_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf2_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf2_masked.value'] = ProtoField.uint32("of13.oxm_bsn_udf2_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf2_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_udf2_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_udf3.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf3.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf3.value'] = ProtoField.uint32("of13.oxm_bsn_udf3.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf3_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf3_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf3_masked.value'] = ProtoField.uint32("of13.oxm_bsn_udf3_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf3_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_udf3_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_udf4.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf4.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf4.value'] = ProtoField.uint32("of13.oxm_bsn_udf4.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf4_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf4_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf4_masked.value'] = ProtoField.uint32("of13.oxm_bsn_udf4_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf4_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_udf4_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_udf5.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf5.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf5.value'] = ProtoField.uint32("of13.oxm_bsn_udf5.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf5_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf5_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf5_masked.value'] = ProtoField.uint32("of13.oxm_bsn_udf5_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf5_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_udf5_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_udf6.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf6.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf6.value'] = ProtoField.uint32("of13.oxm_bsn_udf6.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf6_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf6_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf6_masked.value'] = ProtoField.uint32("of13.oxm_bsn_udf6_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf6_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_udf6_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_udf7.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf7.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf7.value'] = ProtoField.uint32("of13.oxm_bsn_udf7.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf7_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_udf7_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_udf7_masked.value'] = ProtoField.uint32("of13.oxm_bsn_udf7_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_udf7_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_udf7_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_vlan_xlate_port_group_id.type_len'] = ProtoField.uint32("of13.oxm_bsn_vlan_xlate_port_group_id.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_vlan_xlate_port_group_id.value'] = ProtoField.uint32("of13.oxm_bsn_vlan_xlate_port_group_id.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_vlan_xlate_port_group_id_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_vlan_xlate_port_group_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_vlan_xlate_port_group_id_masked.value'] = ProtoField.uint32("of13.oxm_bsn_vlan_xlate_port_group_id_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_bsn_vrf.type_len'] = ProtoField.uint32("of13.oxm_bsn_vrf.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_vrf.value'] = ProtoField.uint32("of13.oxm_bsn_vrf.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_vrf_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_vrf_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_vrf_masked.value'] = ProtoField.uint32("of13.oxm_bsn_vrf_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_vrf_masked.value_mask'] = ProtoField.uint32("of13.oxm_bsn_vrf_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_eth_dst.type_len'] = ProtoField.uint32("of13.oxm_eth_dst.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_eth_dst.value'] = ProtoField.ether("of13.oxm_eth_dst.value", "value")
+fields['of13.oxm_eth_dst_masked.type_len'] = ProtoField.uint32("of13.oxm_eth_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_eth_dst_masked.value'] = ProtoField.ether("of13.oxm_eth_dst_masked.value", "value")
+fields['of13.oxm_eth_dst_masked.value_mask'] = ProtoField.ether("of13.oxm_eth_dst_masked.value_mask", "value_mask")
+fields['of13.oxm_eth_src.type_len'] = ProtoField.uint32("of13.oxm_eth_src.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_eth_src.value'] = ProtoField.ether("of13.oxm_eth_src.value", "value")
+fields['of13.oxm_eth_src_masked.type_len'] = ProtoField.uint32("of13.oxm_eth_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_eth_src_masked.value'] = ProtoField.ether("of13.oxm_eth_src_masked.value", "value")
+fields['of13.oxm_eth_src_masked.value_mask'] = ProtoField.ether("of13.oxm_eth_src_masked.value_mask", "value_mask")
+fields['of13.oxm_eth_type.type_len'] = ProtoField.uint32("of13.oxm_eth_type.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_eth_type.value'] = ProtoField.uint16("of13.oxm_eth_type.value", "value", base.DEC, nil)
+fields['of13.oxm_eth_type_masked.type_len'] = ProtoField.uint32("of13.oxm_eth_type_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_eth_type_masked.value'] = ProtoField.uint16("of13.oxm_eth_type_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_eth_type_masked.value_mask'] = ProtoField.uint16("of13.oxm_eth_type_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_icmpv4_code.type_len'] = ProtoField.uint32("of13.oxm_icmpv4_code.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_icmpv4_code.value'] = ProtoField.uint8("of13.oxm_icmpv4_code.value", "value", base.DEC, nil)
+fields['of13.oxm_icmpv4_code_masked.type_len'] = ProtoField.uint32("of13.oxm_icmpv4_code_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_icmpv4_code_masked.value'] = ProtoField.uint8("of13.oxm_icmpv4_code_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_icmpv4_code_masked.value_mask'] = ProtoField.uint8("of13.oxm_icmpv4_code_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_icmpv4_type.type_len'] = ProtoField.uint32("of13.oxm_icmpv4_type.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_icmpv4_type.value'] = ProtoField.uint8("of13.oxm_icmpv4_type.value", "value", base.DEC, nil)
+fields['of13.oxm_icmpv4_type_masked.type_len'] = ProtoField.uint32("of13.oxm_icmpv4_type_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_icmpv4_type_masked.value'] = ProtoField.uint8("of13.oxm_icmpv4_type_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_icmpv4_type_masked.value_mask'] = ProtoField.uint8("of13.oxm_icmpv4_type_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_icmpv6_code.type_len'] = ProtoField.uint32("of13.oxm_icmpv6_code.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_icmpv6_code.value'] = ProtoField.uint8("of13.oxm_icmpv6_code.value", "value", base.DEC, nil)
+fields['of13.oxm_icmpv6_code_masked.type_len'] = ProtoField.uint32("of13.oxm_icmpv6_code_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_icmpv6_code_masked.value'] = ProtoField.uint8("of13.oxm_icmpv6_code_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_icmpv6_code_masked.value_mask'] = ProtoField.uint8("of13.oxm_icmpv6_code_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_icmpv6_type.type_len'] = ProtoField.uint32("of13.oxm_icmpv6_type.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_icmpv6_type.value'] = ProtoField.uint8("of13.oxm_icmpv6_type.value", "value", base.DEC, nil)
+fields['of13.oxm_icmpv6_type_masked.type_len'] = ProtoField.uint32("of13.oxm_icmpv6_type_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_icmpv6_type_masked.value'] = ProtoField.uint8("of13.oxm_icmpv6_type_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_icmpv6_type_masked.value_mask'] = ProtoField.uint8("of13.oxm_icmpv6_type_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_in_phy_port.type_len'] = ProtoField.uint32("of13.oxm_in_phy_port.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_in_phy_port.value'] = ProtoField.uint32("of13.oxm_in_phy_port.value", "value", base.DEC, nil)
+fields['of13.oxm_in_phy_port_masked.type_len'] = ProtoField.uint32("of13.oxm_in_phy_port_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_in_phy_port_masked.value'] = ProtoField.uint32("of13.oxm_in_phy_port_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_in_phy_port_masked.value_mask'] = ProtoField.uint32("of13.oxm_in_phy_port_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_in_port.type_len'] = ProtoField.uint32("of13.oxm_in_port.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_in_port.value'] = ProtoField.uint32("of13.oxm_in_port.value", "value", base.DEC, nil)
+fields['of13.oxm_in_port_masked.type_len'] = ProtoField.uint32("of13.oxm_in_port_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_in_port_masked.value'] = ProtoField.uint32("of13.oxm_in_port_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_in_port_masked.value_mask'] = ProtoField.uint32("of13.oxm_in_port_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_ip_dscp.type_len'] = ProtoField.uint32("of13.oxm_ip_dscp.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ip_dscp.value'] = ProtoField.uint8("of13.oxm_ip_dscp.value", "value", base.DEC, nil)
+fields['of13.oxm_ip_dscp_masked.type_len'] = ProtoField.uint32("of13.oxm_ip_dscp_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ip_dscp_masked.value'] = ProtoField.uint8("of13.oxm_ip_dscp_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_ip_dscp_masked.value_mask'] = ProtoField.uint8("of13.oxm_ip_dscp_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_ip_ecn.type_len'] = ProtoField.uint32("of13.oxm_ip_ecn.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ip_ecn.value'] = ProtoField.uint8("of13.oxm_ip_ecn.value", "value", base.DEC, nil)
+fields['of13.oxm_ip_ecn_masked.type_len'] = ProtoField.uint32("of13.oxm_ip_ecn_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ip_ecn_masked.value'] = ProtoField.uint8("of13.oxm_ip_ecn_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_ip_ecn_masked.value_mask'] = ProtoField.uint8("of13.oxm_ip_ecn_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_ip_proto.type_len'] = ProtoField.uint32("of13.oxm_ip_proto.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ip_proto.value'] = ProtoField.uint8("of13.oxm_ip_proto.value", "value", base.DEC, nil)
+fields['of13.oxm_ip_proto_masked.type_len'] = ProtoField.uint32("of13.oxm_ip_proto_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ip_proto_masked.value'] = ProtoField.uint8("of13.oxm_ip_proto_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_ip_proto_masked.value_mask'] = ProtoField.uint8("of13.oxm_ip_proto_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_ipv4_dst.type_len'] = ProtoField.uint32("of13.oxm_ipv4_dst.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv4_dst.value'] = ProtoField.ipv4("of13.oxm_ipv4_dst.value", "value")
+fields['of13.oxm_ipv4_dst_masked.type_len'] = ProtoField.uint32("of13.oxm_ipv4_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv4_dst_masked.value'] = ProtoField.ipv4("of13.oxm_ipv4_dst_masked.value", "value")
+fields['of13.oxm_ipv4_dst_masked.value_mask'] = ProtoField.ipv4("of13.oxm_ipv4_dst_masked.value_mask", "value_mask")
+fields['of13.oxm_ipv4_src.type_len'] = ProtoField.uint32("of13.oxm_ipv4_src.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv4_src.value'] = ProtoField.ipv4("of13.oxm_ipv4_src.value", "value")
+fields['of13.oxm_ipv4_src_masked.type_len'] = ProtoField.uint32("of13.oxm_ipv4_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv4_src_masked.value'] = ProtoField.ipv4("of13.oxm_ipv4_src_masked.value", "value")
+fields['of13.oxm_ipv4_src_masked.value_mask'] = ProtoField.ipv4("of13.oxm_ipv4_src_masked.value_mask", "value_mask")
+fields['of13.oxm_ipv6_dst.type_len'] = ProtoField.uint32("of13.oxm_ipv6_dst.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_dst.value'] = ProtoField.ipv6("of13.oxm_ipv6_dst.value", "value")
+fields['of13.oxm_ipv6_dst_masked.type_len'] = ProtoField.uint32("of13.oxm_ipv6_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_dst_masked.value'] = ProtoField.ipv6("of13.oxm_ipv6_dst_masked.value", "value")
+fields['of13.oxm_ipv6_dst_masked.value_mask'] = ProtoField.ipv6("of13.oxm_ipv6_dst_masked.value_mask", "value_mask")
+fields['of13.oxm_ipv6_flabel.type_len'] = ProtoField.uint32("of13.oxm_ipv6_flabel.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_flabel.value'] = ProtoField.uint32("of13.oxm_ipv6_flabel.value", "value", base.DEC, nil)
+fields['of13.oxm_ipv6_flabel_masked.type_len'] = ProtoField.uint32("of13.oxm_ipv6_flabel_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_flabel_masked.value'] = ProtoField.uint32("of13.oxm_ipv6_flabel_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_ipv6_flabel_masked.value_mask'] = ProtoField.uint32("of13.oxm_ipv6_flabel_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_ipv6_nd_sll.type_len'] = ProtoField.uint32("of13.oxm_ipv6_nd_sll.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_nd_sll.value'] = ProtoField.ether("of13.oxm_ipv6_nd_sll.value", "value")
+fields['of13.oxm_ipv6_nd_sll_masked.type_len'] = ProtoField.uint32("of13.oxm_ipv6_nd_sll_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_nd_sll_masked.value'] = ProtoField.ether("of13.oxm_ipv6_nd_sll_masked.value", "value")
+fields['of13.oxm_ipv6_nd_sll_masked.value_mask'] = ProtoField.ether("of13.oxm_ipv6_nd_sll_masked.value_mask", "value_mask")
+fields['of13.oxm_ipv6_nd_target.type_len'] = ProtoField.uint32("of13.oxm_ipv6_nd_target.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_nd_target.value'] = ProtoField.ipv6("of13.oxm_ipv6_nd_target.value", "value")
+fields['of13.oxm_ipv6_nd_target_masked.type_len'] = ProtoField.uint32("of13.oxm_ipv6_nd_target_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_nd_target_masked.value'] = ProtoField.ipv6("of13.oxm_ipv6_nd_target_masked.value", "value")
+fields['of13.oxm_ipv6_nd_target_masked.value_mask'] = ProtoField.ipv6("of13.oxm_ipv6_nd_target_masked.value_mask", "value_mask")
+fields['of13.oxm_ipv6_nd_tll.type_len'] = ProtoField.uint32("of13.oxm_ipv6_nd_tll.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_nd_tll.value'] = ProtoField.ether("of13.oxm_ipv6_nd_tll.value", "value")
+fields['of13.oxm_ipv6_nd_tll_masked.type_len'] = ProtoField.uint32("of13.oxm_ipv6_nd_tll_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_nd_tll_masked.value'] = ProtoField.ether("of13.oxm_ipv6_nd_tll_masked.value", "value")
+fields['of13.oxm_ipv6_nd_tll_masked.value_mask'] = ProtoField.ether("of13.oxm_ipv6_nd_tll_masked.value_mask", "value_mask")
+fields['of13.oxm_ipv6_src.type_len'] = ProtoField.uint32("of13.oxm_ipv6_src.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_src.value'] = ProtoField.ipv6("of13.oxm_ipv6_src.value", "value")
+fields['of13.oxm_ipv6_src_masked.type_len'] = ProtoField.uint32("of13.oxm_ipv6_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_src_masked.value'] = ProtoField.ipv6("of13.oxm_ipv6_src_masked.value", "value")
+fields['of13.oxm_ipv6_src_masked.value_mask'] = ProtoField.ipv6("of13.oxm_ipv6_src_masked.value_mask", "value_mask")
+fields['of13.oxm_metadata.type_len'] = ProtoField.uint32("of13.oxm_metadata.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_metadata.value'] = ProtoField.uint64("of13.oxm_metadata.value", "value", base.DEC, nil)
+fields['of13.oxm_metadata_masked.type_len'] = ProtoField.uint32("of13.oxm_metadata_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_metadata_masked.value'] = ProtoField.uint64("of13.oxm_metadata_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_metadata_masked.value_mask'] = ProtoField.uint64("of13.oxm_metadata_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_mpls_label.type_len'] = ProtoField.uint32("of13.oxm_mpls_label.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_mpls_label.value'] = ProtoField.uint32("of13.oxm_mpls_label.value", "value", base.DEC, nil)
+fields['of13.oxm_mpls_label_masked.type_len'] = ProtoField.uint32("of13.oxm_mpls_label_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_mpls_label_masked.value'] = ProtoField.uint32("of13.oxm_mpls_label_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_mpls_label_masked.value_mask'] = ProtoField.uint32("of13.oxm_mpls_label_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_mpls_tc.type_len'] = ProtoField.uint32("of13.oxm_mpls_tc.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_mpls_tc.value'] = ProtoField.uint8("of13.oxm_mpls_tc.value", "value", base.DEC, nil)
+fields['of13.oxm_mpls_tc_masked.type_len'] = ProtoField.uint32("of13.oxm_mpls_tc_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_mpls_tc_masked.value'] = ProtoField.uint8("of13.oxm_mpls_tc_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_mpls_tc_masked.value_mask'] = ProtoField.uint8("of13.oxm_mpls_tc_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_sctp_dst.type_len'] = ProtoField.uint32("of13.oxm_sctp_dst.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_sctp_dst.value'] = ProtoField.uint16("of13.oxm_sctp_dst.value", "value", base.DEC, nil)
+fields['of13.oxm_sctp_dst_masked.type_len'] = ProtoField.uint32("of13.oxm_sctp_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_sctp_dst_masked.value'] = ProtoField.uint16("of13.oxm_sctp_dst_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_sctp_dst_masked.value_mask'] = ProtoField.uint16("of13.oxm_sctp_dst_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_sctp_src.type_len'] = ProtoField.uint32("of13.oxm_sctp_src.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_sctp_src.value'] = ProtoField.uint16("of13.oxm_sctp_src.value", "value", base.DEC, nil)
+fields['of13.oxm_sctp_src_masked.type_len'] = ProtoField.uint32("of13.oxm_sctp_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_sctp_src_masked.value'] = ProtoField.uint16("of13.oxm_sctp_src_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_sctp_src_masked.value_mask'] = ProtoField.uint16("of13.oxm_sctp_src_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_tcp_dst.type_len'] = ProtoField.uint32("of13.oxm_tcp_dst.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_tcp_dst.value'] = ProtoField.uint16("of13.oxm_tcp_dst.value", "value", base.DEC, nil)
+fields['of13.oxm_tcp_dst_masked.type_len'] = ProtoField.uint32("of13.oxm_tcp_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_tcp_dst_masked.value'] = ProtoField.uint16("of13.oxm_tcp_dst_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_tcp_dst_masked.value_mask'] = ProtoField.uint16("of13.oxm_tcp_dst_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_tcp_src.type_len'] = ProtoField.uint32("of13.oxm_tcp_src.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_tcp_src.value'] = ProtoField.uint16("of13.oxm_tcp_src.value", "value", base.DEC, nil)
+fields['of13.oxm_tcp_src_masked.type_len'] = ProtoField.uint32("of13.oxm_tcp_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_tcp_src_masked.value'] = ProtoField.uint16("of13.oxm_tcp_src_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_tcp_src_masked.value_mask'] = ProtoField.uint16("of13.oxm_tcp_src_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_tunnel_id.type_len'] = ProtoField.uint32("of13.oxm_tunnel_id.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_tunnel_id.value'] = ProtoField.uint64("of13.oxm_tunnel_id.value", "value", base.DEC, nil)
+fields['of13.oxm_tunnel_id_masked.type_len'] = ProtoField.uint32("of13.oxm_tunnel_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_tunnel_id_masked.value'] = ProtoField.uint64("of13.oxm_tunnel_id_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_tunnel_id_masked.value_mask'] = ProtoField.uint64("of13.oxm_tunnel_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_udp_dst.type_len'] = ProtoField.uint32("of13.oxm_udp_dst.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_udp_dst.value'] = ProtoField.uint16("of13.oxm_udp_dst.value", "value", base.DEC, nil)
+fields['of13.oxm_udp_dst_masked.type_len'] = ProtoField.uint32("of13.oxm_udp_dst_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_udp_dst_masked.value'] = ProtoField.uint16("of13.oxm_udp_dst_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_udp_dst_masked.value_mask'] = ProtoField.uint16("of13.oxm_udp_dst_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_udp_src.type_len'] = ProtoField.uint32("of13.oxm_udp_src.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_udp_src.value'] = ProtoField.uint16("of13.oxm_udp_src.value", "value", base.DEC, nil)
+fields['of13.oxm_udp_src_masked.type_len'] = ProtoField.uint32("of13.oxm_udp_src_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_udp_src_masked.value'] = ProtoField.uint16("of13.oxm_udp_src_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_udp_src_masked.value_mask'] = ProtoField.uint16("of13.oxm_udp_src_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_vlan_pcp.type_len'] = ProtoField.uint32("of13.oxm_vlan_pcp.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_vlan_pcp.value'] = ProtoField.uint8("of13.oxm_vlan_pcp.value", "value", base.DEC, nil)
+fields['of13.oxm_vlan_pcp_masked.type_len'] = ProtoField.uint32("of13.oxm_vlan_pcp_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_vlan_pcp_masked.value'] = ProtoField.uint8("of13.oxm_vlan_pcp_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_vlan_pcp_masked.value_mask'] = ProtoField.uint8("of13.oxm_vlan_pcp_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_vlan_vid.type_len'] = ProtoField.uint32("of13.oxm_vlan_vid.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_vlan_vid.value'] = ProtoField.uint16("of13.oxm_vlan_vid.value", "value", base.DEC, nil)
+fields['of13.oxm_vlan_vid_masked.type_len'] = ProtoField.uint32("of13.oxm_vlan_vid_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_vlan_vid_masked.value'] = ProtoField.uint16("of13.oxm_vlan_vid_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_vlan_vid_masked.value_mask'] = ProtoField.uint16("of13.oxm_vlan_vid_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.packet_in.version'] = ProtoField.uint8("of13.packet_in.version", "version", base.DEC, nil)
+fields['of13.packet_in.type'] = ProtoField.uint32("of13.packet_in.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.packet_in.length'] = ProtoField.uint16("of13.packet_in.length", "length", base.DEC, nil)
+fields['of13.packet_in.xid'] = ProtoField.uint32("of13.packet_in.xid", "xid", base.DEC, nil)
+fields['of13.packet_in.buffer_id'] = ProtoField.uint32("of13.packet_in.buffer_id", "buffer_id", base.DEC, nil)
+fields['of13.packet_in.total_len'] = ProtoField.uint16("of13.packet_in.total_len", "total_len", base.DEC, nil)
+fields['of13.packet_in.reason'] = ProtoField.uint32("of13.packet_in.reason", "reason", base.DEC, enum_v4_ofp_packet_in_reason)
+fields['of13.packet_in.table_id'] = ProtoField.uint8("of13.packet_in.table_id", "table_id", base.DEC, nil)
+fields['of13.packet_in.cookie'] = ProtoField.uint64("of13.packet_in.cookie", "cookie", base.DEC, nil)
+fields['of13.packet_in.match'] = ProtoField.bytes("of13.packet_in.match", "match")
+fields['of13.packet_in.data'] = ProtoField.bytes("of13.packet_in.data", "data")
+fields['of13.packet_out.version'] = ProtoField.uint8("of13.packet_out.version", "version", base.DEC, nil)
+fields['of13.packet_out.type'] = ProtoField.uint32("of13.packet_out.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.packet_out.length'] = ProtoField.uint16("of13.packet_out.length", "length", base.DEC, nil)
+fields['of13.packet_out.xid'] = ProtoField.uint32("of13.packet_out.xid", "xid", base.DEC, nil)
+fields['of13.packet_out.buffer_id'] = ProtoField.uint32("of13.packet_out.buffer_id", "buffer_id", base.DEC, nil)
+fields['of13.packet_out.in_port'] = ProtoField.uint32("of13.packet_out.in_port", "in_port", base.DEC, nil)
+fields['of13.packet_out.actions_len'] = ProtoField.uint16("of13.packet_out.actions_len", "actions_len", base.DEC, nil)
+fields['of13.packet_out.actions'] = ProtoField.bytes("of13.packet_out.actions", "actions")
+fields['of13.packet_out.data'] = ProtoField.bytes("of13.packet_out.data", "data")
+fields['of13.packet_queue.queue_id'] = ProtoField.uint32("of13.packet_queue.queue_id", "queue_id", base.DEC, nil)
+fields['of13.packet_queue.port'] = ProtoField.uint32("of13.packet_queue.port", "port", base.DEC, nil)
+fields['of13.packet_queue.len'] = ProtoField.uint16("of13.packet_queue.len", "len", base.DEC, nil)
+fields['of13.packet_queue.properties'] = ProtoField.bytes("of13.packet_queue.properties", "properties")
+fields['of13.port_desc.port_no'] = ProtoField.uint32("of13.port_desc.port_no", "port_no", base.DEC, nil)
+fields['of13.port_desc.hw_addr'] = ProtoField.ether("of13.port_desc.hw_addr", "hw_addr")
+fields['of13.port_desc.name'] = ProtoField.stringz("of13.port_desc.name", "name")
+fields['of13.port_desc.config'] = ProtoField.uint32("of13.port_desc.config", "config", base.HEX, enum_v4_ofp_port_config)
+fields['of13.port_desc.state'] = ProtoField.uint32("of13.port_desc.state", "state", base.HEX, enum_v4_ofp_port_state)
+fields['of13.port_desc.curr'] = ProtoField.uint32("of13.port_desc.curr", "curr", base.HEX, enum_v4_ofp_port_features)
+fields['of13.port_desc.advertised'] = ProtoField.uint32("of13.port_desc.advertised", "advertised", base.HEX, enum_v4_ofp_port_features)
+fields['of13.port_desc.supported'] = ProtoField.uint32("of13.port_desc.supported", "supported", base.HEX, enum_v4_ofp_port_features)
+fields['of13.port_desc.peer'] = ProtoField.uint32("of13.port_desc.peer", "peer", base.HEX, enum_v4_ofp_port_features)
+fields['of13.port_desc.curr_speed'] = ProtoField.uint32("of13.port_desc.curr_speed", "curr_speed", base.DEC, nil)
+fields['of13.port_desc.max_speed'] = ProtoField.uint32("of13.port_desc.max_speed", "max_speed", base.DEC, nil)
+fields['of13.port_desc_stats_reply.version'] = ProtoField.uint8("of13.port_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of13.port_desc_stats_reply.type'] = ProtoField.uint32("of13.port_desc_stats_reply.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.port_desc_stats_reply.length'] = ProtoField.uint16("of13.port_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of13.port_desc_stats_reply.xid'] = ProtoField.uint32("of13.port_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.port_desc_stats_reply.stats_type'] = ProtoField.uint32("of13.port_desc_stats_reply.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.port_desc_stats_reply.flags'] = ProtoField.uint32("of13.port_desc_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.port_desc_stats_reply.entries'] = ProtoField.bytes("of13.port_desc_stats_reply.entries", "entries")
+fields['of13.port_desc_stats_request.version'] = ProtoField.uint8("of13.port_desc_stats_request.version", "version", base.DEC, nil)
+fields['of13.port_desc_stats_request.type'] = ProtoField.uint32("of13.port_desc_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.port_desc_stats_request.length'] = ProtoField.uint16("of13.port_desc_stats_request.length", "length", base.DEC, nil)
+fields['of13.port_desc_stats_request.xid'] = ProtoField.uint32("of13.port_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.port_desc_stats_request.stats_type'] = ProtoField.uint32("of13.port_desc_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.port_desc_stats_request.flags'] = ProtoField.uint32("of13.port_desc_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.port_mod.version'] = ProtoField.uint8("of13.port_mod.version", "version", base.DEC, nil)
+fields['of13.port_mod.type'] = ProtoField.uint32("of13.port_mod.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.port_mod.length'] = ProtoField.uint16("of13.port_mod.length", "length", base.DEC, nil)
+fields['of13.port_mod.xid'] = ProtoField.uint32("of13.port_mod.xid", "xid", base.DEC, nil)
+fields['of13.port_mod.port_no'] = ProtoField.uint32("of13.port_mod.port_no", "port_no", base.DEC, nil)
+fields['of13.port_mod.hw_addr'] = ProtoField.ether("of13.port_mod.hw_addr", "hw_addr")
+fields['of13.port_mod.config'] = ProtoField.uint32("of13.port_mod.config", "config", base.DEC, nil)
+fields['of13.port_mod.mask'] = ProtoField.uint32("of13.port_mod.mask", "mask", base.DEC, nil)
+fields['of13.port_mod.advertise'] = ProtoField.uint32("of13.port_mod.advertise", "advertise", base.DEC, nil)
+fields['of13.port_mod_failed_error_msg.version'] = ProtoField.uint8("of13.port_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of13.port_mod_failed_error_msg.type'] = ProtoField.uint8("of13.port_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of13.port_mod_failed_error_msg.length'] = ProtoField.uint16("of13.port_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of13.port_mod_failed_error_msg.xid'] = ProtoField.uint32("of13.port_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.port_mod_failed_error_msg.err_type'] = ProtoField.uint16("of13.port_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.port_mod_failed_error_msg.code'] = ProtoField.uint32("of13.port_mod_failed_error_msg.code", "code", base.DEC, enum_v4_ofp_port_mod_failed_code)
+fields['of13.port_mod_failed_error_msg.data'] = ProtoField.bytes("of13.port_mod_failed_error_msg.data", "data")
+fields['of13.port_stats_entry.port_no'] = ProtoField.uint32("of13.port_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of13.port_stats_entry.rx_packets'] = ProtoField.uint64("of13.port_stats_entry.rx_packets", "rx_packets", base.DEC, nil)
+fields['of13.port_stats_entry.tx_packets'] = ProtoField.uint64("of13.port_stats_entry.tx_packets", "tx_packets", base.DEC, nil)
+fields['of13.port_stats_entry.rx_bytes'] = ProtoField.uint64("of13.port_stats_entry.rx_bytes", "rx_bytes", base.DEC, nil)
+fields['of13.port_stats_entry.tx_bytes'] = ProtoField.uint64("of13.port_stats_entry.tx_bytes", "tx_bytes", base.DEC, nil)
+fields['of13.port_stats_entry.rx_dropped'] = ProtoField.uint64("of13.port_stats_entry.rx_dropped", "rx_dropped", base.DEC, nil)
+fields['of13.port_stats_entry.tx_dropped'] = ProtoField.uint64("of13.port_stats_entry.tx_dropped", "tx_dropped", base.DEC, nil)
+fields['of13.port_stats_entry.rx_errors'] = ProtoField.uint64("of13.port_stats_entry.rx_errors", "rx_errors", base.DEC, nil)
+fields['of13.port_stats_entry.tx_errors'] = ProtoField.uint64("of13.port_stats_entry.tx_errors", "tx_errors", base.DEC, nil)
+fields['of13.port_stats_entry.rx_frame_err'] = ProtoField.uint64("of13.port_stats_entry.rx_frame_err", "rx_frame_err", base.DEC, nil)
+fields['of13.port_stats_entry.rx_over_err'] = ProtoField.uint64("of13.port_stats_entry.rx_over_err", "rx_over_err", base.DEC, nil)
+fields['of13.port_stats_entry.rx_crc_err'] = ProtoField.uint64("of13.port_stats_entry.rx_crc_err", "rx_crc_err", base.DEC, nil)
+fields['of13.port_stats_entry.collisions'] = ProtoField.uint64("of13.port_stats_entry.collisions", "collisions", base.DEC, nil)
+fields['of13.port_stats_entry.duration_sec'] = ProtoField.uint32("of13.port_stats_entry.duration_sec", "duration_sec", base.DEC, nil)
+fields['of13.port_stats_entry.duration_nsec'] = ProtoField.uint32("of13.port_stats_entry.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of13.port_stats_reply.version'] = ProtoField.uint8("of13.port_stats_reply.version", "version", base.DEC, nil)
+fields['of13.port_stats_reply.type'] = ProtoField.uint32("of13.port_stats_reply.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.port_stats_reply.length'] = ProtoField.uint16("of13.port_stats_reply.length", "length", base.DEC, nil)
+fields['of13.port_stats_reply.xid'] = ProtoField.uint32("of13.port_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.port_stats_reply.stats_type'] = ProtoField.uint32("of13.port_stats_reply.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.port_stats_reply.flags'] = ProtoField.uint32("of13.port_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.port_stats_reply.entries'] = ProtoField.bytes("of13.port_stats_reply.entries", "entries")
+fields['of13.port_stats_request.version'] = ProtoField.uint8("of13.port_stats_request.version", "version", base.DEC, nil)
+fields['of13.port_stats_request.type'] = ProtoField.uint32("of13.port_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.port_stats_request.length'] = ProtoField.uint16("of13.port_stats_request.length", "length", base.DEC, nil)
+fields['of13.port_stats_request.xid'] = ProtoField.uint32("of13.port_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.port_stats_request.stats_type'] = ProtoField.uint32("of13.port_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.port_stats_request.flags'] = ProtoField.uint32("of13.port_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.port_stats_request.port_no'] = ProtoField.uint32("of13.port_stats_request.port_no", "port_no", base.DEC, nil)
+fields['of13.port_status.version'] = ProtoField.uint8("of13.port_status.version", "version", base.DEC, nil)
+fields['of13.port_status.type'] = ProtoField.uint32("of13.port_status.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.port_status.length'] = ProtoField.uint16("of13.port_status.length", "length", base.DEC, nil)
+fields['of13.port_status.xid'] = ProtoField.uint32("of13.port_status.xid", "xid", base.DEC, nil)
+fields['of13.port_status.reason'] = ProtoField.uint32("of13.port_status.reason", "reason", base.DEC, enum_v4_ofp_port_reason)
+fields['of13.port_status.desc'] = ProtoField.stringz("of13.port_status.desc", "desc")
+fields['of13.queue_get_config_reply.version'] = ProtoField.uint8("of13.queue_get_config_reply.version", "version", base.DEC, nil)
+fields['of13.queue_get_config_reply.type'] = ProtoField.uint8("of13.queue_get_config_reply.type", "type", base.DEC, nil)
+fields['of13.queue_get_config_reply.length'] = ProtoField.uint16("of13.queue_get_config_reply.length", "length", base.DEC, nil)
+fields['of13.queue_get_config_reply.xid'] = ProtoField.uint32("of13.queue_get_config_reply.xid", "xid", base.DEC, nil)
+fields['of13.queue_get_config_reply.port'] = ProtoField.uint32("of13.queue_get_config_reply.port", "port", base.DEC, nil)
+fields['of13.queue_get_config_reply.queues'] = ProtoField.bytes("of13.queue_get_config_reply.queues", "queues")
+fields['of13.queue_get_config_request.version'] = ProtoField.uint8("of13.queue_get_config_request.version", "version", base.DEC, nil)
+fields['of13.queue_get_config_request.type'] = ProtoField.uint8("of13.queue_get_config_request.type", "type", base.DEC, nil)
+fields['of13.queue_get_config_request.length'] = ProtoField.uint16("of13.queue_get_config_request.length", "length", base.DEC, nil)
+fields['of13.queue_get_config_request.xid'] = ProtoField.uint32("of13.queue_get_config_request.xid", "xid", base.DEC, nil)
+fields['of13.queue_get_config_request.port'] = ProtoField.uint32("of13.queue_get_config_request.port", "port", base.DEC, nil)
+fields['of13.queue_op_failed_error_msg.version'] = ProtoField.uint8("of13.queue_op_failed_error_msg.version", "version", base.DEC, nil)
+fields['of13.queue_op_failed_error_msg.type'] = ProtoField.uint8("of13.queue_op_failed_error_msg.type", "type", base.DEC, nil)
+fields['of13.queue_op_failed_error_msg.length'] = ProtoField.uint16("of13.queue_op_failed_error_msg.length", "length", base.DEC, nil)
+fields['of13.queue_op_failed_error_msg.xid'] = ProtoField.uint32("of13.queue_op_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.queue_op_failed_error_msg.err_type'] = ProtoField.uint16("of13.queue_op_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.queue_op_failed_error_msg.code'] = ProtoField.uint32("of13.queue_op_failed_error_msg.code", "code", base.DEC, enum_v4_ofp_queue_op_failed_code)
+fields['of13.queue_op_failed_error_msg.data'] = ProtoField.bytes("of13.queue_op_failed_error_msg.data", "data")
+fields['of13.queue_prop.type'] = ProtoField.uint16("of13.queue_prop.type", "type", base.DEC, nil)
+fields['of13.queue_prop.len'] = ProtoField.uint16("of13.queue_prop.len", "len", base.DEC, nil)
+fields['of13.queue_prop_experimenter.type'] = ProtoField.uint16("of13.queue_prop_experimenter.type", "type", base.DEC, nil)
+fields['of13.queue_prop_experimenter.len'] = ProtoField.uint16("of13.queue_prop_experimenter.len", "len", base.DEC, nil)
+fields['of13.queue_prop_experimenter.experimenter'] = ProtoField.uint32("of13.queue_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of13.queue_prop_experimenter.data'] = ProtoField.bytes("of13.queue_prop_experimenter.data", "data")
+fields['of13.queue_prop_max_rate.type'] = ProtoField.uint16("of13.queue_prop_max_rate.type", "type", base.DEC, nil)
+fields['of13.queue_prop_max_rate.len'] = ProtoField.uint16("of13.queue_prop_max_rate.len", "len", base.DEC, nil)
+fields['of13.queue_prop_max_rate.rate'] = ProtoField.uint16("of13.queue_prop_max_rate.rate", "rate", base.DEC, nil)
+fields['of13.queue_prop_min_rate.type'] = ProtoField.uint16("of13.queue_prop_min_rate.type", "type", base.DEC, nil)
+fields['of13.queue_prop_min_rate.len'] = ProtoField.uint16("of13.queue_prop_min_rate.len", "len", base.DEC, nil)
+fields['of13.queue_prop_min_rate.rate'] = ProtoField.uint16("of13.queue_prop_min_rate.rate", "rate", base.DEC, nil)
+fields['of13.queue_stats_entry.port_no'] = ProtoField.uint32("of13.queue_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of13.queue_stats_entry.queue_id'] = ProtoField.uint32("of13.queue_stats_entry.queue_id", "queue_id", base.DEC, nil)
+fields['of13.queue_stats_entry.tx_bytes'] = ProtoField.uint64("of13.queue_stats_entry.tx_bytes", "tx_bytes", base.DEC, nil)
+fields['of13.queue_stats_entry.tx_packets'] = ProtoField.uint64("of13.queue_stats_entry.tx_packets", "tx_packets", base.DEC, nil)
+fields['of13.queue_stats_entry.tx_errors'] = ProtoField.uint64("of13.queue_stats_entry.tx_errors", "tx_errors", base.DEC, nil)
+fields['of13.queue_stats_entry.duration_sec'] = ProtoField.uint32("of13.queue_stats_entry.duration_sec", "duration_sec", base.DEC, nil)
+fields['of13.queue_stats_entry.duration_nsec'] = ProtoField.uint32("of13.queue_stats_entry.duration_nsec", "duration_nsec", base.DEC, nil)
+fields['of13.queue_stats_reply.version'] = ProtoField.uint8("of13.queue_stats_reply.version", "version", base.DEC, nil)
+fields['of13.queue_stats_reply.type'] = ProtoField.uint32("of13.queue_stats_reply.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.queue_stats_reply.length'] = ProtoField.uint16("of13.queue_stats_reply.length", "length", base.DEC, nil)
+fields['of13.queue_stats_reply.xid'] = ProtoField.uint32("of13.queue_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.queue_stats_reply.stats_type'] = ProtoField.uint32("of13.queue_stats_reply.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.queue_stats_reply.flags'] = ProtoField.uint32("of13.queue_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.queue_stats_reply.entries'] = ProtoField.bytes("of13.queue_stats_reply.entries", "entries")
+fields['of13.queue_stats_request.version'] = ProtoField.uint8("of13.queue_stats_request.version", "version", base.DEC, nil)
+fields['of13.queue_stats_request.type'] = ProtoField.uint32("of13.queue_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.queue_stats_request.length'] = ProtoField.uint16("of13.queue_stats_request.length", "length", base.DEC, nil)
+fields['of13.queue_stats_request.xid'] = ProtoField.uint32("of13.queue_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.queue_stats_request.stats_type'] = ProtoField.uint32("of13.queue_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.queue_stats_request.flags'] = ProtoField.uint32("of13.queue_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.queue_stats_request.port_no'] = ProtoField.uint32("of13.queue_stats_request.port_no", "port_no", base.DEC, nil)
+fields['of13.queue_stats_request.queue_id'] = ProtoField.uint32("of13.queue_stats_request.queue_id", "queue_id", base.DEC, nil)
+fields['of13.role_reply.version'] = ProtoField.uint8("of13.role_reply.version", "version", base.DEC, nil)
+fields['of13.role_reply.type'] = ProtoField.uint8("of13.role_reply.type", "type", base.DEC, nil)
+fields['of13.role_reply.length'] = ProtoField.uint16("of13.role_reply.length", "length", base.DEC, nil)
+fields['of13.role_reply.xid'] = ProtoField.uint32("of13.role_reply.xid", "xid", base.DEC, nil)
+fields['of13.role_reply.role'] = ProtoField.uint32("of13.role_reply.role", "role", base.DEC, enum_v4_ofp_controller_role)
+fields['of13.role_reply.generation_id'] = ProtoField.uint64("of13.role_reply.generation_id", "generation_id", base.DEC, nil)
+fields['of13.role_request.version'] = ProtoField.uint8("of13.role_request.version", "version", base.DEC, nil)
+fields['of13.role_request.type'] = ProtoField.uint8("of13.role_request.type", "type", base.DEC, nil)
+fields['of13.role_request.length'] = ProtoField.uint16("of13.role_request.length", "length", base.DEC, nil)
+fields['of13.role_request.xid'] = ProtoField.uint32("of13.role_request.xid", "xid", base.DEC, nil)
+fields['of13.role_request.role'] = ProtoField.uint32("of13.role_request.role", "role", base.DEC, enum_v4_ofp_controller_role)
+fields['of13.role_request.generation_id'] = ProtoField.uint64("of13.role_request.generation_id", "generation_id", base.DEC, nil)
+fields['of13.role_request_failed_error_msg.version'] = ProtoField.uint8("of13.role_request_failed_error_msg.version", "version", base.DEC, nil)
+fields['of13.role_request_failed_error_msg.type'] = ProtoField.uint8("of13.role_request_failed_error_msg.type", "type", base.DEC, nil)
+fields['of13.role_request_failed_error_msg.length'] = ProtoField.uint16("of13.role_request_failed_error_msg.length", "length", base.DEC, nil)
+fields['of13.role_request_failed_error_msg.xid'] = ProtoField.uint32("of13.role_request_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.role_request_failed_error_msg.err_type'] = ProtoField.uint16("of13.role_request_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.role_request_failed_error_msg.code'] = ProtoField.uint32("of13.role_request_failed_error_msg.code", "code", base.DEC, enum_v4_ofp_role_request_failed_code)
+fields['of13.role_request_failed_error_msg.data'] = ProtoField.bytes("of13.role_request_failed_error_msg.data", "data")
+fields['of13.set_config.version'] = ProtoField.uint8("of13.set_config.version", "version", base.DEC, nil)
+fields['of13.set_config.type'] = ProtoField.uint8("of13.set_config.type", "type", base.DEC, nil)
+fields['of13.set_config.length'] = ProtoField.uint16("of13.set_config.length", "length", base.DEC, nil)
+fields['of13.set_config.xid'] = ProtoField.uint32("of13.set_config.xid", "xid", base.DEC, nil)
+fields['of13.set_config.flags'] = ProtoField.uint32("of13.set_config.flags", "flags", base.HEX, enum_v4_ofp_config_flags)
+fields['of13.set_config.miss_send_len'] = ProtoField.uint16("of13.set_config.miss_send_len", "miss_send_len", base.DEC, nil)
+fields['of13.switch_config_failed_error_msg.version'] = ProtoField.uint8("of13.switch_config_failed_error_msg.version", "version", base.DEC, nil)
+fields['of13.switch_config_failed_error_msg.type'] = ProtoField.uint8("of13.switch_config_failed_error_msg.type", "type", base.DEC, nil)
+fields['of13.switch_config_failed_error_msg.length'] = ProtoField.uint16("of13.switch_config_failed_error_msg.length", "length", base.DEC, nil)
+fields['of13.switch_config_failed_error_msg.xid'] = ProtoField.uint32("of13.switch_config_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.switch_config_failed_error_msg.err_type'] = ProtoField.uint16("of13.switch_config_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.switch_config_failed_error_msg.code'] = ProtoField.uint32("of13.switch_config_failed_error_msg.code", "code", base.DEC, enum_v4_ofp_switch_config_failed_code)
+fields['of13.switch_config_failed_error_msg.data'] = ProtoField.bytes("of13.switch_config_failed_error_msg.data", "data")
+fields['of13.table_feature_prop.type'] = ProtoField.uint16("of13.table_feature_prop.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop.length'] = ProtoField.uint16("of13.table_feature_prop.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_apply_actions.type'] = ProtoField.uint16("of13.table_feature_prop_apply_actions.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_apply_actions.length'] = ProtoField.uint16("of13.table_feature_prop_apply_actions.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_apply_actions.action_ids'] = ProtoField.bytes("of13.table_feature_prop_apply_actions.action_ids", "action_ids")
+fields['of13.table_feature_prop_apply_actions_miss.type'] = ProtoField.uint16("of13.table_feature_prop_apply_actions_miss.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_apply_actions_miss.length'] = ProtoField.uint16("of13.table_feature_prop_apply_actions_miss.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_apply_actions_miss.action_ids'] = ProtoField.bytes("of13.table_feature_prop_apply_actions_miss.action_ids", "action_ids")
+fields['of13.table_feature_prop_apply_setfield.type'] = ProtoField.uint16("of13.table_feature_prop_apply_setfield.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_apply_setfield.length'] = ProtoField.uint16("of13.table_feature_prop_apply_setfield.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_apply_setfield.oxm_ids'] = ProtoField.bytes("of13.table_feature_prop_apply_setfield.oxm_ids", "oxm_ids")
+fields['of13.table_feature_prop_apply_setfield_miss.type'] = ProtoField.uint16("of13.table_feature_prop_apply_setfield_miss.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_apply_setfield_miss.length'] = ProtoField.uint16("of13.table_feature_prop_apply_setfield_miss.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_apply_setfield_miss.oxm_ids'] = ProtoField.bytes("of13.table_feature_prop_apply_setfield_miss.oxm_ids", "oxm_ids")
+fields['of13.table_feature_prop_experimenter.type'] = ProtoField.uint16("of13.table_feature_prop_experimenter.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_experimenter.length'] = ProtoField.uint16("of13.table_feature_prop_experimenter.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_experimenter.experimenter'] = ProtoField.uint32("of13.table_feature_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of13.table_feature_prop_experimenter.subtype'] = ProtoField.uint32("of13.table_feature_prop_experimenter.subtype", "subtype", base.DEC, nil)
+fields['of13.table_feature_prop_experimenter.experimenter_data'] = ProtoField.bytes("of13.table_feature_prop_experimenter.experimenter_data", "experimenter_data")
+fields['of13.table_feature_prop_experimenter_miss.type'] = ProtoField.uint16("of13.table_feature_prop_experimenter_miss.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_experimenter_miss.length'] = ProtoField.uint16("of13.table_feature_prop_experimenter_miss.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_experimenter_miss.experimenter'] = ProtoField.uint32("of13.table_feature_prop_experimenter_miss.experimenter", "experimenter", base.DEC, nil)
+fields['of13.table_feature_prop_experimenter_miss.subtype'] = ProtoField.uint32("of13.table_feature_prop_experimenter_miss.subtype", "subtype", base.DEC, nil)
+fields['of13.table_feature_prop_experimenter_miss.experimenter_data'] = ProtoField.bytes("of13.table_feature_prop_experimenter_miss.experimenter_data", "experimenter_data")
+fields['of13.table_feature_prop_instructions.type'] = ProtoField.uint16("of13.table_feature_prop_instructions.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_instructions.length'] = ProtoField.uint16("of13.table_feature_prop_instructions.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_instructions.instruction_ids'] = ProtoField.bytes("of13.table_feature_prop_instructions.instruction_ids", "instruction_ids")
+fields['of13.table_feature_prop_instructions_miss.type'] = ProtoField.uint16("of13.table_feature_prop_instructions_miss.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_instructions_miss.length'] = ProtoField.uint16("of13.table_feature_prop_instructions_miss.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_instructions_miss.instruction_ids'] = ProtoField.bytes("of13.table_feature_prop_instructions_miss.instruction_ids", "instruction_ids")
+fields['of13.table_feature_prop_match.type'] = ProtoField.uint16("of13.table_feature_prop_match.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_match.length'] = ProtoField.uint16("of13.table_feature_prop_match.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_match.oxm_ids'] = ProtoField.bytes("of13.table_feature_prop_match.oxm_ids", "oxm_ids")
+fields['of13.table_feature_prop_next_tables.type'] = ProtoField.uint16("of13.table_feature_prop_next_tables.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_next_tables.length'] = ProtoField.uint16("of13.table_feature_prop_next_tables.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_next_tables.next_table_ids'] = ProtoField.bytes("of13.table_feature_prop_next_tables.next_table_ids", "next_table_ids")
+fields['of13.table_feature_prop_next_tables_miss.type'] = ProtoField.uint16("of13.table_feature_prop_next_tables_miss.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_next_tables_miss.length'] = ProtoField.uint16("of13.table_feature_prop_next_tables_miss.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_next_tables_miss.next_table_ids'] = ProtoField.bytes("of13.table_feature_prop_next_tables_miss.next_table_ids", "next_table_ids")
+fields['of13.table_feature_prop_wildcards.type'] = ProtoField.uint16("of13.table_feature_prop_wildcards.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_wildcards.length'] = ProtoField.uint16("of13.table_feature_prop_wildcards.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_wildcards.oxm_ids'] = ProtoField.bytes("of13.table_feature_prop_wildcards.oxm_ids", "oxm_ids")
+fields['of13.table_feature_prop_write_actions.type'] = ProtoField.uint16("of13.table_feature_prop_write_actions.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_write_actions.length'] = ProtoField.uint16("of13.table_feature_prop_write_actions.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_write_actions.action_ids'] = ProtoField.bytes("of13.table_feature_prop_write_actions.action_ids", "action_ids")
+fields['of13.table_feature_prop_write_actions_miss.type'] = ProtoField.uint16("of13.table_feature_prop_write_actions_miss.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_write_actions_miss.length'] = ProtoField.uint16("of13.table_feature_prop_write_actions_miss.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_write_actions_miss.action_ids'] = ProtoField.bytes("of13.table_feature_prop_write_actions_miss.action_ids", "action_ids")
+fields['of13.table_feature_prop_write_setfield.type'] = ProtoField.uint16("of13.table_feature_prop_write_setfield.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_write_setfield.length'] = ProtoField.uint16("of13.table_feature_prop_write_setfield.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_write_setfield.oxm_ids'] = ProtoField.bytes("of13.table_feature_prop_write_setfield.oxm_ids", "oxm_ids")
+fields['of13.table_feature_prop_write_setfield_miss.type'] = ProtoField.uint16("of13.table_feature_prop_write_setfield_miss.type", "type", base.DEC, nil)
+fields['of13.table_feature_prop_write_setfield_miss.length'] = ProtoField.uint16("of13.table_feature_prop_write_setfield_miss.length", "length", base.DEC, nil)
+fields['of13.table_feature_prop_write_setfield_miss.oxm_ids'] = ProtoField.bytes("of13.table_feature_prop_write_setfield_miss.oxm_ids", "oxm_ids")
+fields['of13.table_features.length'] = ProtoField.uint16("of13.table_features.length", "length", base.DEC, nil)
+fields['of13.table_features.table_id'] = ProtoField.uint8("of13.table_features.table_id", "table_id", base.DEC, nil)
+fields['of13.table_features.name'] = ProtoField.stringz("of13.table_features.name", "name")
+fields['of13.table_features.metadata_match'] = ProtoField.uint64("of13.table_features.metadata_match", "metadata_match", base.DEC, nil)
+fields['of13.table_features.metadata_write'] = ProtoField.uint64("of13.table_features.metadata_write", "metadata_write", base.DEC, nil)
+fields['of13.table_features.config'] = ProtoField.uint32("of13.table_features.config", "config", base.DEC, nil)
+fields['of13.table_features.max_entries'] = ProtoField.uint32("of13.table_features.max_entries", "max_entries", base.DEC, nil)
+fields['of13.table_features.properties'] = ProtoField.bytes("of13.table_features.properties", "properties")
+fields['of13.table_features_failed_error_msg.version'] = ProtoField.uint8("of13.table_features_failed_error_msg.version", "version", base.DEC, nil)
+fields['of13.table_features_failed_error_msg.type'] = ProtoField.uint8("of13.table_features_failed_error_msg.type", "type", base.DEC, nil)
+fields['of13.table_features_failed_error_msg.length'] = ProtoField.uint16("of13.table_features_failed_error_msg.length", "length", base.DEC, nil)
+fields['of13.table_features_failed_error_msg.xid'] = ProtoField.uint32("of13.table_features_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.table_features_failed_error_msg.err_type'] = ProtoField.uint16("of13.table_features_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.table_features_failed_error_msg.code'] = ProtoField.uint32("of13.table_features_failed_error_msg.code", "code", base.DEC, enum_v4_ofp_table_features_failed_code)
+fields['of13.table_features_failed_error_msg.data'] = ProtoField.bytes("of13.table_features_failed_error_msg.data", "data")
+fields['of13.table_features_stats_reply.version'] = ProtoField.uint8("of13.table_features_stats_reply.version", "version", base.DEC, nil)
+fields['of13.table_features_stats_reply.type'] = ProtoField.uint8("of13.table_features_stats_reply.type", "type", base.DEC, nil)
+fields['of13.table_features_stats_reply.length'] = ProtoField.uint16("of13.table_features_stats_reply.length", "length", base.DEC, nil)
+fields['of13.table_features_stats_reply.xid'] = ProtoField.uint32("of13.table_features_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.table_features_stats_reply.stats_type'] = ProtoField.uint16("of13.table_features_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of13.table_features_stats_reply.flags'] = ProtoField.uint32("of13.table_features_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.table_features_stats_reply.entries'] = ProtoField.bytes("of13.table_features_stats_reply.entries", "entries")
+fields['of13.table_features_stats_request.version'] = ProtoField.uint8("of13.table_features_stats_request.version", "version", base.DEC, nil)
+fields['of13.table_features_stats_request.type'] = ProtoField.uint8("of13.table_features_stats_request.type", "type", base.DEC, nil)
+fields['of13.table_features_stats_request.length'] = ProtoField.uint16("of13.table_features_stats_request.length", "length", base.DEC, nil)
+fields['of13.table_features_stats_request.xid'] = ProtoField.uint32("of13.table_features_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.table_features_stats_request.stats_type'] = ProtoField.uint16("of13.table_features_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of13.table_features_stats_request.flags'] = ProtoField.uint32("of13.table_features_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.table_features_stats_request.entries'] = ProtoField.bytes("of13.table_features_stats_request.entries", "entries")
+fields['of13.table_mod.version'] = ProtoField.uint8("of13.table_mod.version", "version", base.DEC, nil)
+fields['of13.table_mod.type'] = ProtoField.uint8("of13.table_mod.type", "type", base.DEC, nil)
+fields['of13.table_mod.length'] = ProtoField.uint16("of13.table_mod.length", "length", base.DEC, nil)
+fields['of13.table_mod.xid'] = ProtoField.uint32("of13.table_mod.xid", "xid", base.DEC, nil)
+fields['of13.table_mod.table_id'] = ProtoField.uint8("of13.table_mod.table_id", "table_id", base.DEC, nil)
+fields['of13.table_mod.config'] = ProtoField.uint32("of13.table_mod.config", "config", base.DEC, nil)
+fields['of13.table_mod_failed_error_msg.version'] = ProtoField.uint8("of13.table_mod_failed_error_msg.version", "version", base.DEC, nil)
+fields['of13.table_mod_failed_error_msg.type'] = ProtoField.uint8("of13.table_mod_failed_error_msg.type", "type", base.DEC, nil)
+fields['of13.table_mod_failed_error_msg.length'] = ProtoField.uint16("of13.table_mod_failed_error_msg.length", "length", base.DEC, nil)
+fields['of13.table_mod_failed_error_msg.xid'] = ProtoField.uint32("of13.table_mod_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of13.table_mod_failed_error_msg.err_type'] = ProtoField.uint16("of13.table_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of13.table_mod_failed_error_msg.code'] = ProtoField.uint32("of13.table_mod_failed_error_msg.code", "code", base.DEC, enum_v4_ofp_table_mod_failed_code)
+fields['of13.table_mod_failed_error_msg.data'] = ProtoField.bytes("of13.table_mod_failed_error_msg.data", "data")
+fields['of13.table_stats_entry.table_id'] = ProtoField.uint8("of13.table_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of13.table_stats_entry.active_count'] = ProtoField.uint32("of13.table_stats_entry.active_count", "active_count", base.DEC, nil)
+fields['of13.table_stats_entry.lookup_count'] = ProtoField.uint64("of13.table_stats_entry.lookup_count", "lookup_count", base.DEC, nil)
+fields['of13.table_stats_entry.matched_count'] = ProtoField.uint64("of13.table_stats_entry.matched_count", "matched_count", base.DEC, nil)
+fields['of13.table_stats_reply.version'] = ProtoField.uint8("of13.table_stats_reply.version", "version", base.DEC, nil)
+fields['of13.table_stats_reply.type'] = ProtoField.uint32("of13.table_stats_reply.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.table_stats_reply.length'] = ProtoField.uint16("of13.table_stats_reply.length", "length", base.DEC, nil)
+fields['of13.table_stats_reply.xid'] = ProtoField.uint32("of13.table_stats_reply.xid", "xid", base.DEC, nil)
+fields['of13.table_stats_reply.stats_type'] = ProtoField.uint32("of13.table_stats_reply.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.table_stats_reply.flags'] = ProtoField.uint32("of13.table_stats_reply.flags", "flags", base.HEX, enum_v4_ofp_stats_reply_flags)
+fields['of13.table_stats_reply.entries'] = ProtoField.bytes("of13.table_stats_reply.entries", "entries")
+fields['of13.table_stats_request.version'] = ProtoField.uint8("of13.table_stats_request.version", "version", base.DEC, nil)
+fields['of13.table_stats_request.type'] = ProtoField.uint32("of13.table_stats_request.type", "type", base.DEC, enum_v4_ofp_type)
+fields['of13.table_stats_request.length'] = ProtoField.uint16("of13.table_stats_request.length", "length", base.DEC, nil)
+fields['of13.table_stats_request.xid'] = ProtoField.uint32("of13.table_stats_request.xid", "xid", base.DEC, nil)
+fields['of13.table_stats_request.stats_type'] = ProtoField.uint32("of13.table_stats_request.stats_type", "stats_type", base.DEC, enum_v4_ofp_stats_type)
+fields['of13.table_stats_request.flags'] = ProtoField.uint32("of13.table_stats_request.flags", "flags", base.HEX, enum_v4_ofp_stats_request_flags)
+fields['of13.uint32.value'] = ProtoField.uint32("of13.uint32.value", "value", base.DEC, nil)
+fields['of13.uint64.value'] = ProtoField.uint64("of13.uint64.value", "value", base.DEC, nil)
+fields['of13.uint8.value'] = ProtoField.uint8("of13.uint8.value", "value", base.DEC, nil)
+
+p_of.fields = {
+ fields['of10.action.type'],
+ fields['of10.action.len'],
+ fields['of10.action_experimenter.type'],
+ fields['of10.action_experimenter.len'],
+ fields['of10.action_experimenter.experimenter'],
+ fields['of10.action_experimenter.data'],
+ fields['of10.action_bsn.type'],
+ fields['of10.action_bsn.len'],
+ fields['of10.action_bsn.experimenter'],
+ fields['of10.action_bsn.subtype'],
+ fields['of10.action_bsn_checksum.type'],
+ fields['of10.action_bsn_checksum.len'],
+ fields['of10.action_bsn_checksum.experimenter'],
+ fields['of10.action_bsn_checksum.subtype'],
+ fields['of10.action_bsn_checksum.checksum'],
+ fields['of10.action_bsn_mirror.type'],
+ fields['of10.action_bsn_mirror.len'],
+ fields['of10.action_bsn_mirror.experimenter'],
+ fields['of10.action_bsn_mirror.subtype'],
+ fields['of10.action_bsn_mirror.dest_port'],
+ fields['of10.action_bsn_mirror.vlan_tag'],
+ fields['of10.action_bsn_mirror.copy_stage'],
+ fields['of10.action_bsn_set_tunnel_dst.type'],
+ fields['of10.action_bsn_set_tunnel_dst.len'],
+ fields['of10.action_bsn_set_tunnel_dst.experimenter'],
+ fields['of10.action_bsn_set_tunnel_dst.subtype'],
+ fields['of10.action_bsn_set_tunnel_dst.dst'],
+ fields['of10.action_enqueue.type'],
+ fields['of10.action_enqueue.len'],
+ fields['of10.action_enqueue.port'],
+ fields['of10.action_enqueue.queue_id'],
+ fields['of10.action_nicira.type'],
+ fields['of10.action_nicira.len'],
+ fields['of10.action_nicira.experimenter'],
+ fields['of10.action_nicira.subtype'],
+ fields['of10.action_nicira_dec_ttl.type'],
+ fields['of10.action_nicira_dec_ttl.len'],
+ fields['of10.action_nicira_dec_ttl.experimenter'],
+ fields['of10.action_nicira_dec_ttl.subtype'],
+ fields['of10.action_output.type'],
+ fields['of10.action_output.len'],
+ fields['of10.action_output.port'],
+ fields['of10.action_output.max_len'],
+ fields['of10.action_set_dl_dst.type'],
+ fields['of10.action_set_dl_dst.len'],
+ fields['of10.action_set_dl_dst.dl_addr'],
+ fields['of10.action_set_dl_src.type'],
+ fields['of10.action_set_dl_src.len'],
+ fields['of10.action_set_dl_src.dl_addr'],
+ fields['of10.action_set_nw_dst.type'],
+ fields['of10.action_set_nw_dst.len'],
+ fields['of10.action_set_nw_dst.nw_addr'],
+ fields['of10.action_set_nw_src.type'],
+ fields['of10.action_set_nw_src.len'],
+ fields['of10.action_set_nw_src.nw_addr'],
+ fields['of10.action_set_nw_tos.type'],
+ fields['of10.action_set_nw_tos.len'],
+ fields['of10.action_set_nw_tos.nw_tos'],
+ fields['of10.action_set_tp_dst.type'],
+ fields['of10.action_set_tp_dst.len'],
+ fields['of10.action_set_tp_dst.tp_port'],
+ fields['of10.action_set_tp_src.type'],
+ fields['of10.action_set_tp_src.len'],
+ fields['of10.action_set_tp_src.tp_port'],
+ fields['of10.action_set_vlan_pcp.type'],
+ fields['of10.action_set_vlan_pcp.len'],
+ fields['of10.action_set_vlan_pcp.vlan_pcp'],
+ fields['of10.action_set_vlan_vid.type'],
+ fields['of10.action_set_vlan_vid.len'],
+ fields['of10.action_set_vlan_vid.vlan_vid'],
+ fields['of10.action_strip_vlan.type'],
+ fields['of10.action_strip_vlan.len'],
+ fields['of10.header.version'],
+ fields['of10.header.type'],
+ fields['of10.header.length'],
+ fields['of10.header.xid'],
+ fields['of10.stats_reply.version'],
+ fields['of10.stats_reply.type'],
+ fields['of10.stats_reply.length'],
+ fields['of10.stats_reply.xid'],
+ fields['of10.stats_reply.stats_type'],
+ fields['of10.stats_reply.flags'],
+ fields['of10.aggregate_stats_reply.version'],
+ fields['of10.aggregate_stats_reply.type'],
+ fields['of10.aggregate_stats_reply.length'],
+ fields['of10.aggregate_stats_reply.xid'],
+ fields['of10.aggregate_stats_reply.stats_type'],
+ fields['of10.aggregate_stats_reply.flags'],
+ fields['of10.aggregate_stats_reply.packet_count'],
+ fields['of10.aggregate_stats_reply.byte_count'],
+ fields['of10.aggregate_stats_reply.flow_count'],
+ fields['of10.stats_request.version'],
+ fields['of10.stats_request.type'],
+ fields['of10.stats_request.length'],
+ fields['of10.stats_request.xid'],
+ fields['of10.stats_request.stats_type'],
+ fields['of10.stats_request.flags'],
+ fields['of10.aggregate_stats_request.version'],
+ fields['of10.aggregate_stats_request.type'],
+ fields['of10.aggregate_stats_request.length'],
+ fields['of10.aggregate_stats_request.xid'],
+ fields['of10.aggregate_stats_request.stats_type'],
+ fields['of10.aggregate_stats_request.flags'],
+ fields['of10.aggregate_stats_request.match'],
+ fields['of10.aggregate_stats_request.table_id'],
+ fields['of10.aggregate_stats_request.out_port'],
+ fields['of10.error_msg.version'],
+ fields['of10.error_msg.type'],
+ fields['of10.error_msg.length'],
+ fields['of10.error_msg.xid'],
+ fields['of10.error_msg.err_type'],
+ fields['of10.bad_action_error_msg.version'],
+ fields['of10.bad_action_error_msg.type'],
+ fields['of10.bad_action_error_msg.length'],
+ fields['of10.bad_action_error_msg.xid'],
+ fields['of10.bad_action_error_msg.err_type'],
+ fields['of10.bad_action_error_msg.code'],
+ fields['of10.bad_action_error_msg.data'],
+ fields['of10.bad_request_error_msg.version'],
+ fields['of10.bad_request_error_msg.type'],
+ fields['of10.bad_request_error_msg.length'],
+ fields['of10.bad_request_error_msg.xid'],
+ fields['of10.bad_request_error_msg.err_type'],
+ fields['of10.bad_request_error_msg.code'],
+ fields['of10.bad_request_error_msg.data'],
+ fields['of10.barrier_reply.version'],
+ fields['of10.barrier_reply.type'],
+ fields['of10.barrier_reply.length'],
+ fields['of10.barrier_reply.xid'],
+ fields['of10.barrier_request.version'],
+ fields['of10.barrier_request.type'],
+ fields['of10.barrier_request.length'],
+ fields['of10.barrier_request.xid'],
+ fields['of10.experimenter.version'],
+ fields['of10.experimenter.type'],
+ fields['of10.experimenter.length'],
+ fields['of10.experimenter.xid'],
+ fields['of10.experimenter.experimenter'],
+ fields['of10.experimenter.data'],
+ fields['of10.bsn_header.version'],
+ fields['of10.bsn_header.type'],
+ fields['of10.bsn_header.length'],
+ fields['of10.bsn_header.xid'],
+ fields['of10.bsn_header.experimenter'],
+ fields['of10.bsn_header.subtype'],
+ fields['of10.bsn_bw_clear_data_reply.version'],
+ fields['of10.bsn_bw_clear_data_reply.type'],
+ fields['of10.bsn_bw_clear_data_reply.length'],
+ fields['of10.bsn_bw_clear_data_reply.xid'],
+ fields['of10.bsn_bw_clear_data_reply.experimenter'],
+ fields['of10.bsn_bw_clear_data_reply.subtype'],
+ fields['of10.bsn_bw_clear_data_reply.status'],
+ fields['of10.bsn_bw_clear_data_request.version'],
+ fields['of10.bsn_bw_clear_data_request.type'],
+ fields['of10.bsn_bw_clear_data_request.length'],
+ fields['of10.bsn_bw_clear_data_request.xid'],
+ fields['of10.bsn_bw_clear_data_request.experimenter'],
+ fields['of10.bsn_bw_clear_data_request.subtype'],
+ fields['of10.bsn_bw_enable_get_reply.version'],
+ fields['of10.bsn_bw_enable_get_reply.type'],
+ fields['of10.bsn_bw_enable_get_reply.length'],
+ fields['of10.bsn_bw_enable_get_reply.xid'],
+ fields['of10.bsn_bw_enable_get_reply.experimenter'],
+ fields['of10.bsn_bw_enable_get_reply.subtype'],
+ fields['of10.bsn_bw_enable_get_reply.enabled'],
+ fields['of10.bsn_bw_enable_get_request.version'],
+ fields['of10.bsn_bw_enable_get_request.type'],
+ fields['of10.bsn_bw_enable_get_request.length'],
+ fields['of10.bsn_bw_enable_get_request.xid'],
+ fields['of10.bsn_bw_enable_get_request.experimenter'],
+ fields['of10.bsn_bw_enable_get_request.subtype'],
+ fields['of10.bsn_bw_enable_set_reply.version'],
+ fields['of10.bsn_bw_enable_set_reply.type'],
+ fields['of10.bsn_bw_enable_set_reply.length'],
+ fields['of10.bsn_bw_enable_set_reply.xid'],
+ fields['of10.bsn_bw_enable_set_reply.experimenter'],
+ fields['of10.bsn_bw_enable_set_reply.subtype'],
+ fields['of10.bsn_bw_enable_set_reply.enable'],
+ fields['of10.bsn_bw_enable_set_reply.status'],
+ fields['of10.bsn_bw_enable_set_request.version'],
+ fields['of10.bsn_bw_enable_set_request.type'],
+ fields['of10.bsn_bw_enable_set_request.length'],
+ fields['of10.bsn_bw_enable_set_request.xid'],
+ fields['of10.bsn_bw_enable_set_request.experimenter'],
+ fields['of10.bsn_bw_enable_set_request.subtype'],
+ fields['of10.bsn_bw_enable_set_request.enable'],
+ fields['of10.bsn_get_interfaces_reply.version'],
+ fields['of10.bsn_get_interfaces_reply.type'],
+ fields['of10.bsn_get_interfaces_reply.length'],
+ fields['of10.bsn_get_interfaces_reply.xid'],
+ fields['of10.bsn_get_interfaces_reply.experimenter'],
+ fields['of10.bsn_get_interfaces_reply.subtype'],
+ fields['of10.bsn_get_interfaces_reply.interfaces'],
+ fields['of10.bsn_get_interfaces_request.version'],
+ fields['of10.bsn_get_interfaces_request.type'],
+ fields['of10.bsn_get_interfaces_request.length'],
+ fields['of10.bsn_get_interfaces_request.xid'],
+ fields['of10.bsn_get_interfaces_request.experimenter'],
+ fields['of10.bsn_get_interfaces_request.subtype'],
+ fields['of10.bsn_get_ip_mask_reply.version'],
+ fields['of10.bsn_get_ip_mask_reply.type'],
+ fields['of10.bsn_get_ip_mask_reply.length'],
+ fields['of10.bsn_get_ip_mask_reply.xid'],
+ fields['of10.bsn_get_ip_mask_reply.experimenter'],
+ fields['of10.bsn_get_ip_mask_reply.subtype'],
+ fields['of10.bsn_get_ip_mask_reply.index'],
+ fields['of10.bsn_get_ip_mask_reply.mask'],
+ fields['of10.bsn_get_ip_mask_request.version'],
+ fields['of10.bsn_get_ip_mask_request.type'],
+ fields['of10.bsn_get_ip_mask_request.length'],
+ fields['of10.bsn_get_ip_mask_request.xid'],
+ fields['of10.bsn_get_ip_mask_request.experimenter'],
+ fields['of10.bsn_get_ip_mask_request.subtype'],
+ fields['of10.bsn_get_ip_mask_request.index'],
+ fields['of10.bsn_get_l2_table_reply.version'],
+ fields['of10.bsn_get_l2_table_reply.type'],
+ fields['of10.bsn_get_l2_table_reply.length'],
+ fields['of10.bsn_get_l2_table_reply.xid'],
+ fields['of10.bsn_get_l2_table_reply.experimenter'],
+ fields['of10.bsn_get_l2_table_reply.subtype'],
+ fields['of10.bsn_get_l2_table_reply.l2_table_enable'],
+ fields['of10.bsn_get_l2_table_reply.l2_table_priority'],
+ fields['of10.bsn_get_l2_table_request.version'],
+ fields['of10.bsn_get_l2_table_request.type'],
+ fields['of10.bsn_get_l2_table_request.length'],
+ fields['of10.bsn_get_l2_table_request.xid'],
+ fields['of10.bsn_get_l2_table_request.experimenter'],
+ fields['of10.bsn_get_l2_table_request.subtype'],
+ fields['of10.bsn_get_mirroring_reply.version'],
+ fields['of10.bsn_get_mirroring_reply.type'],
+ fields['of10.bsn_get_mirroring_reply.length'],
+ fields['of10.bsn_get_mirroring_reply.xid'],
+ fields['of10.bsn_get_mirroring_reply.experimenter'],
+ fields['of10.bsn_get_mirroring_reply.subtype'],
+ fields['of10.bsn_get_mirroring_reply.report_mirror_ports'],
+ fields['of10.bsn_get_mirroring_request.version'],
+ fields['of10.bsn_get_mirroring_request.type'],
+ fields['of10.bsn_get_mirroring_request.length'],
+ fields['of10.bsn_get_mirroring_request.xid'],
+ fields['of10.bsn_get_mirroring_request.experimenter'],
+ fields['of10.bsn_get_mirroring_request.subtype'],
+ fields['of10.bsn_get_mirroring_request.report_mirror_ports'],
+ fields['of10.bsn_hybrid_get_reply.version'],
+ fields['of10.bsn_hybrid_get_reply.type'],
+ fields['of10.bsn_hybrid_get_reply.length'],
+ fields['of10.bsn_hybrid_get_reply.xid'],
+ fields['of10.bsn_hybrid_get_reply.experimenter'],
+ fields['of10.bsn_hybrid_get_reply.subtype'],
+ fields['of10.bsn_hybrid_get_reply.hybrid_enable'],
+ fields['of10.bsn_hybrid_get_reply.hybrid_version'],
+ fields['of10.bsn_hybrid_get_request.version'],
+ fields['of10.bsn_hybrid_get_request.type'],
+ fields['of10.bsn_hybrid_get_request.length'],
+ fields['of10.bsn_hybrid_get_request.xid'],
+ fields['of10.bsn_hybrid_get_request.experimenter'],
+ fields['of10.bsn_hybrid_get_request.subtype'],
+ fields['of10.bsn_interface.hw_addr'],
+ fields['of10.bsn_interface.name'],
+ fields['of10.bsn_interface.ipv4_addr'],
+ fields['of10.bsn_interface.ipv4_netmask'],
+ fields['of10.bsn_pdu_rx_reply.version'],
+ fields['of10.bsn_pdu_rx_reply.type'],
+ fields['of10.bsn_pdu_rx_reply.length'],
+ fields['of10.bsn_pdu_rx_reply.xid'],
+ fields['of10.bsn_pdu_rx_reply.experimenter'],
+ fields['of10.bsn_pdu_rx_reply.subtype'],
+ fields['of10.bsn_pdu_rx_reply.status'],
+ fields['of10.bsn_pdu_rx_reply.port_no'],
+ fields['of10.bsn_pdu_rx_reply.slot_num'],
+ fields['of10.bsn_pdu_rx_request.version'],
+ fields['of10.bsn_pdu_rx_request.type'],
+ fields['of10.bsn_pdu_rx_request.length'],
+ fields['of10.bsn_pdu_rx_request.xid'],
+ fields['of10.bsn_pdu_rx_request.experimenter'],
+ fields['of10.bsn_pdu_rx_request.subtype'],
+ fields['of10.bsn_pdu_rx_request.timeout_ms'],
+ fields['of10.bsn_pdu_rx_request.port_no'],
+ fields['of10.bsn_pdu_rx_request.slot_num'],
+ fields['of10.bsn_pdu_rx_request.data'],
+ fields['of10.bsn_pdu_rx_timeout.version'],
+ fields['of10.bsn_pdu_rx_timeout.type'],
+ fields['of10.bsn_pdu_rx_timeout.length'],
+ fields['of10.bsn_pdu_rx_timeout.xid'],
+ fields['of10.bsn_pdu_rx_timeout.experimenter'],
+ fields['of10.bsn_pdu_rx_timeout.subtype'],
+ fields['of10.bsn_pdu_rx_timeout.port_no'],
+ fields['of10.bsn_pdu_rx_timeout.slot_num'],
+ fields['of10.bsn_pdu_tx_reply.version'],
+ fields['of10.bsn_pdu_tx_reply.type'],
+ fields['of10.bsn_pdu_tx_reply.length'],
+ fields['of10.bsn_pdu_tx_reply.xid'],
+ fields['of10.bsn_pdu_tx_reply.experimenter'],
+ fields['of10.bsn_pdu_tx_reply.subtype'],
+ fields['of10.bsn_pdu_tx_reply.status'],
+ fields['of10.bsn_pdu_tx_reply.port_no'],
+ fields['of10.bsn_pdu_tx_reply.slot_num'],
+ fields['of10.bsn_pdu_tx_request.version'],
+ fields['of10.bsn_pdu_tx_request.type'],
+ fields['of10.bsn_pdu_tx_request.length'],
+ fields['of10.bsn_pdu_tx_request.xid'],
+ fields['of10.bsn_pdu_tx_request.experimenter'],
+ fields['of10.bsn_pdu_tx_request.subtype'],
+ fields['of10.bsn_pdu_tx_request.tx_interval_ms'],
+ fields['of10.bsn_pdu_tx_request.port_no'],
+ fields['of10.bsn_pdu_tx_request.slot_num'],
+ fields['of10.bsn_pdu_tx_request.data'],
+ fields['of10.bsn_set_ip_mask.version'],
+ fields['of10.bsn_set_ip_mask.type'],
+ fields['of10.bsn_set_ip_mask.length'],
+ fields['of10.bsn_set_ip_mask.xid'],
+ fields['of10.bsn_set_ip_mask.experimenter'],
+ fields['of10.bsn_set_ip_mask.subtype'],
+ fields['of10.bsn_set_ip_mask.index'],
+ fields['of10.bsn_set_ip_mask.mask'],
+ fields['of10.bsn_set_l2_table_reply.version'],
+ fields['of10.bsn_set_l2_table_reply.type'],
+ fields['of10.bsn_set_l2_table_reply.length'],
+ fields['of10.bsn_set_l2_table_reply.xid'],
+ fields['of10.bsn_set_l2_table_reply.experimenter'],
+ fields['of10.bsn_set_l2_table_reply.subtype'],
+ fields['of10.bsn_set_l2_table_reply.l2_table_enable'],
+ fields['of10.bsn_set_l2_table_reply.l2_table_priority'],
+ fields['of10.bsn_set_l2_table_reply.status'],
+ fields['of10.bsn_set_l2_table_request.version'],
+ fields['of10.bsn_set_l2_table_request.type'],
+ fields['of10.bsn_set_l2_table_request.length'],
+ fields['of10.bsn_set_l2_table_request.xid'],
+ fields['of10.bsn_set_l2_table_request.experimenter'],
+ fields['of10.bsn_set_l2_table_request.subtype'],
+ fields['of10.bsn_set_l2_table_request.l2_table_enable'],
+ fields['of10.bsn_set_l2_table_request.l2_table_priority'],
+ fields['of10.bsn_set_mirroring.version'],
+ fields['of10.bsn_set_mirroring.type'],
+ fields['of10.bsn_set_mirroring.length'],
+ fields['of10.bsn_set_mirroring.xid'],
+ fields['of10.bsn_set_mirroring.experimenter'],
+ fields['of10.bsn_set_mirroring.subtype'],
+ fields['of10.bsn_set_mirroring.report_mirror_ports'],
+ fields['of10.bsn_set_pktin_suppression_reply.version'],
+ fields['of10.bsn_set_pktin_suppression_reply.type'],
+ fields['of10.bsn_set_pktin_suppression_reply.length'],
+ fields['of10.bsn_set_pktin_suppression_reply.xid'],
+ fields['of10.bsn_set_pktin_suppression_reply.experimenter'],
+ fields['of10.bsn_set_pktin_suppression_reply.subtype'],
+ fields['of10.bsn_set_pktin_suppression_reply.status'],
+ fields['of10.bsn_set_pktin_suppression_request.version'],
+ fields['of10.bsn_set_pktin_suppression_request.type'],
+ fields['of10.bsn_set_pktin_suppression_request.length'],
+ fields['of10.bsn_set_pktin_suppression_request.xid'],
+ fields['of10.bsn_set_pktin_suppression_request.experimenter'],
+ fields['of10.bsn_set_pktin_suppression_request.subtype'],
+ fields['of10.bsn_set_pktin_suppression_request.enabled'],
+ fields['of10.bsn_set_pktin_suppression_request.idle_timeout'],
+ fields['of10.bsn_set_pktin_suppression_request.hard_timeout'],
+ fields['of10.bsn_set_pktin_suppression_request.priority'],
+ fields['of10.bsn_set_pktin_suppression_request.cookie'],
+ fields['of10.bsn_shell_command.version'],
+ fields['of10.bsn_shell_command.type'],
+ fields['of10.bsn_shell_command.length'],
+ fields['of10.bsn_shell_command.xid'],
+ fields['of10.bsn_shell_command.experimenter'],
+ fields['of10.bsn_shell_command.subtype'],
+ fields['of10.bsn_shell_command.service'],
+ fields['of10.bsn_shell_command.data'],
+ fields['of10.bsn_shell_output.version'],
+ fields['of10.bsn_shell_output.type'],
+ fields['of10.bsn_shell_output.length'],
+ fields['of10.bsn_shell_output.xid'],
+ fields['of10.bsn_shell_output.experimenter'],
+ fields['of10.bsn_shell_output.subtype'],
+ fields['of10.bsn_shell_output.data'],
+ fields['of10.bsn_shell_status.version'],
+ fields['of10.bsn_shell_status.type'],
+ fields['of10.bsn_shell_status.length'],
+ fields['of10.bsn_shell_status.xid'],
+ fields['of10.bsn_shell_status.experimenter'],
+ fields['of10.bsn_shell_status.subtype'],
+ fields['of10.bsn_shell_status.status'],
+ fields['of10.experimenter_stats_reply.version'],
+ fields['of10.experimenter_stats_reply.type'],
+ fields['of10.experimenter_stats_reply.length'],
+ fields['of10.experimenter_stats_reply.xid'],
+ fields['of10.experimenter_stats_reply.stats_type'],
+ fields['of10.experimenter_stats_reply.flags'],
+ fields['of10.experimenter_stats_reply.experimenter'],
+ fields['of10.experimenter_stats_reply.data'],
+ fields['of10.bsn_stats_reply.version'],
+ fields['of10.bsn_stats_reply.type'],
+ fields['of10.bsn_stats_reply.length'],
+ fields['of10.bsn_stats_reply.xid'],
+ fields['of10.bsn_stats_reply.stats_type'],
+ fields['of10.bsn_stats_reply.flags'],
+ fields['of10.bsn_stats_reply.experimenter'],
+ fields['of10.bsn_stats_reply.subtype'],
+ fields['of10.experimenter_stats_request.version'],
+ fields['of10.experimenter_stats_request.type'],
+ fields['of10.experimenter_stats_request.length'],
+ fields['of10.experimenter_stats_request.xid'],
+ fields['of10.experimenter_stats_request.stats_type'],
+ fields['of10.experimenter_stats_request.flags'],
+ fields['of10.experimenter_stats_request.experimenter'],
+ fields['of10.experimenter_stats_request.data'],
+ fields['of10.bsn_stats_request.version'],
+ fields['of10.bsn_stats_request.type'],
+ fields['of10.bsn_stats_request.length'],
+ fields['of10.bsn_stats_request.xid'],
+ fields['of10.bsn_stats_request.stats_type'],
+ fields['of10.bsn_stats_request.flags'],
+ fields['of10.bsn_stats_request.experimenter'],
+ fields['of10.bsn_stats_request.subtype'],
+ fields['of10.bsn_virtual_port_create_reply.version'],
+ fields['of10.bsn_virtual_port_create_reply.type'],
+ fields['of10.bsn_virtual_port_create_reply.length'],
+ fields['of10.bsn_virtual_port_create_reply.xid'],
+ fields['of10.bsn_virtual_port_create_reply.experimenter'],
+ fields['of10.bsn_virtual_port_create_reply.subtype'],
+ fields['of10.bsn_virtual_port_create_reply.status'],
+ fields['of10.bsn_virtual_port_create_reply.vport_no'],
+ fields['of10.bsn_vport.type'],
+ fields['of10.bsn_vport.length'],
+ fields['of10.bsn_virtual_port_create_request.version'],
+ fields['of10.bsn_virtual_port_create_request.type'],
+ fields['of10.bsn_virtual_port_create_request.length'],
+ fields['of10.bsn_virtual_port_create_request.xid'],
+ fields['of10.bsn_virtual_port_create_request.experimenter'],
+ fields['of10.bsn_virtual_port_create_request.subtype'],
+ fields['of10.bsn_virtual_port_create_request.vport'],
+ fields['of10.bsn_virtual_port_remove_reply.version'],
+ fields['of10.bsn_virtual_port_remove_reply.type'],
+ fields['of10.bsn_virtual_port_remove_reply.length'],
+ fields['of10.bsn_virtual_port_remove_reply.xid'],
+ fields['of10.bsn_virtual_port_remove_reply.experimenter'],
+ fields['of10.bsn_virtual_port_remove_reply.subtype'],
+ fields['of10.bsn_virtual_port_remove_reply.status'],
+ fields['of10.bsn_virtual_port_remove_request.version'],
+ fields['of10.bsn_virtual_port_remove_request.type'],
+ fields['of10.bsn_virtual_port_remove_request.length'],
+ fields['of10.bsn_virtual_port_remove_request.xid'],
+ fields['of10.bsn_virtual_port_remove_request.experimenter'],
+ fields['of10.bsn_virtual_port_remove_request.subtype'],
+ fields['of10.bsn_virtual_port_remove_request.vport_no'],
+ fields['of10.bsn_vport_l2gre.type'],
+ fields['of10.bsn_vport_l2gre.length'],
+ fields['of10.bsn_vport_l2gre.flags'],
+ fields['of10.bsn_vport_l2gre.port_no'],
+ fields['of10.bsn_vport_l2gre.loopback_port_no'],
+ fields['of10.bsn_vport_l2gre.local_mac'],
+ fields['of10.bsn_vport_l2gre.nh_mac'],
+ fields['of10.bsn_vport_l2gre.src_ip'],
+ fields['of10.bsn_vport_l2gre.dst_ip'],
+ fields['of10.bsn_vport_l2gre.dscp'],
+ fields['of10.bsn_vport_l2gre.ttl'],
+ fields['of10.bsn_vport_l2gre.vpn'],
+ fields['of10.bsn_vport_l2gre.rate_limit'],
+ fields['of10.bsn_vport_l2gre.if_name'],
+ fields['of10.bsn_vport_q_in_q.type'],
+ fields['of10.bsn_vport_q_in_q.length'],
+ fields['of10.bsn_vport_q_in_q.port_no'],
+ fields['of10.bsn_vport_q_in_q.ingress_tpid'],
+ fields['of10.bsn_vport_q_in_q.ingress_vlan_id'],
+ fields['of10.bsn_vport_q_in_q.egress_tpid'],
+ fields['of10.bsn_vport_q_in_q.egress_vlan_id'],
+ fields['of10.bsn_vport_q_in_q.if_name'],
+ fields['of10.desc_stats_reply.version'],
+ fields['of10.desc_stats_reply.type'],
+ fields['of10.desc_stats_reply.length'],
+ fields['of10.desc_stats_reply.xid'],
+ fields['of10.desc_stats_reply.stats_type'],
+ fields['of10.desc_stats_reply.flags'],
+ fields['of10.desc_stats_reply.mfr_desc'],
+ fields['of10.desc_stats_reply.hw_desc'],
+ fields['of10.desc_stats_reply.sw_desc'],
+ fields['of10.desc_stats_reply.serial_num'],
+ fields['of10.desc_stats_reply.dp_desc'],
+ fields['of10.desc_stats_request.version'],
+ fields['of10.desc_stats_request.type'],
+ fields['of10.desc_stats_request.length'],
+ fields['of10.desc_stats_request.xid'],
+ fields['of10.desc_stats_request.stats_type'],
+ fields['of10.desc_stats_request.flags'],
+ fields['of10.echo_reply.version'],
+ fields['of10.echo_reply.type'],
+ fields['of10.echo_reply.length'],
+ fields['of10.echo_reply.xid'],
+ fields['of10.echo_reply.data'],
+ fields['of10.echo_request.version'],
+ fields['of10.echo_request.type'],
+ fields['of10.echo_request.length'],
+ fields['of10.echo_request.xid'],
+ fields['of10.echo_request.data'],
+ fields['of10.features_reply.version'],
+ fields['of10.features_reply.type'],
+ fields['of10.features_reply.length'],
+ fields['of10.features_reply.xid'],
+ fields['of10.features_reply.datapath_id'],
+ fields['of10.features_reply.n_buffers'],
+ fields['of10.features_reply.n_tables'],
+ fields['of10.features_reply.capabilities'],
+ fields['of10.features_reply.actions'],
+ fields['of10.features_reply.ports'],
+ fields['of10.features_request.version'],
+ fields['of10.features_request.type'],
+ fields['of10.features_request.length'],
+ fields['of10.features_request.xid'],
+ fields['of10.flow_mod.version'],
+ fields['of10.flow_mod.type'],
+ fields['of10.flow_mod.length'],
+ fields['of10.flow_mod.xid'],
+ fields['of10.flow_mod.match'],
+ fields['of10.flow_mod.cookie'],
+ fields['of10.flow_mod._command'],
+ fields['of10.flow_mod.idle_timeout'],
+ fields['of10.flow_mod.hard_timeout'],
+ fields['of10.flow_mod.priority'],
+ fields['of10.flow_mod.buffer_id'],
+ fields['of10.flow_mod.out_port'],
+ fields['of10.flow_mod.flags'],
+ fields['of10.flow_mod.actions'],
+ fields['of10.flow_add.version'],
+ fields['of10.flow_add.type'],
+ fields['of10.flow_add.length'],
+ fields['of10.flow_add.xid'],
+ fields['of10.flow_add.match'],
+ fields['of10.flow_add.cookie'],
+ fields['of10.flow_add._command'],
+ fields['of10.flow_add.idle_timeout'],
+ fields['of10.flow_add.hard_timeout'],
+ fields['of10.flow_add.priority'],
+ fields['of10.flow_add.buffer_id'],
+ fields['of10.flow_add.out_port'],
+ fields['of10.flow_add.flags'],
+ fields['of10.flow_add.actions'],
+ fields['of10.flow_delete.version'],
+ fields['of10.flow_delete.type'],
+ fields['of10.flow_delete.length'],
+ fields['of10.flow_delete.xid'],
+ fields['of10.flow_delete.match'],
+ fields['of10.flow_delete.cookie'],
+ fields['of10.flow_delete._command'],
+ fields['of10.flow_delete.idle_timeout'],
+ fields['of10.flow_delete.hard_timeout'],
+ fields['of10.flow_delete.priority'],
+ fields['of10.flow_delete.buffer_id'],
+ fields['of10.flow_delete.out_port'],
+ fields['of10.flow_delete.flags'],
+ fields['of10.flow_delete.actions'],
+ fields['of10.flow_delete_strict.version'],
+ fields['of10.flow_delete_strict.type'],
+ fields['of10.flow_delete_strict.length'],
+ fields['of10.flow_delete_strict.xid'],
+ fields['of10.flow_delete_strict.match'],
+ fields['of10.flow_delete_strict.cookie'],
+ fields['of10.flow_delete_strict._command'],
+ fields['of10.flow_delete_strict.idle_timeout'],
+ fields['of10.flow_delete_strict.hard_timeout'],
+ fields['of10.flow_delete_strict.priority'],
+ fields['of10.flow_delete_strict.buffer_id'],
+ fields['of10.flow_delete_strict.out_port'],
+ fields['of10.flow_delete_strict.flags'],
+ fields['of10.flow_delete_strict.actions'],
+ fields['of10.flow_mod_failed_error_msg.version'],
+ fields['of10.flow_mod_failed_error_msg.type'],
+ fields['of10.flow_mod_failed_error_msg.length'],
+ fields['of10.flow_mod_failed_error_msg.xid'],
+ fields['of10.flow_mod_failed_error_msg.err_type'],
+ fields['of10.flow_mod_failed_error_msg.code'],
+ fields['of10.flow_mod_failed_error_msg.data'],
+ fields['of10.flow_modify.version'],
+ fields['of10.flow_modify.type'],
+ fields['of10.flow_modify.length'],
+ fields['of10.flow_modify.xid'],
+ fields['of10.flow_modify.match'],
+ fields['of10.flow_modify.cookie'],
+ fields['of10.flow_modify._command'],
+ fields['of10.flow_modify.idle_timeout'],
+ fields['of10.flow_modify.hard_timeout'],
+ fields['of10.flow_modify.priority'],
+ fields['of10.flow_modify.buffer_id'],
+ fields['of10.flow_modify.out_port'],
+ fields['of10.flow_modify.flags'],
+ fields['of10.flow_modify.actions'],
+ fields['of10.flow_modify_strict.version'],
+ fields['of10.flow_modify_strict.type'],
+ fields['of10.flow_modify_strict.length'],
+ fields['of10.flow_modify_strict.xid'],
+ fields['of10.flow_modify_strict.match'],
+ fields['of10.flow_modify_strict.cookie'],
+ fields['of10.flow_modify_strict._command'],
+ fields['of10.flow_modify_strict.idle_timeout'],
+ fields['of10.flow_modify_strict.hard_timeout'],
+ fields['of10.flow_modify_strict.priority'],
+ fields['of10.flow_modify_strict.buffer_id'],
+ fields['of10.flow_modify_strict.out_port'],
+ fields['of10.flow_modify_strict.flags'],
+ fields['of10.flow_modify_strict.actions'],
+ fields['of10.flow_removed.version'],
+ fields['of10.flow_removed.type'],
+ fields['of10.flow_removed.length'],
+ fields['of10.flow_removed.xid'],
+ fields['of10.flow_removed.match'],
+ fields['of10.flow_removed.cookie'],
+ fields['of10.flow_removed.priority'],
+ fields['of10.flow_removed.reason'],
+ fields['of10.flow_removed.duration_sec'],
+ fields['of10.flow_removed.duration_nsec'],
+ fields['of10.flow_removed.idle_timeout'],
+ fields['of10.flow_removed.packet_count'],
+ fields['of10.flow_removed.byte_count'],
+ fields['of10.flow_stats_entry.length'],
+ fields['of10.flow_stats_entry.table_id'],
+ fields['of10.flow_stats_entry.match'],
+ fields['of10.flow_stats_entry.duration_sec'],
+ fields['of10.flow_stats_entry.duration_nsec'],
+ fields['of10.flow_stats_entry.priority'],
+ fields['of10.flow_stats_entry.idle_timeout'],
+ fields['of10.flow_stats_entry.hard_timeout'],
+ fields['of10.flow_stats_entry.cookie'],
+ fields['of10.flow_stats_entry.packet_count'],
+ fields['of10.flow_stats_entry.byte_count'],
+ fields['of10.flow_stats_entry.actions'],
+ fields['of10.flow_stats_reply.version'],
+ fields['of10.flow_stats_reply.type'],
+ fields['of10.flow_stats_reply.length'],
+ fields['of10.flow_stats_reply.xid'],
+ fields['of10.flow_stats_reply.stats_type'],
+ fields['of10.flow_stats_reply.flags'],
+ fields['of10.flow_stats_reply.entries'],
+ fields['of10.flow_stats_request.version'],
+ fields['of10.flow_stats_request.type'],
+ fields['of10.flow_stats_request.length'],
+ fields['of10.flow_stats_request.xid'],
+ fields['of10.flow_stats_request.stats_type'],
+ fields['of10.flow_stats_request.flags'],
+ fields['of10.flow_stats_request.match'],
+ fields['of10.flow_stats_request.table_id'],
+ fields['of10.flow_stats_request.out_port'],
+ fields['of10.get_config_reply.version'],
+ fields['of10.get_config_reply.type'],
+ fields['of10.get_config_reply.length'],
+ fields['of10.get_config_reply.xid'],
+ fields['of10.get_config_reply.flags'],
+ fields['of10.get_config_reply.miss_send_len'],
+ fields['of10.get_config_request.version'],
+ fields['of10.get_config_request.type'],
+ fields['of10.get_config_request.length'],
+ fields['of10.get_config_request.xid'],
+ fields['of10.hello.version'],
+ fields['of10.hello.type'],
+ fields['of10.hello.length'],
+ fields['of10.hello.xid'],
+ fields['of10.hello_failed_error_msg.version'],
+ fields['of10.hello_failed_error_msg.type'],
+ fields['of10.hello_failed_error_msg.length'],
+ fields['of10.hello_failed_error_msg.xid'],
+ fields['of10.hello_failed_error_msg.err_type'],
+ fields['of10.hello_failed_error_msg.code'],
+ fields['of10.hello_failed_error_msg.data'],
+ fields['of10.match_v1.wildcards'],
+ fields['of10.match_v1.in_port'],
+ fields['of10.match_v1.eth_src'],
+ fields['of10.match_v1.eth_dst'],
+ fields['of10.match_v1.vlan_vid'],
+ fields['of10.match_v1.vlan_pcp'],
+ fields['of10.match_v1.eth_type'],
+ fields['of10.match_v1.ip_dscp'],
+ fields['of10.match_v1.ip_proto'],
+ fields['of10.match_v1.ipv4_src'],
+ fields['of10.match_v1.ipv4_dst'],
+ fields['of10.match_v1.tcp_src'],
+ fields['of10.match_v1.tcp_dst'],
+ fields['of10.nicira_header.version'],
+ fields['of10.nicira_header.type'],
+ fields['of10.nicira_header.length'],
+ fields['of10.nicira_header.xid'],
+ fields['of10.nicira_header.experimenter'],
+ fields['of10.nicira_header.subtype'],
+ fields['of10.nicira_controller_role_reply.version'],
+ fields['of10.nicira_controller_role_reply.type'],
+ fields['of10.nicira_controller_role_reply.length'],
+ fields['of10.nicira_controller_role_reply.xid'],
+ fields['of10.nicira_controller_role_reply.experimenter'],
+ fields['of10.nicira_controller_role_reply.subtype'],
+ fields['of10.nicira_controller_role_reply.role'],
+ fields['of10.nicira_controller_role_request.version'],
+ fields['of10.nicira_controller_role_request.type'],
+ fields['of10.nicira_controller_role_request.length'],
+ fields['of10.nicira_controller_role_request.xid'],
+ fields['of10.nicira_controller_role_request.experimenter'],
+ fields['of10.nicira_controller_role_request.subtype'],
+ fields['of10.nicira_controller_role_request.role'],
+ fields['of10.packet_in.version'],
+ fields['of10.packet_in.type'],
+ fields['of10.packet_in.length'],
+ fields['of10.packet_in.xid'],
+ fields['of10.packet_in.buffer_id'],
+ fields['of10.packet_in.total_len'],
+ fields['of10.packet_in.in_port'],
+ fields['of10.packet_in.reason'],
+ fields['of10.packet_in.data'],
+ fields['of10.packet_out.version'],
+ fields['of10.packet_out.type'],
+ fields['of10.packet_out.length'],
+ fields['of10.packet_out.xid'],
+ fields['of10.packet_out.buffer_id'],
+ fields['of10.packet_out.in_port'],
+ fields['of10.packet_out.actions_len'],
+ fields['of10.packet_out.actions'],
+ fields['of10.packet_out.data'],
+ fields['of10.packet_queue.queue_id'],
+ fields['of10.packet_queue.len'],
+ fields['of10.packet_queue.properties'],
+ fields['of10.port_desc.port_no'],
+ fields['of10.port_desc.hw_addr'],
+ fields['of10.port_desc.name'],
+ fields['of10.port_desc.config'],
+ fields['of10.port_desc.state'],
+ fields['of10.port_desc.curr'],
+ fields['of10.port_desc.advertised'],
+ fields['of10.port_desc.supported'],
+ fields['of10.port_desc.peer'],
+ fields['of10.port_mod.version'],
+ fields['of10.port_mod.type'],
+ fields['of10.port_mod.length'],
+ fields['of10.port_mod.xid'],
+ fields['of10.port_mod.port_no'],
+ fields['of10.port_mod.hw_addr'],
+ fields['of10.port_mod.config'],
+ fields['of10.port_mod.mask'],
+ fields['of10.port_mod.advertise'],
+ fields['of10.port_mod_failed_error_msg.version'],
+ fields['of10.port_mod_failed_error_msg.type'],
+ fields['of10.port_mod_failed_error_msg.length'],
+ fields['of10.port_mod_failed_error_msg.xid'],
+ fields['of10.port_mod_failed_error_msg.err_type'],
+ fields['of10.port_mod_failed_error_msg.code'],
+ fields['of10.port_mod_failed_error_msg.data'],
+ fields['of10.port_stats_entry.port_no'],
+ fields['of10.port_stats_entry.rx_packets'],
+ fields['of10.port_stats_entry.tx_packets'],
+ fields['of10.port_stats_entry.rx_bytes'],
+ fields['of10.port_stats_entry.tx_bytes'],
+ fields['of10.port_stats_entry.rx_dropped'],
+ fields['of10.port_stats_entry.tx_dropped'],
+ fields['of10.port_stats_entry.rx_errors'],
+ fields['of10.port_stats_entry.tx_errors'],
+ fields['of10.port_stats_entry.rx_frame_err'],
+ fields['of10.port_stats_entry.rx_over_err'],
+ fields['of10.port_stats_entry.rx_crc_err'],
+ fields['of10.port_stats_entry.collisions'],
+ fields['of10.port_stats_reply.version'],
+ fields['of10.port_stats_reply.type'],
+ fields['of10.port_stats_reply.length'],
+ fields['of10.port_stats_reply.xid'],
+ fields['of10.port_stats_reply.stats_type'],
+ fields['of10.port_stats_reply.flags'],
+ fields['of10.port_stats_reply.entries'],
+ fields['of10.port_stats_request.version'],
+ fields['of10.port_stats_request.type'],
+ fields['of10.port_stats_request.length'],
+ fields['of10.port_stats_request.xid'],
+ fields['of10.port_stats_request.stats_type'],
+ fields['of10.port_stats_request.flags'],
+ fields['of10.port_stats_request.port_no'],
+ fields['of10.port_status.version'],
+ fields['of10.port_status.type'],
+ fields['of10.port_status.length'],
+ fields['of10.port_status.xid'],
+ fields['of10.port_status.reason'],
+ fields['of10.port_status.desc'],
+ fields['of10.queue_get_config_reply.version'],
+ fields['of10.queue_get_config_reply.type'],
+ fields['of10.queue_get_config_reply.length'],
+ fields['of10.queue_get_config_reply.xid'],
+ fields['of10.queue_get_config_reply.port'],
+ fields['of10.queue_get_config_reply.queues'],
+ fields['of10.queue_get_config_request.version'],
+ fields['of10.queue_get_config_request.type'],
+ fields['of10.queue_get_config_request.length'],
+ fields['of10.queue_get_config_request.xid'],
+ fields['of10.queue_get_config_request.port'],
+ fields['of10.queue_op_failed_error_msg.version'],
+ fields['of10.queue_op_failed_error_msg.type'],
+ fields['of10.queue_op_failed_error_msg.length'],
+ fields['of10.queue_op_failed_error_msg.xid'],
+ fields['of10.queue_op_failed_error_msg.err_type'],
+ fields['of10.queue_op_failed_error_msg.code'],
+ fields['of10.queue_op_failed_error_msg.data'],
+ fields['of10.queue_prop.type'],
+ fields['of10.queue_prop.len'],
+ fields['of10.queue_prop_min_rate.type'],
+ fields['of10.queue_prop_min_rate.len'],
+ fields['of10.queue_prop_min_rate.rate'],
+ fields['of10.queue_stats_entry.port_no'],
+ fields['of10.queue_stats_entry.queue_id'],
+ fields['of10.queue_stats_entry.tx_bytes'],
+ fields['of10.queue_stats_entry.tx_packets'],
+ fields['of10.queue_stats_entry.tx_errors'],
+ fields['of10.queue_stats_reply.version'],
+ fields['of10.queue_stats_reply.type'],
+ fields['of10.queue_stats_reply.length'],
+ fields['of10.queue_stats_reply.xid'],
+ fields['of10.queue_stats_reply.stats_type'],
+ fields['of10.queue_stats_reply.flags'],
+ fields['of10.queue_stats_reply.entries'],
+ fields['of10.queue_stats_request.version'],
+ fields['of10.queue_stats_request.type'],
+ fields['of10.queue_stats_request.length'],
+ fields['of10.queue_stats_request.xid'],
+ fields['of10.queue_stats_request.stats_type'],
+ fields['of10.queue_stats_request.flags'],
+ fields['of10.queue_stats_request.port_no'],
+ fields['of10.queue_stats_request.queue_id'],
+ fields['of10.set_config.version'],
+ fields['of10.set_config.type'],
+ fields['of10.set_config.length'],
+ fields['of10.set_config.xid'],
+ fields['of10.set_config.flags'],
+ fields['of10.set_config.miss_send_len'],
+ fields['of10.table_mod.version'],
+ fields['of10.table_mod.type'],
+ fields['of10.table_mod.length'],
+ fields['of10.table_mod.xid'],
+ fields['of10.table_mod.table_id'],
+ fields['of10.table_mod.config'],
+ fields['of10.table_stats_entry.table_id'],
+ fields['of10.table_stats_entry.name'],
+ fields['of10.table_stats_entry.wildcards'],
+ fields['of10.table_stats_entry.max_entries'],
+ fields['of10.table_stats_entry.active_count'],
+ fields['of10.table_stats_entry.lookup_count'],
+ fields['of10.table_stats_entry.matched_count'],
+ fields['of10.table_stats_reply.version'],
+ fields['of10.table_stats_reply.type'],
+ fields['of10.table_stats_reply.length'],
+ fields['of10.table_stats_reply.xid'],
+ fields['of10.table_stats_reply.stats_type'],
+ fields['of10.table_stats_reply.flags'],
+ fields['of10.table_stats_reply.entries'],
+ fields['of10.table_stats_request.version'],
+ fields['of10.table_stats_request.type'],
+ fields['of10.table_stats_request.length'],
+ fields['of10.table_stats_request.xid'],
+ fields['of10.table_stats_request.stats_type'],
+ fields['of10.table_stats_request.flags'],
+ fields['of11.action.type'],
+ fields['of11.action.len'],
+ fields['of11.action_experimenter.type'],
+ fields['of11.action_experimenter.len'],
+ fields['of11.action_experimenter.experimenter'],
+ fields['of11.action_experimenter.data'],
+ fields['of11.action_bsn.type'],
+ fields['of11.action_bsn.len'],
+ fields['of11.action_bsn.experimenter'],
+ fields['of11.action_bsn.subtype'],
+ fields['of11.action_bsn_checksum.type'],
+ fields['of11.action_bsn_checksum.len'],
+ fields['of11.action_bsn_checksum.experimenter'],
+ fields['of11.action_bsn_checksum.subtype'],
+ fields['of11.action_bsn_checksum.checksum'],
+ fields['of11.action_bsn_mirror.type'],
+ fields['of11.action_bsn_mirror.len'],
+ fields['of11.action_bsn_mirror.experimenter'],
+ fields['of11.action_bsn_mirror.subtype'],
+ fields['of11.action_bsn_mirror.dest_port'],
+ fields['of11.action_bsn_mirror.vlan_tag'],
+ fields['of11.action_bsn_mirror.copy_stage'],
+ fields['of11.action_bsn_set_tunnel_dst.type'],
+ fields['of11.action_bsn_set_tunnel_dst.len'],
+ fields['of11.action_bsn_set_tunnel_dst.experimenter'],
+ fields['of11.action_bsn_set_tunnel_dst.subtype'],
+ fields['of11.action_bsn_set_tunnel_dst.dst'],
+ fields['of11.action_copy_ttl_in.type'],
+ fields['of11.action_copy_ttl_in.len'],
+ fields['of11.action_copy_ttl_out.type'],
+ fields['of11.action_copy_ttl_out.len'],
+ fields['of11.action_dec_mpls_ttl.type'],
+ fields['of11.action_dec_mpls_ttl.len'],
+ fields['of11.action_dec_nw_ttl.type'],
+ fields['of11.action_dec_nw_ttl.len'],
+ fields['of11.action_group.type'],
+ fields['of11.action_group.len'],
+ fields['of11.action_group.group_id'],
+ fields['of11.action_nicira.type'],
+ fields['of11.action_nicira.len'],
+ fields['of11.action_nicira.experimenter'],
+ fields['of11.action_nicira.subtype'],
+ fields['of11.action_nicira_dec_ttl.type'],
+ fields['of11.action_nicira_dec_ttl.len'],
+ fields['of11.action_nicira_dec_ttl.experimenter'],
+ fields['of11.action_nicira_dec_ttl.subtype'],
+ fields['of11.action_output.type'],
+ fields['of11.action_output.len'],
+ fields['of11.action_output.port'],
+ fields['of11.action_output.max_len'],
+ fields['of11.action_pop_mpls.type'],
+ fields['of11.action_pop_mpls.len'],
+ fields['of11.action_pop_mpls.ethertype'],
+ fields['of11.action_pop_vlan.type'],
+ fields['of11.action_pop_vlan.len'],
+ fields['of11.action_push_mpls.type'],
+ fields['of11.action_push_mpls.len'],
+ fields['of11.action_push_mpls.ethertype'],
+ fields['of11.action_push_vlan.type'],
+ fields['of11.action_push_vlan.len'],
+ fields['of11.action_push_vlan.ethertype'],
+ fields['of11.action_set_dl_dst.type'],
+ fields['of11.action_set_dl_dst.len'],
+ fields['of11.action_set_dl_dst.dl_addr'],
+ fields['of11.action_set_dl_src.type'],
+ fields['of11.action_set_dl_src.len'],
+ fields['of11.action_set_dl_src.dl_addr'],
+ fields['of11.action_set_mpls_label.type'],
+ fields['of11.action_set_mpls_label.len'],
+ fields['of11.action_set_mpls_label.mpls_label'],
+ fields['of11.action_set_mpls_tc.type'],
+ fields['of11.action_set_mpls_tc.len'],
+ fields['of11.action_set_mpls_tc.mpls_tc'],
+ fields['of11.action_set_mpls_ttl.type'],
+ fields['of11.action_set_mpls_ttl.len'],
+ fields['of11.action_set_mpls_ttl.mpls_ttl'],
+ fields['of11.action_set_nw_dst.type'],
+ fields['of11.action_set_nw_dst.len'],
+ fields['of11.action_set_nw_dst.nw_addr'],
+ fields['of11.action_set_nw_ecn.type'],
+ fields['of11.action_set_nw_ecn.len'],
+ fields['of11.action_set_nw_ecn.nw_ecn'],
+ fields['of11.action_set_nw_src.type'],
+ fields['of11.action_set_nw_src.len'],
+ fields['of11.action_set_nw_src.nw_addr'],
+ fields['of11.action_set_nw_tos.type'],
+ fields['of11.action_set_nw_tos.len'],
+ fields['of11.action_set_nw_tos.nw_tos'],
+ fields['of11.action_set_nw_ttl.type'],
+ fields['of11.action_set_nw_ttl.len'],
+ fields['of11.action_set_nw_ttl.nw_ttl'],
+ fields['of11.action_set_queue.type'],
+ fields['of11.action_set_queue.len'],
+ fields['of11.action_set_queue.queue_id'],
+ fields['of11.action_set_tp_dst.type'],
+ fields['of11.action_set_tp_dst.len'],
+ fields['of11.action_set_tp_dst.tp_port'],
+ fields['of11.action_set_tp_src.type'],
+ fields['of11.action_set_tp_src.len'],
+ fields['of11.action_set_tp_src.tp_port'],
+ fields['of11.action_set_vlan_pcp.type'],
+ fields['of11.action_set_vlan_pcp.len'],
+ fields['of11.action_set_vlan_pcp.vlan_pcp'],
+ fields['of11.action_set_vlan_vid.type'],
+ fields['of11.action_set_vlan_vid.len'],
+ fields['of11.action_set_vlan_vid.vlan_vid'],
+ fields['of11.header.version'],
+ fields['of11.header.type'],
+ fields['of11.header.length'],
+ fields['of11.header.xid'],
+ fields['of11.stats_reply.version'],
+ fields['of11.stats_reply.type'],
+ fields['of11.stats_reply.length'],
+ fields['of11.stats_reply.xid'],
+ fields['of11.stats_reply.stats_type'],
+ fields['of11.stats_reply.flags'],
+ fields['of11.aggregate_stats_reply.version'],
+ fields['of11.aggregate_stats_reply.type'],
+ fields['of11.aggregate_stats_reply.length'],
+ fields['of11.aggregate_stats_reply.xid'],
+ fields['of11.aggregate_stats_reply.stats_type'],
+ fields['of11.aggregate_stats_reply.flags'],
+ fields['of11.aggregate_stats_reply.packet_count'],
+ fields['of11.aggregate_stats_reply.byte_count'],
+ fields['of11.aggregate_stats_reply.flow_count'],
+ fields['of11.stats_request.version'],
+ fields['of11.stats_request.type'],
+ fields['of11.stats_request.length'],
+ fields['of11.stats_request.xid'],
+ fields['of11.stats_request.stats_type'],
+ fields['of11.stats_request.flags'],
+ fields['of11.aggregate_stats_request.version'],
+ fields['of11.aggregate_stats_request.type'],
+ fields['of11.aggregate_stats_request.length'],
+ fields['of11.aggregate_stats_request.xid'],
+ fields['of11.aggregate_stats_request.stats_type'],
+ fields['of11.aggregate_stats_request.flags'],
+ fields['of11.aggregate_stats_request.table_id'],
+ fields['of11.aggregate_stats_request.out_port'],
+ fields['of11.aggregate_stats_request.out_group'],
+ fields['of11.aggregate_stats_request.cookie'],
+ fields['of11.aggregate_stats_request.cookie_mask'],
+ fields['of11.aggregate_stats_request.match'],
+ fields['of11.error_msg.version'],
+ fields['of11.error_msg.type'],
+ fields['of11.error_msg.length'],
+ fields['of11.error_msg.xid'],
+ fields['of11.error_msg.err_type'],
+ fields['of11.bad_action_error_msg.version'],
+ fields['of11.bad_action_error_msg.type'],
+ fields['of11.bad_action_error_msg.length'],
+ fields['of11.bad_action_error_msg.xid'],
+ fields['of11.bad_action_error_msg.err_type'],
+ fields['of11.bad_action_error_msg.code'],
+ fields['of11.bad_action_error_msg.data'],
+ fields['of11.bad_instruction_error_msg.version'],
+ fields['of11.bad_instruction_error_msg.type'],
+ fields['of11.bad_instruction_error_msg.length'],
+ fields['of11.bad_instruction_error_msg.xid'],
+ fields['of11.bad_instruction_error_msg.err_type'],
+ fields['of11.bad_instruction_error_msg.code'],
+ fields['of11.bad_instruction_error_msg.data'],
+ fields['of11.bad_match_error_msg.version'],
+ fields['of11.bad_match_error_msg.type'],
+ fields['of11.bad_match_error_msg.length'],
+ fields['of11.bad_match_error_msg.xid'],
+ fields['of11.bad_match_error_msg.err_type'],
+ fields['of11.bad_match_error_msg.code'],
+ fields['of11.bad_match_error_msg.data'],
+ fields['of11.bad_request_error_msg.version'],
+ fields['of11.bad_request_error_msg.type'],
+ fields['of11.bad_request_error_msg.length'],
+ fields['of11.bad_request_error_msg.xid'],
+ fields['of11.bad_request_error_msg.err_type'],
+ fields['of11.bad_request_error_msg.code'],
+ fields['of11.bad_request_error_msg.data'],
+ fields['of11.barrier_reply.version'],
+ fields['of11.barrier_reply.type'],
+ fields['of11.barrier_reply.length'],
+ fields['of11.barrier_reply.xid'],
+ fields['of11.barrier_request.version'],
+ fields['of11.barrier_request.type'],
+ fields['of11.barrier_request.length'],
+ fields['of11.barrier_request.xid'],
+ fields['of11.experimenter.version'],
+ fields['of11.experimenter.type'],
+ fields['of11.experimenter.length'],
+ fields['of11.experimenter.xid'],
+ fields['of11.experimenter.experimenter'],
+ fields['of11.experimenter.data'],
+ fields['of11.bsn_header.version'],
+ fields['of11.bsn_header.type'],
+ fields['of11.bsn_header.length'],
+ fields['of11.bsn_header.xid'],
+ fields['of11.bsn_header.experimenter'],
+ fields['of11.bsn_header.subtype'],
+ fields['of11.bsn_bw_clear_data_reply.version'],
+ fields['of11.bsn_bw_clear_data_reply.type'],
+ fields['of11.bsn_bw_clear_data_reply.length'],
+ fields['of11.bsn_bw_clear_data_reply.xid'],
+ fields['of11.bsn_bw_clear_data_reply.experimenter'],
+ fields['of11.bsn_bw_clear_data_reply.subtype'],
+ fields['of11.bsn_bw_clear_data_reply.status'],
+ fields['of11.bsn_bw_clear_data_request.version'],
+ fields['of11.bsn_bw_clear_data_request.type'],
+ fields['of11.bsn_bw_clear_data_request.length'],
+ fields['of11.bsn_bw_clear_data_request.xid'],
+ fields['of11.bsn_bw_clear_data_request.experimenter'],
+ fields['of11.bsn_bw_clear_data_request.subtype'],
+ fields['of11.bsn_bw_enable_get_reply.version'],
+ fields['of11.bsn_bw_enable_get_reply.type'],
+ fields['of11.bsn_bw_enable_get_reply.length'],
+ fields['of11.bsn_bw_enable_get_reply.xid'],
+ fields['of11.bsn_bw_enable_get_reply.experimenter'],
+ fields['of11.bsn_bw_enable_get_reply.subtype'],
+ fields['of11.bsn_bw_enable_get_reply.enabled'],
+ fields['of11.bsn_bw_enable_get_request.version'],
+ fields['of11.bsn_bw_enable_get_request.type'],
+ fields['of11.bsn_bw_enable_get_request.length'],
+ fields['of11.bsn_bw_enable_get_request.xid'],
+ fields['of11.bsn_bw_enable_get_request.experimenter'],
+ fields['of11.bsn_bw_enable_get_request.subtype'],
+ fields['of11.bsn_bw_enable_set_reply.version'],
+ fields['of11.bsn_bw_enable_set_reply.type'],
+ fields['of11.bsn_bw_enable_set_reply.length'],
+ fields['of11.bsn_bw_enable_set_reply.xid'],
+ fields['of11.bsn_bw_enable_set_reply.experimenter'],
+ fields['of11.bsn_bw_enable_set_reply.subtype'],
+ fields['of11.bsn_bw_enable_set_reply.enable'],
+ fields['of11.bsn_bw_enable_set_reply.status'],
+ fields['of11.bsn_bw_enable_set_request.version'],
+ fields['of11.bsn_bw_enable_set_request.type'],
+ fields['of11.bsn_bw_enable_set_request.length'],
+ fields['of11.bsn_bw_enable_set_request.xid'],
+ fields['of11.bsn_bw_enable_set_request.experimenter'],
+ fields['of11.bsn_bw_enable_set_request.subtype'],
+ fields['of11.bsn_bw_enable_set_request.enable'],
+ fields['of11.bsn_get_interfaces_reply.version'],
+ fields['of11.bsn_get_interfaces_reply.type'],
+ fields['of11.bsn_get_interfaces_reply.length'],
+ fields['of11.bsn_get_interfaces_reply.xid'],
+ fields['of11.bsn_get_interfaces_reply.experimenter'],
+ fields['of11.bsn_get_interfaces_reply.subtype'],
+ fields['of11.bsn_get_interfaces_reply.interfaces'],
+ fields['of11.bsn_get_interfaces_request.version'],
+ fields['of11.bsn_get_interfaces_request.type'],
+ fields['of11.bsn_get_interfaces_request.length'],
+ fields['of11.bsn_get_interfaces_request.xid'],
+ fields['of11.bsn_get_interfaces_request.experimenter'],
+ fields['of11.bsn_get_interfaces_request.subtype'],
+ fields['of11.bsn_get_mirroring_reply.version'],
+ fields['of11.bsn_get_mirroring_reply.type'],
+ fields['of11.bsn_get_mirroring_reply.length'],
+ fields['of11.bsn_get_mirroring_reply.xid'],
+ fields['of11.bsn_get_mirroring_reply.experimenter'],
+ fields['of11.bsn_get_mirroring_reply.subtype'],
+ fields['of11.bsn_get_mirroring_reply.report_mirror_ports'],
+ fields['of11.bsn_get_mirroring_request.version'],
+ fields['of11.bsn_get_mirroring_request.type'],
+ fields['of11.bsn_get_mirroring_request.length'],
+ fields['of11.bsn_get_mirroring_request.xid'],
+ fields['of11.bsn_get_mirroring_request.experimenter'],
+ fields['of11.bsn_get_mirroring_request.subtype'],
+ fields['of11.bsn_get_mirroring_request.report_mirror_ports'],
+ fields['of11.bsn_interface.hw_addr'],
+ fields['of11.bsn_interface.name'],
+ fields['of11.bsn_interface.ipv4_addr'],
+ fields['of11.bsn_interface.ipv4_netmask'],
+ fields['of11.bsn_pdu_rx_reply.version'],
+ fields['of11.bsn_pdu_rx_reply.type'],
+ fields['of11.bsn_pdu_rx_reply.length'],
+ fields['of11.bsn_pdu_rx_reply.xid'],
+ fields['of11.bsn_pdu_rx_reply.experimenter'],
+ fields['of11.bsn_pdu_rx_reply.subtype'],
+ fields['of11.bsn_pdu_rx_reply.status'],
+ fields['of11.bsn_pdu_rx_reply.port_no'],
+ fields['of11.bsn_pdu_rx_reply.slot_num'],
+ fields['of11.bsn_pdu_rx_request.version'],
+ fields['of11.bsn_pdu_rx_request.type'],
+ fields['of11.bsn_pdu_rx_request.length'],
+ fields['of11.bsn_pdu_rx_request.xid'],
+ fields['of11.bsn_pdu_rx_request.experimenter'],
+ fields['of11.bsn_pdu_rx_request.subtype'],
+ fields['of11.bsn_pdu_rx_request.timeout_ms'],
+ fields['of11.bsn_pdu_rx_request.port_no'],
+ fields['of11.bsn_pdu_rx_request.slot_num'],
+ fields['of11.bsn_pdu_rx_request.data'],
+ fields['of11.bsn_pdu_rx_timeout.version'],
+ fields['of11.bsn_pdu_rx_timeout.type'],
+ fields['of11.bsn_pdu_rx_timeout.length'],
+ fields['of11.bsn_pdu_rx_timeout.xid'],
+ fields['of11.bsn_pdu_rx_timeout.experimenter'],
+ fields['of11.bsn_pdu_rx_timeout.subtype'],
+ fields['of11.bsn_pdu_rx_timeout.port_no'],
+ fields['of11.bsn_pdu_rx_timeout.slot_num'],
+ fields['of11.bsn_pdu_tx_reply.version'],
+ fields['of11.bsn_pdu_tx_reply.type'],
+ fields['of11.bsn_pdu_tx_reply.length'],
+ fields['of11.bsn_pdu_tx_reply.xid'],
+ fields['of11.bsn_pdu_tx_reply.experimenter'],
+ fields['of11.bsn_pdu_tx_reply.subtype'],
+ fields['of11.bsn_pdu_tx_reply.status'],
+ fields['of11.bsn_pdu_tx_reply.port_no'],
+ fields['of11.bsn_pdu_tx_reply.slot_num'],
+ fields['of11.bsn_pdu_tx_request.version'],
+ fields['of11.bsn_pdu_tx_request.type'],
+ fields['of11.bsn_pdu_tx_request.length'],
+ fields['of11.bsn_pdu_tx_request.xid'],
+ fields['of11.bsn_pdu_tx_request.experimenter'],
+ fields['of11.bsn_pdu_tx_request.subtype'],
+ fields['of11.bsn_pdu_tx_request.tx_interval_ms'],
+ fields['of11.bsn_pdu_tx_request.port_no'],
+ fields['of11.bsn_pdu_tx_request.slot_num'],
+ fields['of11.bsn_pdu_tx_request.data'],
+ fields['of11.bsn_set_mirroring.version'],
+ fields['of11.bsn_set_mirroring.type'],
+ fields['of11.bsn_set_mirroring.length'],
+ fields['of11.bsn_set_mirroring.xid'],
+ fields['of11.bsn_set_mirroring.experimenter'],
+ fields['of11.bsn_set_mirroring.subtype'],
+ fields['of11.bsn_set_mirroring.report_mirror_ports'],
+ fields['of11.bsn_set_pktin_suppression_reply.version'],
+ fields['of11.bsn_set_pktin_suppression_reply.type'],
+ fields['of11.bsn_set_pktin_suppression_reply.length'],
+ fields['of11.bsn_set_pktin_suppression_reply.xid'],
+ fields['of11.bsn_set_pktin_suppression_reply.experimenter'],
+ fields['of11.bsn_set_pktin_suppression_reply.subtype'],
+ fields['of11.bsn_set_pktin_suppression_reply.status'],
+ fields['of11.bsn_set_pktin_suppression_request.version'],
+ fields['of11.bsn_set_pktin_suppression_request.type'],
+ fields['of11.bsn_set_pktin_suppression_request.length'],
+ fields['of11.bsn_set_pktin_suppression_request.xid'],
+ fields['of11.bsn_set_pktin_suppression_request.experimenter'],
+ fields['of11.bsn_set_pktin_suppression_request.subtype'],
+ fields['of11.bsn_set_pktin_suppression_request.enabled'],
+ fields['of11.bsn_set_pktin_suppression_request.idle_timeout'],
+ fields['of11.bsn_set_pktin_suppression_request.hard_timeout'],
+ fields['of11.bsn_set_pktin_suppression_request.priority'],
+ fields['of11.bsn_set_pktin_suppression_request.cookie'],
+ fields['of11.experimenter_stats_reply.version'],
+ fields['of11.experimenter_stats_reply.type'],
+ fields['of11.experimenter_stats_reply.length'],
+ fields['of11.experimenter_stats_reply.xid'],
+ fields['of11.experimenter_stats_reply.stats_type'],
+ fields['of11.experimenter_stats_reply.flags'],
+ fields['of11.experimenter_stats_reply.experimenter'],
+ fields['of11.experimenter_stats_reply.data'],
+ fields['of11.bsn_stats_reply.version'],
+ fields['of11.bsn_stats_reply.type'],
+ fields['of11.bsn_stats_reply.length'],
+ fields['of11.bsn_stats_reply.xid'],
+ fields['of11.bsn_stats_reply.stats_type'],
+ fields['of11.bsn_stats_reply.flags'],
+ fields['of11.bsn_stats_reply.experimenter'],
+ fields['of11.bsn_stats_reply.subtype'],
+ fields['of11.experimenter_stats_request.version'],
+ fields['of11.experimenter_stats_request.type'],
+ fields['of11.experimenter_stats_request.length'],
+ fields['of11.experimenter_stats_request.xid'],
+ fields['of11.experimenter_stats_request.stats_type'],
+ fields['of11.experimenter_stats_request.flags'],
+ fields['of11.experimenter_stats_request.experimenter'],
+ fields['of11.experimenter_stats_request.data'],
+ fields['of11.bsn_stats_request.version'],
+ fields['of11.bsn_stats_request.type'],
+ fields['of11.bsn_stats_request.length'],
+ fields['of11.bsn_stats_request.xid'],
+ fields['of11.bsn_stats_request.stats_type'],
+ fields['of11.bsn_stats_request.flags'],
+ fields['of11.bsn_stats_request.experimenter'],
+ fields['of11.bsn_stats_request.subtype'],
+ fields['of11.bsn_virtual_port_create_reply.version'],
+ fields['of11.bsn_virtual_port_create_reply.type'],
+ fields['of11.bsn_virtual_port_create_reply.length'],
+ fields['of11.bsn_virtual_port_create_reply.xid'],
+ fields['of11.bsn_virtual_port_create_reply.experimenter'],
+ fields['of11.bsn_virtual_port_create_reply.subtype'],
+ fields['of11.bsn_virtual_port_create_reply.status'],
+ fields['of11.bsn_virtual_port_create_reply.vport_no'],
+ fields['of11.bsn_vport.type'],
+ fields['of11.bsn_vport.length'],
+ fields['of11.bsn_virtual_port_create_request.version'],
+ fields['of11.bsn_virtual_port_create_request.type'],
+ fields['of11.bsn_virtual_port_create_request.length'],
+ fields['of11.bsn_virtual_port_create_request.xid'],
+ fields['of11.bsn_virtual_port_create_request.experimenter'],
+ fields['of11.bsn_virtual_port_create_request.subtype'],
+ fields['of11.bsn_virtual_port_create_request.vport'],
+ fields['of11.bsn_virtual_port_remove_reply.version'],
+ fields['of11.bsn_virtual_port_remove_reply.type'],
+ fields['of11.bsn_virtual_port_remove_reply.length'],
+ fields['of11.bsn_virtual_port_remove_reply.xid'],
+ fields['of11.bsn_virtual_port_remove_reply.experimenter'],
+ fields['of11.bsn_virtual_port_remove_reply.subtype'],
+ fields['of11.bsn_virtual_port_remove_reply.status'],
+ fields['of11.bsn_virtual_port_remove_request.version'],
+ fields['of11.bsn_virtual_port_remove_request.type'],
+ fields['of11.bsn_virtual_port_remove_request.length'],
+ fields['of11.bsn_virtual_port_remove_request.xid'],
+ fields['of11.bsn_virtual_port_remove_request.experimenter'],
+ fields['of11.bsn_virtual_port_remove_request.subtype'],
+ fields['of11.bsn_virtual_port_remove_request.vport_no'],
+ fields['of11.bsn_vport_l2gre.type'],
+ fields['of11.bsn_vport_l2gre.length'],
+ fields['of11.bsn_vport_l2gre.flags'],
+ fields['of11.bsn_vport_l2gre.port_no'],
+ fields['of11.bsn_vport_l2gre.loopback_port_no'],
+ fields['of11.bsn_vport_l2gre.local_mac'],
+ fields['of11.bsn_vport_l2gre.nh_mac'],
+ fields['of11.bsn_vport_l2gre.src_ip'],
+ fields['of11.bsn_vport_l2gre.dst_ip'],
+ fields['of11.bsn_vport_l2gre.dscp'],
+ fields['of11.bsn_vport_l2gre.ttl'],
+ fields['of11.bsn_vport_l2gre.vpn'],
+ fields['of11.bsn_vport_l2gre.rate_limit'],
+ fields['of11.bsn_vport_l2gre.if_name'],
+ fields['of11.bsn_vport_q_in_q.type'],
+ fields['of11.bsn_vport_q_in_q.length'],
+ fields['of11.bsn_vport_q_in_q.port_no'],
+ fields['of11.bsn_vport_q_in_q.ingress_tpid'],
+ fields['of11.bsn_vport_q_in_q.ingress_vlan_id'],
+ fields['of11.bsn_vport_q_in_q.egress_tpid'],
+ fields['of11.bsn_vport_q_in_q.egress_vlan_id'],
+ fields['of11.bsn_vport_q_in_q.if_name'],
+ fields['of11.bucket.len'],
+ fields['of11.bucket.weight'],
+ fields['of11.bucket.watch_port'],
+ fields['of11.bucket.watch_group'],
+ fields['of11.bucket.actions'],
+ fields['of11.bucket_counter.packet_count'],
+ fields['of11.bucket_counter.byte_count'],
+ fields['of11.desc_stats_reply.version'],
+ fields['of11.desc_stats_reply.type'],
+ fields['of11.desc_stats_reply.length'],
+ fields['of11.desc_stats_reply.xid'],
+ fields['of11.desc_stats_reply.stats_type'],
+ fields['of11.desc_stats_reply.flags'],
+ fields['of11.desc_stats_reply.mfr_desc'],
+ fields['of11.desc_stats_reply.hw_desc'],
+ fields['of11.desc_stats_reply.sw_desc'],
+ fields['of11.desc_stats_reply.serial_num'],
+ fields['of11.desc_stats_reply.dp_desc'],
+ fields['of11.desc_stats_request.version'],
+ fields['of11.desc_stats_request.type'],
+ fields['of11.desc_stats_request.length'],
+ fields['of11.desc_stats_request.xid'],
+ fields['of11.desc_stats_request.stats_type'],
+ fields['of11.desc_stats_request.flags'],
+ fields['of11.echo_reply.version'],
+ fields['of11.echo_reply.type'],
+ fields['of11.echo_reply.length'],
+ fields['of11.echo_reply.xid'],
+ fields['of11.echo_reply.data'],
+ fields['of11.echo_request.version'],
+ fields['of11.echo_request.type'],
+ fields['of11.echo_request.length'],
+ fields['of11.echo_request.xid'],
+ fields['of11.echo_request.data'],
+ fields['of11.features_reply.version'],
+ fields['of11.features_reply.type'],
+ fields['of11.features_reply.length'],
+ fields['of11.features_reply.xid'],
+ fields['of11.features_reply.datapath_id'],
+ fields['of11.features_reply.n_buffers'],
+ fields['of11.features_reply.n_tables'],
+ fields['of11.features_reply.capabilities'],
+ fields['of11.features_reply.reserved'],
+ fields['of11.features_reply.ports'],
+ fields['of11.features_request.version'],
+ fields['of11.features_request.type'],
+ fields['of11.features_request.length'],
+ fields['of11.features_request.xid'],
+ fields['of11.flow_mod.version'],
+ fields['of11.flow_mod.type'],
+ fields['of11.flow_mod.length'],
+ fields['of11.flow_mod.xid'],
+ fields['of11.flow_mod.cookie'],
+ fields['of11.flow_mod.cookie_mask'],
+ fields['of11.flow_mod.table_id'],
+ fields['of11.flow_mod._command'],
+ fields['of11.flow_mod.idle_timeout'],
+ fields['of11.flow_mod.hard_timeout'],
+ fields['of11.flow_mod.priority'],
+ fields['of11.flow_mod.buffer_id'],
+ fields['of11.flow_mod.out_port'],
+ fields['of11.flow_mod.out_group'],
+ fields['of11.flow_mod.flags'],
+ fields['of11.flow_mod.match'],
+ fields['of11.flow_mod.instructions'],
+ fields['of11.flow_add.version'],
+ fields['of11.flow_add.type'],
+ fields['of11.flow_add.length'],
+ fields['of11.flow_add.xid'],
+ fields['of11.flow_add.cookie'],
+ fields['of11.flow_add.cookie_mask'],
+ fields['of11.flow_add.table_id'],
+ fields['of11.flow_add._command'],
+ fields['of11.flow_add.idle_timeout'],
+ fields['of11.flow_add.hard_timeout'],
+ fields['of11.flow_add.priority'],
+ fields['of11.flow_add.buffer_id'],
+ fields['of11.flow_add.out_port'],
+ fields['of11.flow_add.out_group'],
+ fields['of11.flow_add.flags'],
+ fields['of11.flow_add.match'],
+ fields['of11.flow_add.instructions'],
+ fields['of11.flow_delete.version'],
+ fields['of11.flow_delete.type'],
+ fields['of11.flow_delete.length'],
+ fields['of11.flow_delete.xid'],
+ fields['of11.flow_delete.cookie'],
+ fields['of11.flow_delete.cookie_mask'],
+ fields['of11.flow_delete.table_id'],
+ fields['of11.flow_delete._command'],
+ fields['of11.flow_delete.idle_timeout'],
+ fields['of11.flow_delete.hard_timeout'],
+ fields['of11.flow_delete.priority'],
+ fields['of11.flow_delete.buffer_id'],
+ fields['of11.flow_delete.out_port'],
+ fields['of11.flow_delete.out_group'],
+ fields['of11.flow_delete.flags'],
+ fields['of11.flow_delete.match'],
+ fields['of11.flow_delete.instructions'],
+ fields['of11.flow_delete_strict.version'],
+ fields['of11.flow_delete_strict.type'],
+ fields['of11.flow_delete_strict.length'],
+ fields['of11.flow_delete_strict.xid'],
+ fields['of11.flow_delete_strict.cookie'],
+ fields['of11.flow_delete_strict.cookie_mask'],
+ fields['of11.flow_delete_strict.table_id'],
+ fields['of11.flow_delete_strict._command'],
+ fields['of11.flow_delete_strict.idle_timeout'],
+ fields['of11.flow_delete_strict.hard_timeout'],
+ fields['of11.flow_delete_strict.priority'],
+ fields['of11.flow_delete_strict.buffer_id'],
+ fields['of11.flow_delete_strict.out_port'],
+ fields['of11.flow_delete_strict.out_group'],
+ fields['of11.flow_delete_strict.flags'],
+ fields['of11.flow_delete_strict.match'],
+ fields['of11.flow_delete_strict.instructions'],
+ fields['of11.flow_mod_failed_error_msg.version'],
+ fields['of11.flow_mod_failed_error_msg.type'],
+ fields['of11.flow_mod_failed_error_msg.length'],
+ fields['of11.flow_mod_failed_error_msg.xid'],
+ fields['of11.flow_mod_failed_error_msg.err_type'],
+ fields['of11.flow_mod_failed_error_msg.code'],
+ fields['of11.flow_mod_failed_error_msg.data'],
+ fields['of11.flow_modify.version'],
+ fields['of11.flow_modify.type'],
+ fields['of11.flow_modify.length'],
+ fields['of11.flow_modify.xid'],
+ fields['of11.flow_modify.cookie'],
+ fields['of11.flow_modify.cookie_mask'],
+ fields['of11.flow_modify.table_id'],
+ fields['of11.flow_modify._command'],
+ fields['of11.flow_modify.idle_timeout'],
+ fields['of11.flow_modify.hard_timeout'],
+ fields['of11.flow_modify.priority'],
+ fields['of11.flow_modify.buffer_id'],
+ fields['of11.flow_modify.out_port'],
+ fields['of11.flow_modify.out_group'],
+ fields['of11.flow_modify.flags'],
+ fields['of11.flow_modify.match'],
+ fields['of11.flow_modify.instructions'],
+ fields['of11.flow_modify_strict.version'],
+ fields['of11.flow_modify_strict.type'],
+ fields['of11.flow_modify_strict.length'],
+ fields['of11.flow_modify_strict.xid'],
+ fields['of11.flow_modify_strict.cookie'],
+ fields['of11.flow_modify_strict.cookie_mask'],
+ fields['of11.flow_modify_strict.table_id'],
+ fields['of11.flow_modify_strict._command'],
+ fields['of11.flow_modify_strict.idle_timeout'],
+ fields['of11.flow_modify_strict.hard_timeout'],
+ fields['of11.flow_modify_strict.priority'],
+ fields['of11.flow_modify_strict.buffer_id'],
+ fields['of11.flow_modify_strict.out_port'],
+ fields['of11.flow_modify_strict.out_group'],
+ fields['of11.flow_modify_strict.flags'],
+ fields['of11.flow_modify_strict.match'],
+ fields['of11.flow_modify_strict.instructions'],
+ fields['of11.flow_removed.version'],
+ fields['of11.flow_removed.type'],
+ fields['of11.flow_removed.length'],
+ fields['of11.flow_removed.xid'],
+ fields['of11.flow_removed.cookie'],
+ fields['of11.flow_removed.priority'],
+ fields['of11.flow_removed.reason'],
+ fields['of11.flow_removed.table_id'],
+ fields['of11.flow_removed.duration_sec'],
+ fields['of11.flow_removed.duration_nsec'],
+ fields['of11.flow_removed.idle_timeout'],
+ fields['of11.flow_removed.packet_count'],
+ fields['of11.flow_removed.byte_count'],
+ fields['of11.flow_removed.match'],
+ fields['of11.flow_stats_entry.length'],
+ fields['of11.flow_stats_entry.table_id'],
+ fields['of11.flow_stats_entry.duration_sec'],
+ fields['of11.flow_stats_entry.duration_nsec'],
+ fields['of11.flow_stats_entry.priority'],
+ fields['of11.flow_stats_entry.idle_timeout'],
+ fields['of11.flow_stats_entry.hard_timeout'],
+ fields['of11.flow_stats_entry.cookie'],
+ fields['of11.flow_stats_entry.packet_count'],
+ fields['of11.flow_stats_entry.byte_count'],
+ fields['of11.flow_stats_entry.match'],
+ fields['of11.flow_stats_entry.instructions'],
+ fields['of11.flow_stats_reply.version'],
+ fields['of11.flow_stats_reply.type'],
+ fields['of11.flow_stats_reply.length'],
+ fields['of11.flow_stats_reply.xid'],
+ fields['of11.flow_stats_reply.stats_type'],
+ fields['of11.flow_stats_reply.flags'],
+ fields['of11.flow_stats_reply.entries'],
+ fields['of11.flow_stats_request.version'],
+ fields['of11.flow_stats_request.type'],
+ fields['of11.flow_stats_request.length'],
+ fields['of11.flow_stats_request.xid'],
+ fields['of11.flow_stats_request.stats_type'],
+ fields['of11.flow_stats_request.flags'],
+ fields['of11.flow_stats_request.table_id'],
+ fields['of11.flow_stats_request.out_port'],
+ fields['of11.flow_stats_request.out_group'],
+ fields['of11.flow_stats_request.cookie'],
+ fields['of11.flow_stats_request.cookie_mask'],
+ fields['of11.flow_stats_request.match'],
+ fields['of11.get_config_reply.version'],
+ fields['of11.get_config_reply.type'],
+ fields['of11.get_config_reply.length'],
+ fields['of11.get_config_reply.xid'],
+ fields['of11.get_config_reply.flags'],
+ fields['of11.get_config_reply.miss_send_len'],
+ fields['of11.get_config_request.version'],
+ fields['of11.get_config_request.type'],
+ fields['of11.get_config_request.length'],
+ fields['of11.get_config_request.xid'],
+ fields['of11.group_mod.version'],
+ fields['of11.group_mod.type'],
+ fields['of11.group_mod.length'],
+ fields['of11.group_mod.xid'],
+ fields['of11.group_mod.command'],
+ fields['of11.group_mod.group_type'],
+ fields['of11.group_mod.group_id'],
+ fields['of11.group_mod.buckets'],
+ fields['of11.group_add.version'],
+ fields['of11.group_add.type'],
+ fields['of11.group_add.length'],
+ fields['of11.group_add.xid'],
+ fields['of11.group_add.command'],
+ fields['of11.group_add.group_type'],
+ fields['of11.group_add.group_id'],
+ fields['of11.group_add.buckets'],
+ fields['of11.group_delete.version'],
+ fields['of11.group_delete.type'],
+ fields['of11.group_delete.length'],
+ fields['of11.group_delete.xid'],
+ fields['of11.group_delete.command'],
+ fields['of11.group_delete.group_type'],
+ fields['of11.group_delete.group_id'],
+ fields['of11.group_delete.buckets'],
+ fields['of11.group_desc_stats_entry.length'],
+ fields['of11.group_desc_stats_entry.group_type'],
+ fields['of11.group_desc_stats_entry.group_id'],
+ fields['of11.group_desc_stats_entry.buckets'],
+ fields['of11.group_desc_stats_reply.version'],
+ fields['of11.group_desc_stats_reply.type'],
+ fields['of11.group_desc_stats_reply.length'],
+ fields['of11.group_desc_stats_reply.xid'],
+ fields['of11.group_desc_stats_reply.stats_type'],
+ fields['of11.group_desc_stats_reply.flags'],
+ fields['of11.group_desc_stats_reply.entries'],
+ fields['of11.group_desc_stats_request.version'],
+ fields['of11.group_desc_stats_request.type'],
+ fields['of11.group_desc_stats_request.length'],
+ fields['of11.group_desc_stats_request.xid'],
+ fields['of11.group_desc_stats_request.stats_type'],
+ fields['of11.group_desc_stats_request.flags'],
+ fields['of11.group_mod_failed_error_msg.version'],
+ fields['of11.group_mod_failed_error_msg.type'],
+ fields['of11.group_mod_failed_error_msg.length'],
+ fields['of11.group_mod_failed_error_msg.xid'],
+ fields['of11.group_mod_failed_error_msg.err_type'],
+ fields['of11.group_mod_failed_error_msg.code'],
+ fields['of11.group_mod_failed_error_msg.data'],
+ fields['of11.group_modify.version'],
+ fields['of11.group_modify.type'],
+ fields['of11.group_modify.length'],
+ fields['of11.group_modify.xid'],
+ fields['of11.group_modify.command'],
+ fields['of11.group_modify.group_type'],
+ fields['of11.group_modify.group_id'],
+ fields['of11.group_modify.buckets'],
+ fields['of11.group_stats_entry.length'],
+ fields['of11.group_stats_entry.group_id'],
+ fields['of11.group_stats_entry.ref_count'],
+ fields['of11.group_stats_entry.packet_count'],
+ fields['of11.group_stats_entry.byte_count'],
+ fields['of11.group_stats_entry.bucket_stats'],
+ fields['of11.group_stats_reply.version'],
+ fields['of11.group_stats_reply.type'],
+ fields['of11.group_stats_reply.length'],
+ fields['of11.group_stats_reply.xid'],
+ fields['of11.group_stats_reply.stats_type'],
+ fields['of11.group_stats_reply.flags'],
+ fields['of11.group_stats_reply.entries'],
+ fields['of11.group_stats_request.version'],
+ fields['of11.group_stats_request.type'],
+ fields['of11.group_stats_request.length'],
+ fields['of11.group_stats_request.xid'],
+ fields['of11.group_stats_request.stats_type'],
+ fields['of11.group_stats_request.flags'],
+ fields['of11.group_stats_request.group_id'],
+ fields['of11.hello.version'],
+ fields['of11.hello.type'],
+ fields['of11.hello.length'],
+ fields['of11.hello.xid'],
+ fields['of11.hello_failed_error_msg.version'],
+ fields['of11.hello_failed_error_msg.type'],
+ fields['of11.hello_failed_error_msg.length'],
+ fields['of11.hello_failed_error_msg.xid'],
+ fields['of11.hello_failed_error_msg.err_type'],
+ fields['of11.hello_failed_error_msg.code'],
+ fields['of11.hello_failed_error_msg.data'],
+ fields['of11.instruction.type'],
+ fields['of11.instruction.len'],
+ fields['of11.instruction_apply_actions.type'],
+ fields['of11.instruction_apply_actions.len'],
+ fields['of11.instruction_apply_actions.actions'],
+ fields['of11.instruction_clear_actions.type'],
+ fields['of11.instruction_clear_actions.len'],
+ fields['of11.instruction_experimenter.type'],
+ fields['of11.instruction_experimenter.len'],
+ fields['of11.instruction_experimenter.experimenter'],
+ fields['of11.instruction_experimenter.data'],
+ fields['of11.instruction_goto_table.type'],
+ fields['of11.instruction_goto_table.len'],
+ fields['of11.instruction_goto_table.table_id'],
+ fields['of11.instruction_write_actions.type'],
+ fields['of11.instruction_write_actions.len'],
+ fields['of11.instruction_write_actions.actions'],
+ fields['of11.instruction_write_metadata.type'],
+ fields['of11.instruction_write_metadata.len'],
+ fields['of11.instruction_write_metadata.metadata'],
+ fields['of11.instruction_write_metadata.metadata_mask'],
+ fields['of11.match_v2.type'],
+ fields['of11.match_v2.length'],
+ fields['of11.match_v2.in_port'],
+ fields['of11.match_v2.wildcards'],
+ fields['of11.match_v2.eth_src'],
+ fields['of11.match_v2.eth_src_mask'],
+ fields['of11.match_v2.eth_dst'],
+ fields['of11.match_v2.eth_dst_mask'],
+ fields['of11.match_v2.vlan_vid'],
+ fields['of11.match_v2.vlan_pcp'],
+ fields['of11.match_v2.eth_type'],
+ fields['of11.match_v2.ip_dscp'],
+ fields['of11.match_v2.ip_proto'],
+ fields['of11.match_v2.ipv4_src'],
+ fields['of11.match_v2.ipv4_src_mask'],
+ fields['of11.match_v2.ipv4_dst'],
+ fields['of11.match_v2.ipv4_dst_mask'],
+ fields['of11.match_v2.tcp_src'],
+ fields['of11.match_v2.tcp_dst'],
+ fields['of11.match_v2.mpls_label'],
+ fields['of11.match_v2.mpls_tc'],
+ fields['of11.match_v2.metadata'],
+ fields['of11.match_v2.metadata_mask'],
+ fields['of11.nicira_header.version'],
+ fields['of11.nicira_header.type'],
+ fields['of11.nicira_header.length'],
+ fields['of11.nicira_header.xid'],
+ fields['of11.nicira_header.experimenter'],
+ fields['of11.nicira_header.subtype'],
+ fields['of11.packet_in.version'],
+ fields['of11.packet_in.type'],
+ fields['of11.packet_in.length'],
+ fields['of11.packet_in.xid'],
+ fields['of11.packet_in.buffer_id'],
+ fields['of11.packet_in.in_port'],
+ fields['of11.packet_in.in_phy_port'],
+ fields['of11.packet_in.total_len'],
+ fields['of11.packet_in.reason'],
+ fields['of11.packet_in.table_id'],
+ fields['of11.packet_in.data'],
+ fields['of11.packet_out.version'],
+ fields['of11.packet_out.type'],
+ fields['of11.packet_out.length'],
+ fields['of11.packet_out.xid'],
+ fields['of11.packet_out.buffer_id'],
+ fields['of11.packet_out.in_port'],
+ fields['of11.packet_out.actions_len'],
+ fields['of11.packet_out.actions'],
+ fields['of11.packet_out.data'],
+ fields['of11.packet_queue.queue_id'],
+ fields['of11.packet_queue.len'],
+ fields['of11.packet_queue.properties'],
+ fields['of11.port_desc.port_no'],
+ fields['of11.port_desc.hw_addr'],
+ fields['of11.port_desc.name'],
+ fields['of11.port_desc.config'],
+ fields['of11.port_desc.state'],
+ fields['of11.port_desc.curr'],
+ fields['of11.port_desc.advertised'],
+ fields['of11.port_desc.supported'],
+ fields['of11.port_desc.peer'],
+ fields['of11.port_desc.curr_speed'],
+ fields['of11.port_desc.max_speed'],
+ fields['of11.port_mod.version'],
+ fields['of11.port_mod.type'],
+ fields['of11.port_mod.length'],
+ fields['of11.port_mod.xid'],
+ fields['of11.port_mod.port_no'],
+ fields['of11.port_mod.hw_addr'],
+ fields['of11.port_mod.config'],
+ fields['of11.port_mod.mask'],
+ fields['of11.port_mod.advertise'],
+ fields['of11.port_mod_failed_error_msg.version'],
+ fields['of11.port_mod_failed_error_msg.type'],
+ fields['of11.port_mod_failed_error_msg.length'],
+ fields['of11.port_mod_failed_error_msg.xid'],
+ fields['of11.port_mod_failed_error_msg.err_type'],
+ fields['of11.port_mod_failed_error_msg.code'],
+ fields['of11.port_mod_failed_error_msg.data'],
+ fields['of11.port_stats_entry.port_no'],
+ fields['of11.port_stats_entry.rx_packets'],
+ fields['of11.port_stats_entry.tx_packets'],
+ fields['of11.port_stats_entry.rx_bytes'],
+ fields['of11.port_stats_entry.tx_bytes'],
+ fields['of11.port_stats_entry.rx_dropped'],
+ fields['of11.port_stats_entry.tx_dropped'],
+ fields['of11.port_stats_entry.rx_errors'],
+ fields['of11.port_stats_entry.tx_errors'],
+ fields['of11.port_stats_entry.rx_frame_err'],
+ fields['of11.port_stats_entry.rx_over_err'],
+ fields['of11.port_stats_entry.rx_crc_err'],
+ fields['of11.port_stats_entry.collisions'],
+ fields['of11.port_stats_reply.version'],
+ fields['of11.port_stats_reply.type'],
+ fields['of11.port_stats_reply.length'],
+ fields['of11.port_stats_reply.xid'],
+ fields['of11.port_stats_reply.stats_type'],
+ fields['of11.port_stats_reply.flags'],
+ fields['of11.port_stats_reply.entries'],
+ fields['of11.port_stats_request.version'],
+ fields['of11.port_stats_request.type'],
+ fields['of11.port_stats_request.length'],
+ fields['of11.port_stats_request.xid'],
+ fields['of11.port_stats_request.stats_type'],
+ fields['of11.port_stats_request.flags'],
+ fields['of11.port_stats_request.port_no'],
+ fields['of11.port_status.version'],
+ fields['of11.port_status.type'],
+ fields['of11.port_status.length'],
+ fields['of11.port_status.xid'],
+ fields['of11.port_status.reason'],
+ fields['of11.port_status.desc'],
+ fields['of11.queue_get_config_reply.version'],
+ fields['of11.queue_get_config_reply.type'],
+ fields['of11.queue_get_config_reply.length'],
+ fields['of11.queue_get_config_reply.xid'],
+ fields['of11.queue_get_config_reply.port'],
+ fields['of11.queue_get_config_reply.queues'],
+ fields['of11.queue_get_config_request.version'],
+ fields['of11.queue_get_config_request.type'],
+ fields['of11.queue_get_config_request.length'],
+ fields['of11.queue_get_config_request.xid'],
+ fields['of11.queue_get_config_request.port'],
+ fields['of11.queue_op_failed_error_msg.version'],
+ fields['of11.queue_op_failed_error_msg.type'],
+ fields['of11.queue_op_failed_error_msg.length'],
+ fields['of11.queue_op_failed_error_msg.xid'],
+ fields['of11.queue_op_failed_error_msg.err_type'],
+ fields['of11.queue_op_failed_error_msg.code'],
+ fields['of11.queue_op_failed_error_msg.data'],
+ fields['of11.queue_prop.type'],
+ fields['of11.queue_prop.len'],
+ fields['of11.queue_prop_min_rate.type'],
+ fields['of11.queue_prop_min_rate.len'],
+ fields['of11.queue_prop_min_rate.rate'],
+ fields['of11.queue_stats_entry.port_no'],
+ fields['of11.queue_stats_entry.queue_id'],
+ fields['of11.queue_stats_entry.tx_bytes'],
+ fields['of11.queue_stats_entry.tx_packets'],
+ fields['of11.queue_stats_entry.tx_errors'],
+ fields['of11.queue_stats_reply.version'],
+ fields['of11.queue_stats_reply.type'],
+ fields['of11.queue_stats_reply.length'],
+ fields['of11.queue_stats_reply.xid'],
+ fields['of11.queue_stats_reply.stats_type'],
+ fields['of11.queue_stats_reply.flags'],
+ fields['of11.queue_stats_reply.entries'],
+ fields['of11.queue_stats_request.version'],
+ fields['of11.queue_stats_request.type'],
+ fields['of11.queue_stats_request.length'],
+ fields['of11.queue_stats_request.xid'],
+ fields['of11.queue_stats_request.stats_type'],
+ fields['of11.queue_stats_request.flags'],
+ fields['of11.queue_stats_request.port_no'],
+ fields['of11.queue_stats_request.queue_id'],
+ fields['of11.set_config.version'],
+ fields['of11.set_config.type'],
+ fields['of11.set_config.length'],
+ fields['of11.set_config.xid'],
+ fields['of11.set_config.flags'],
+ fields['of11.set_config.miss_send_len'],
+ fields['of11.switch_config_failed_error_msg.version'],
+ fields['of11.switch_config_failed_error_msg.type'],
+ fields['of11.switch_config_failed_error_msg.length'],
+ fields['of11.switch_config_failed_error_msg.xid'],
+ fields['of11.switch_config_failed_error_msg.err_type'],
+ fields['of11.switch_config_failed_error_msg.code'],
+ fields['of11.switch_config_failed_error_msg.data'],
+ fields['of11.table_mod.version'],
+ fields['of11.table_mod.type'],
+ fields['of11.table_mod.length'],
+ fields['of11.table_mod.xid'],
+ fields['of11.table_mod.table_id'],
+ fields['of11.table_mod.config'],
+ fields['of11.table_mod_failed_error_msg.version'],
+ fields['of11.table_mod_failed_error_msg.type'],
+ fields['of11.table_mod_failed_error_msg.length'],
+ fields['of11.table_mod_failed_error_msg.xid'],
+ fields['of11.table_mod_failed_error_msg.err_type'],
+ fields['of11.table_mod_failed_error_msg.code'],
+ fields['of11.table_mod_failed_error_msg.data'],
+ fields['of11.table_stats_entry.table_id'],
+ fields['of11.table_stats_entry.name'],
+ fields['of11.table_stats_entry.wildcards'],
+ fields['of11.table_stats_entry.match'],
+ fields['of11.table_stats_entry.instructions'],
+ fields['of11.table_stats_entry.write_actions'],
+ fields['of11.table_stats_entry.apply_actions'],
+ fields['of11.table_stats_entry.config'],
+ fields['of11.table_stats_entry.max_entries'],
+ fields['of11.table_stats_entry.active_count'],
+ fields['of11.table_stats_entry.lookup_count'],
+ fields['of11.table_stats_entry.matched_count'],
+ fields['of11.table_stats_reply.version'],
+ fields['of11.table_stats_reply.type'],
+ fields['of11.table_stats_reply.length'],
+ fields['of11.table_stats_reply.xid'],
+ fields['of11.table_stats_reply.stats_type'],
+ fields['of11.table_stats_reply.flags'],
+ fields['of11.table_stats_reply.entries'],
+ fields['of11.table_stats_request.version'],
+ fields['of11.table_stats_request.type'],
+ fields['of11.table_stats_request.length'],
+ fields['of11.table_stats_request.xid'],
+ fields['of11.table_stats_request.stats_type'],
+ fields['of11.table_stats_request.flags'],
+ fields['of12.action.type'],
+ fields['of12.action.len'],
+ fields['of12.action_experimenter.type'],
+ fields['of12.action_experimenter.len'],
+ fields['of12.action_experimenter.experimenter'],
+ fields['of12.action_experimenter.data'],
+ fields['of12.action_bsn.type'],
+ fields['of12.action_bsn.len'],
+ fields['of12.action_bsn.experimenter'],
+ fields['of12.action_bsn.subtype'],
+ fields['of12.action_bsn_checksum.type'],
+ fields['of12.action_bsn_checksum.len'],
+ fields['of12.action_bsn_checksum.experimenter'],
+ fields['of12.action_bsn_checksum.subtype'],
+ fields['of12.action_bsn_checksum.checksum'],
+ fields['of12.action_bsn_mirror.type'],
+ fields['of12.action_bsn_mirror.len'],
+ fields['of12.action_bsn_mirror.experimenter'],
+ fields['of12.action_bsn_mirror.subtype'],
+ fields['of12.action_bsn_mirror.dest_port'],
+ fields['of12.action_bsn_mirror.vlan_tag'],
+ fields['of12.action_bsn_mirror.copy_stage'],
+ fields['of12.action_bsn_set_tunnel_dst.type'],
+ fields['of12.action_bsn_set_tunnel_dst.len'],
+ fields['of12.action_bsn_set_tunnel_dst.experimenter'],
+ fields['of12.action_bsn_set_tunnel_dst.subtype'],
+ fields['of12.action_bsn_set_tunnel_dst.dst'],
+ fields['of12.action_copy_ttl_in.type'],
+ fields['of12.action_copy_ttl_in.len'],
+ fields['of12.action_copy_ttl_out.type'],
+ fields['of12.action_copy_ttl_out.len'],
+ fields['of12.action_dec_mpls_ttl.type'],
+ fields['of12.action_dec_mpls_ttl.len'],
+ fields['of12.action_dec_nw_ttl.type'],
+ fields['of12.action_dec_nw_ttl.len'],
+ fields['of12.action_group.type'],
+ fields['of12.action_group.len'],
+ fields['of12.action_group.group_id'],
+ fields['of12.action_nicira.type'],
+ fields['of12.action_nicira.len'],
+ fields['of12.action_nicira.experimenter'],
+ fields['of12.action_nicira.subtype'],
+ fields['of12.action_nicira_dec_ttl.type'],
+ fields['of12.action_nicira_dec_ttl.len'],
+ fields['of12.action_nicira_dec_ttl.experimenter'],
+ fields['of12.action_nicira_dec_ttl.subtype'],
+ fields['of12.action_output.type'],
+ fields['of12.action_output.len'],
+ fields['of12.action_output.port'],
+ fields['of12.action_output.max_len'],
+ fields['of12.action_pop_mpls.type'],
+ fields['of12.action_pop_mpls.len'],
+ fields['of12.action_pop_mpls.ethertype'],
+ fields['of12.action_pop_vlan.type'],
+ fields['of12.action_pop_vlan.len'],
+ fields['of12.action_push_mpls.type'],
+ fields['of12.action_push_mpls.len'],
+ fields['of12.action_push_mpls.ethertype'],
+ fields['of12.action_push_vlan.type'],
+ fields['of12.action_push_vlan.len'],
+ fields['of12.action_push_vlan.ethertype'],
+ fields['of12.oxm.type_len'],
+ fields['of12.action_set_field.type'],
+ fields['of12.action_set_field.len'],
+ fields['of12.action_set_field.field'],
+ fields['of12.action_set_mpls_ttl.type'],
+ fields['of12.action_set_mpls_ttl.len'],
+ fields['of12.action_set_mpls_ttl.mpls_ttl'],
+ fields['of12.action_set_nw_ttl.type'],
+ fields['of12.action_set_nw_ttl.len'],
+ fields['of12.action_set_nw_ttl.nw_ttl'],
+ fields['of12.action_set_queue.type'],
+ fields['of12.action_set_queue.len'],
+ fields['of12.action_set_queue.queue_id'],
+ fields['of12.header.version'],
+ fields['of12.header.type'],
+ fields['of12.header.length'],
+ fields['of12.header.xid'],
+ fields['of12.stats_reply.version'],
+ fields['of12.stats_reply.type'],
+ fields['of12.stats_reply.length'],
+ fields['of12.stats_reply.xid'],
+ fields['of12.stats_reply.stats_type'],
+ fields['of12.stats_reply.flags'],
+ fields['of12.aggregate_stats_reply.version'],
+ fields['of12.aggregate_stats_reply.type'],
+ fields['of12.aggregate_stats_reply.length'],
+ fields['of12.aggregate_stats_reply.xid'],
+ fields['of12.aggregate_stats_reply.stats_type'],
+ fields['of12.aggregate_stats_reply.flags'],
+ fields['of12.aggregate_stats_reply.packet_count'],
+ fields['of12.aggregate_stats_reply.byte_count'],
+ fields['of12.aggregate_stats_reply.flow_count'],
+ fields['of12.stats_request.version'],
+ fields['of12.stats_request.type'],
+ fields['of12.stats_request.length'],
+ fields['of12.stats_request.xid'],
+ fields['of12.stats_request.stats_type'],
+ fields['of12.stats_request.flags'],
+ fields['of12.aggregate_stats_request.version'],
+ fields['of12.aggregate_stats_request.type'],
+ fields['of12.aggregate_stats_request.length'],
+ fields['of12.aggregate_stats_request.xid'],
+ fields['of12.aggregate_stats_request.stats_type'],
+ fields['of12.aggregate_stats_request.flags'],
+ fields['of12.aggregate_stats_request.table_id'],
+ fields['of12.aggregate_stats_request.out_port'],
+ fields['of12.aggregate_stats_request.out_group'],
+ fields['of12.aggregate_stats_request.cookie'],
+ fields['of12.aggregate_stats_request.cookie_mask'],
+ fields['of12.aggregate_stats_request.match'],
+ fields['of12.error_msg.version'],
+ fields['of12.error_msg.type'],
+ fields['of12.error_msg.length'],
+ fields['of12.error_msg.xid'],
+ fields['of12.error_msg.err_type'],
+ fields['of12.bad_action_error_msg.version'],
+ fields['of12.bad_action_error_msg.type'],
+ fields['of12.bad_action_error_msg.length'],
+ fields['of12.bad_action_error_msg.xid'],
+ fields['of12.bad_action_error_msg.err_type'],
+ fields['of12.bad_action_error_msg.code'],
+ fields['of12.bad_action_error_msg.data'],
+ fields['of12.bad_instruction_error_msg.version'],
+ fields['of12.bad_instruction_error_msg.type'],
+ fields['of12.bad_instruction_error_msg.length'],
+ fields['of12.bad_instruction_error_msg.xid'],
+ fields['of12.bad_instruction_error_msg.err_type'],
+ fields['of12.bad_instruction_error_msg.code'],
+ fields['of12.bad_instruction_error_msg.data'],
+ fields['of12.bad_match_error_msg.version'],
+ fields['of12.bad_match_error_msg.type'],
+ fields['of12.bad_match_error_msg.length'],
+ fields['of12.bad_match_error_msg.xid'],
+ fields['of12.bad_match_error_msg.err_type'],
+ fields['of12.bad_match_error_msg.code'],
+ fields['of12.bad_match_error_msg.data'],
+ fields['of12.bad_request_error_msg.version'],
+ fields['of12.bad_request_error_msg.type'],
+ fields['of12.bad_request_error_msg.length'],
+ fields['of12.bad_request_error_msg.xid'],
+ fields['of12.bad_request_error_msg.err_type'],
+ fields['of12.bad_request_error_msg.code'],
+ fields['of12.bad_request_error_msg.data'],
+ fields['of12.barrier_reply.version'],
+ fields['of12.barrier_reply.type'],
+ fields['of12.barrier_reply.length'],
+ fields['of12.barrier_reply.xid'],
+ fields['of12.barrier_request.version'],
+ fields['of12.barrier_request.type'],
+ fields['of12.barrier_request.length'],
+ fields['of12.barrier_request.xid'],
+ fields['of12.experimenter.version'],
+ fields['of12.experimenter.type'],
+ fields['of12.experimenter.length'],
+ fields['of12.experimenter.xid'],
+ fields['of12.experimenter.experimenter'],
+ fields['of12.experimenter.subtype'],
+ fields['of12.experimenter.data'],
+ fields['of12.bsn_header.version'],
+ fields['of12.bsn_header.type'],
+ fields['of12.bsn_header.length'],
+ fields['of12.bsn_header.xid'],
+ fields['of12.bsn_header.experimenter'],
+ fields['of12.bsn_header.subtype'],
+ fields['of12.bsn_bw_clear_data_reply.version'],
+ fields['of12.bsn_bw_clear_data_reply.type'],
+ fields['of12.bsn_bw_clear_data_reply.length'],
+ fields['of12.bsn_bw_clear_data_reply.xid'],
+ fields['of12.bsn_bw_clear_data_reply.experimenter'],
+ fields['of12.bsn_bw_clear_data_reply.subtype'],
+ fields['of12.bsn_bw_clear_data_reply.status'],
+ fields['of12.bsn_bw_clear_data_request.version'],
+ fields['of12.bsn_bw_clear_data_request.type'],
+ fields['of12.bsn_bw_clear_data_request.length'],
+ fields['of12.bsn_bw_clear_data_request.xid'],
+ fields['of12.bsn_bw_clear_data_request.experimenter'],
+ fields['of12.bsn_bw_clear_data_request.subtype'],
+ fields['of12.bsn_bw_enable_get_reply.version'],
+ fields['of12.bsn_bw_enable_get_reply.type'],
+ fields['of12.bsn_bw_enable_get_reply.length'],
+ fields['of12.bsn_bw_enable_get_reply.xid'],
+ fields['of12.bsn_bw_enable_get_reply.experimenter'],
+ fields['of12.bsn_bw_enable_get_reply.subtype'],
+ fields['of12.bsn_bw_enable_get_reply.enabled'],
+ fields['of12.bsn_bw_enable_get_request.version'],
+ fields['of12.bsn_bw_enable_get_request.type'],
+ fields['of12.bsn_bw_enable_get_request.length'],
+ fields['of12.bsn_bw_enable_get_request.xid'],
+ fields['of12.bsn_bw_enable_get_request.experimenter'],
+ fields['of12.bsn_bw_enable_get_request.subtype'],
+ fields['of12.bsn_bw_enable_set_reply.version'],
+ fields['of12.bsn_bw_enable_set_reply.type'],
+ fields['of12.bsn_bw_enable_set_reply.length'],
+ fields['of12.bsn_bw_enable_set_reply.xid'],
+ fields['of12.bsn_bw_enable_set_reply.experimenter'],
+ fields['of12.bsn_bw_enable_set_reply.subtype'],
+ fields['of12.bsn_bw_enable_set_reply.enable'],
+ fields['of12.bsn_bw_enable_set_reply.status'],
+ fields['of12.bsn_bw_enable_set_request.version'],
+ fields['of12.bsn_bw_enable_set_request.type'],
+ fields['of12.bsn_bw_enable_set_request.length'],
+ fields['of12.bsn_bw_enable_set_request.xid'],
+ fields['of12.bsn_bw_enable_set_request.experimenter'],
+ fields['of12.bsn_bw_enable_set_request.subtype'],
+ fields['of12.bsn_bw_enable_set_request.enable'],
+ fields['of12.bsn_get_interfaces_reply.version'],
+ fields['of12.bsn_get_interfaces_reply.type'],
+ fields['of12.bsn_get_interfaces_reply.length'],
+ fields['of12.bsn_get_interfaces_reply.xid'],
+ fields['of12.bsn_get_interfaces_reply.experimenter'],
+ fields['of12.bsn_get_interfaces_reply.subtype'],
+ fields['of12.bsn_get_interfaces_reply.interfaces'],
+ fields['of12.bsn_get_interfaces_request.version'],
+ fields['of12.bsn_get_interfaces_request.type'],
+ fields['of12.bsn_get_interfaces_request.length'],
+ fields['of12.bsn_get_interfaces_request.xid'],
+ fields['of12.bsn_get_interfaces_request.experimenter'],
+ fields['of12.bsn_get_interfaces_request.subtype'],
+ fields['of12.bsn_get_mirroring_reply.version'],
+ fields['of12.bsn_get_mirroring_reply.type'],
+ fields['of12.bsn_get_mirroring_reply.length'],
+ fields['of12.bsn_get_mirroring_reply.xid'],
+ fields['of12.bsn_get_mirroring_reply.experimenter'],
+ fields['of12.bsn_get_mirroring_reply.subtype'],
+ fields['of12.bsn_get_mirroring_reply.report_mirror_ports'],
+ fields['of12.bsn_get_mirroring_request.version'],
+ fields['of12.bsn_get_mirroring_request.type'],
+ fields['of12.bsn_get_mirroring_request.length'],
+ fields['of12.bsn_get_mirroring_request.xid'],
+ fields['of12.bsn_get_mirroring_request.experimenter'],
+ fields['of12.bsn_get_mirroring_request.subtype'],
+ fields['of12.bsn_get_mirroring_request.report_mirror_ports'],
+ fields['of12.bsn_interface.hw_addr'],
+ fields['of12.bsn_interface.name'],
+ fields['of12.bsn_interface.ipv4_addr'],
+ fields['of12.bsn_interface.ipv4_netmask'],
+ fields['of12.bsn_pdu_rx_reply.version'],
+ fields['of12.bsn_pdu_rx_reply.type'],
+ fields['of12.bsn_pdu_rx_reply.length'],
+ fields['of12.bsn_pdu_rx_reply.xid'],
+ fields['of12.bsn_pdu_rx_reply.experimenter'],
+ fields['of12.bsn_pdu_rx_reply.subtype'],
+ fields['of12.bsn_pdu_rx_reply.status'],
+ fields['of12.bsn_pdu_rx_reply.port_no'],
+ fields['of12.bsn_pdu_rx_reply.slot_num'],
+ fields['of12.bsn_pdu_rx_request.version'],
+ fields['of12.bsn_pdu_rx_request.type'],
+ fields['of12.bsn_pdu_rx_request.length'],
+ fields['of12.bsn_pdu_rx_request.xid'],
+ fields['of12.bsn_pdu_rx_request.experimenter'],
+ fields['of12.bsn_pdu_rx_request.subtype'],
+ fields['of12.bsn_pdu_rx_request.timeout_ms'],
+ fields['of12.bsn_pdu_rx_request.port_no'],
+ fields['of12.bsn_pdu_rx_request.slot_num'],
+ fields['of12.bsn_pdu_rx_request.data'],
+ fields['of12.bsn_pdu_rx_timeout.version'],
+ fields['of12.bsn_pdu_rx_timeout.type'],
+ fields['of12.bsn_pdu_rx_timeout.length'],
+ fields['of12.bsn_pdu_rx_timeout.xid'],
+ fields['of12.bsn_pdu_rx_timeout.experimenter'],
+ fields['of12.bsn_pdu_rx_timeout.subtype'],
+ fields['of12.bsn_pdu_rx_timeout.port_no'],
+ fields['of12.bsn_pdu_rx_timeout.slot_num'],
+ fields['of12.bsn_pdu_tx_reply.version'],
+ fields['of12.bsn_pdu_tx_reply.type'],
+ fields['of12.bsn_pdu_tx_reply.length'],
+ fields['of12.bsn_pdu_tx_reply.xid'],
+ fields['of12.bsn_pdu_tx_reply.experimenter'],
+ fields['of12.bsn_pdu_tx_reply.subtype'],
+ fields['of12.bsn_pdu_tx_reply.status'],
+ fields['of12.bsn_pdu_tx_reply.port_no'],
+ fields['of12.bsn_pdu_tx_reply.slot_num'],
+ fields['of12.bsn_pdu_tx_request.version'],
+ fields['of12.bsn_pdu_tx_request.type'],
+ fields['of12.bsn_pdu_tx_request.length'],
+ fields['of12.bsn_pdu_tx_request.xid'],
+ fields['of12.bsn_pdu_tx_request.experimenter'],
+ fields['of12.bsn_pdu_tx_request.subtype'],
+ fields['of12.bsn_pdu_tx_request.tx_interval_ms'],
+ fields['of12.bsn_pdu_tx_request.port_no'],
+ fields['of12.bsn_pdu_tx_request.slot_num'],
+ fields['of12.bsn_pdu_tx_request.data'],
+ fields['of12.bsn_set_mirroring.version'],
+ fields['of12.bsn_set_mirroring.type'],
+ fields['of12.bsn_set_mirroring.length'],
+ fields['of12.bsn_set_mirroring.xid'],
+ fields['of12.bsn_set_mirroring.experimenter'],
+ fields['of12.bsn_set_mirroring.subtype'],
+ fields['of12.bsn_set_mirroring.report_mirror_ports'],
+ fields['of12.bsn_set_pktin_suppression_reply.version'],
+ fields['of12.bsn_set_pktin_suppression_reply.type'],
+ fields['of12.bsn_set_pktin_suppression_reply.length'],
+ fields['of12.bsn_set_pktin_suppression_reply.xid'],
+ fields['of12.bsn_set_pktin_suppression_reply.experimenter'],
+ fields['of12.bsn_set_pktin_suppression_reply.subtype'],
+ fields['of12.bsn_set_pktin_suppression_reply.status'],
+ fields['of12.bsn_set_pktin_suppression_request.version'],
+ fields['of12.bsn_set_pktin_suppression_request.type'],
+ fields['of12.bsn_set_pktin_suppression_request.length'],
+ fields['of12.bsn_set_pktin_suppression_request.xid'],
+ fields['of12.bsn_set_pktin_suppression_request.experimenter'],
+ fields['of12.bsn_set_pktin_suppression_request.subtype'],
+ fields['of12.bsn_set_pktin_suppression_request.enabled'],
+ fields['of12.bsn_set_pktin_suppression_request.idle_timeout'],
+ fields['of12.bsn_set_pktin_suppression_request.hard_timeout'],
+ fields['of12.bsn_set_pktin_suppression_request.priority'],
+ fields['of12.bsn_set_pktin_suppression_request.cookie'],
+ fields['of12.experimenter_stats_reply.version'],
+ fields['of12.experimenter_stats_reply.type'],
+ fields['of12.experimenter_stats_reply.length'],
+ fields['of12.experimenter_stats_reply.xid'],
+ fields['of12.experimenter_stats_reply.stats_type'],
+ fields['of12.experimenter_stats_reply.flags'],
+ fields['of12.experimenter_stats_reply.experimenter'],
+ fields['of12.experimenter_stats_reply.subtype'],
+ fields['of12.experimenter_stats_reply.data'],
+ fields['of12.bsn_stats_reply.version'],
+ fields['of12.bsn_stats_reply.type'],
+ fields['of12.bsn_stats_reply.length'],
+ fields['of12.bsn_stats_reply.xid'],
+ fields['of12.bsn_stats_reply.stats_type'],
+ fields['of12.bsn_stats_reply.flags'],
+ fields['of12.bsn_stats_reply.experimenter'],
+ fields['of12.bsn_stats_reply.subtype'],
+ fields['of12.experimenter_stats_request.version'],
+ fields['of12.experimenter_stats_request.type'],
+ fields['of12.experimenter_stats_request.length'],
+ fields['of12.experimenter_stats_request.xid'],
+ fields['of12.experimenter_stats_request.stats_type'],
+ fields['of12.experimenter_stats_request.flags'],
+ fields['of12.experimenter_stats_request.experimenter'],
+ fields['of12.experimenter_stats_request.subtype'],
+ fields['of12.experimenter_stats_request.data'],
+ fields['of12.bsn_stats_request.version'],
+ fields['of12.bsn_stats_request.type'],
+ fields['of12.bsn_stats_request.length'],
+ fields['of12.bsn_stats_request.xid'],
+ fields['of12.bsn_stats_request.stats_type'],
+ fields['of12.bsn_stats_request.flags'],
+ fields['of12.bsn_stats_request.experimenter'],
+ fields['of12.bsn_stats_request.subtype'],
+ fields['of12.bsn_virtual_port_create_reply.version'],
+ fields['of12.bsn_virtual_port_create_reply.type'],
+ fields['of12.bsn_virtual_port_create_reply.length'],
+ fields['of12.bsn_virtual_port_create_reply.xid'],
+ fields['of12.bsn_virtual_port_create_reply.experimenter'],
+ fields['of12.bsn_virtual_port_create_reply.subtype'],
+ fields['of12.bsn_virtual_port_create_reply.status'],
+ fields['of12.bsn_virtual_port_create_reply.vport_no'],
+ fields['of12.bsn_vport.type'],
+ fields['of12.bsn_vport.length'],
+ fields['of12.bsn_virtual_port_create_request.version'],
+ fields['of12.bsn_virtual_port_create_request.type'],
+ fields['of12.bsn_virtual_port_create_request.length'],
+ fields['of12.bsn_virtual_port_create_request.xid'],
+ fields['of12.bsn_virtual_port_create_request.experimenter'],
+ fields['of12.bsn_virtual_port_create_request.subtype'],
+ fields['of12.bsn_virtual_port_create_request.vport'],
+ fields['of12.bsn_virtual_port_remove_reply.version'],
+ fields['of12.bsn_virtual_port_remove_reply.type'],
+ fields['of12.bsn_virtual_port_remove_reply.length'],
+ fields['of12.bsn_virtual_port_remove_reply.xid'],
+ fields['of12.bsn_virtual_port_remove_reply.experimenter'],
+ fields['of12.bsn_virtual_port_remove_reply.subtype'],
+ fields['of12.bsn_virtual_port_remove_reply.status'],
+ fields['of12.bsn_virtual_port_remove_request.version'],
+ fields['of12.bsn_virtual_port_remove_request.type'],
+ fields['of12.bsn_virtual_port_remove_request.length'],
+ fields['of12.bsn_virtual_port_remove_request.xid'],
+ fields['of12.bsn_virtual_port_remove_request.experimenter'],
+ fields['of12.bsn_virtual_port_remove_request.subtype'],
+ fields['of12.bsn_virtual_port_remove_request.vport_no'],
+ fields['of12.bsn_vport_l2gre.type'],
+ fields['of12.bsn_vport_l2gre.length'],
+ fields['of12.bsn_vport_l2gre.flags'],
+ fields['of12.bsn_vport_l2gre.port_no'],
+ fields['of12.bsn_vport_l2gre.loopback_port_no'],
+ fields['of12.bsn_vport_l2gre.local_mac'],
+ fields['of12.bsn_vport_l2gre.nh_mac'],
+ fields['of12.bsn_vport_l2gre.src_ip'],
+ fields['of12.bsn_vport_l2gre.dst_ip'],
+ fields['of12.bsn_vport_l2gre.dscp'],
+ fields['of12.bsn_vport_l2gre.ttl'],
+ fields['of12.bsn_vport_l2gre.vpn'],
+ fields['of12.bsn_vport_l2gre.rate_limit'],
+ fields['of12.bsn_vport_l2gre.if_name'],
+ fields['of12.bsn_vport_q_in_q.type'],
+ fields['of12.bsn_vport_q_in_q.length'],
+ fields['of12.bsn_vport_q_in_q.port_no'],
+ fields['of12.bsn_vport_q_in_q.ingress_tpid'],
+ fields['of12.bsn_vport_q_in_q.ingress_vlan_id'],
+ fields['of12.bsn_vport_q_in_q.egress_tpid'],
+ fields['of12.bsn_vport_q_in_q.egress_vlan_id'],
+ fields['of12.bsn_vport_q_in_q.if_name'],
+ fields['of12.bucket.len'],
+ fields['of12.bucket.weight'],
+ fields['of12.bucket.watch_port'],
+ fields['of12.bucket.watch_group'],
+ fields['of12.bucket.actions'],
+ fields['of12.bucket_counter.packet_count'],
+ fields['of12.bucket_counter.byte_count'],
+ fields['of12.desc_stats_reply.version'],
+ fields['of12.desc_stats_reply.type'],
+ fields['of12.desc_stats_reply.length'],
+ fields['of12.desc_stats_reply.xid'],
+ fields['of12.desc_stats_reply.stats_type'],
+ fields['of12.desc_stats_reply.flags'],
+ fields['of12.desc_stats_reply.mfr_desc'],
+ fields['of12.desc_stats_reply.hw_desc'],
+ fields['of12.desc_stats_reply.sw_desc'],
+ fields['of12.desc_stats_reply.serial_num'],
+ fields['of12.desc_stats_reply.dp_desc'],
+ fields['of12.desc_stats_request.version'],
+ fields['of12.desc_stats_request.type'],
+ fields['of12.desc_stats_request.length'],
+ fields['of12.desc_stats_request.xid'],
+ fields['of12.desc_stats_request.stats_type'],
+ fields['of12.desc_stats_request.flags'],
+ fields['of12.echo_reply.version'],
+ fields['of12.echo_reply.type'],
+ fields['of12.echo_reply.length'],
+ fields['of12.echo_reply.xid'],
+ fields['of12.echo_reply.data'],
+ fields['of12.echo_request.version'],
+ fields['of12.echo_request.type'],
+ fields['of12.echo_request.length'],
+ fields['of12.echo_request.xid'],
+ fields['of12.echo_request.data'],
+ fields['of12.experimenter_error_msg.version'],
+ fields['of12.experimenter_error_msg.type'],
+ fields['of12.experimenter_error_msg.length'],
+ fields['of12.experimenter_error_msg.xid'],
+ fields['of12.experimenter_error_msg.err_type'],
+ fields['of12.experimenter_error_msg.subtype'],
+ fields['of12.experimenter_error_msg.experimenter'],
+ fields['of12.experimenter_error_msg.data'],
+ fields['of12.features_reply.version'],
+ fields['of12.features_reply.type'],
+ fields['of12.features_reply.length'],
+ fields['of12.features_reply.xid'],
+ fields['of12.features_reply.datapath_id'],
+ fields['of12.features_reply.n_buffers'],
+ fields['of12.features_reply.n_tables'],
+ fields['of12.features_reply.capabilities'],
+ fields['of12.features_reply.reserved'],
+ fields['of12.features_reply.ports'],
+ fields['of12.features_request.version'],
+ fields['of12.features_request.type'],
+ fields['of12.features_request.length'],
+ fields['of12.features_request.xid'],
+ fields['of12.flow_mod.version'],
+ fields['of12.flow_mod.type'],
+ fields['of12.flow_mod.length'],
+ fields['of12.flow_mod.xid'],
+ fields['of12.flow_mod.cookie'],
+ fields['of12.flow_mod.cookie_mask'],
+ fields['of12.flow_mod.table_id'],
+ fields['of12.flow_mod._command'],
+ fields['of12.flow_mod.idle_timeout'],
+ fields['of12.flow_mod.hard_timeout'],
+ fields['of12.flow_mod.priority'],
+ fields['of12.flow_mod.buffer_id'],
+ fields['of12.flow_mod.out_port'],
+ fields['of12.flow_mod.out_group'],
+ fields['of12.flow_mod.flags'],
+ fields['of12.flow_mod.match'],
+ fields['of12.flow_mod.instructions'],
+ fields['of12.flow_add.version'],
+ fields['of12.flow_add.type'],
+ fields['of12.flow_add.length'],
+ fields['of12.flow_add.xid'],
+ fields['of12.flow_add.cookie'],
+ fields['of12.flow_add.cookie_mask'],
+ fields['of12.flow_add.table_id'],
+ fields['of12.flow_add._command'],
+ fields['of12.flow_add.idle_timeout'],
+ fields['of12.flow_add.hard_timeout'],
+ fields['of12.flow_add.priority'],
+ fields['of12.flow_add.buffer_id'],
+ fields['of12.flow_add.out_port'],
+ fields['of12.flow_add.out_group'],
+ fields['of12.flow_add.flags'],
+ fields['of12.flow_add.match'],
+ fields['of12.flow_add.instructions'],
+ fields['of12.flow_delete.version'],
+ fields['of12.flow_delete.type'],
+ fields['of12.flow_delete.length'],
+ fields['of12.flow_delete.xid'],
+ fields['of12.flow_delete.cookie'],
+ fields['of12.flow_delete.cookie_mask'],
+ fields['of12.flow_delete.table_id'],
+ fields['of12.flow_delete._command'],
+ fields['of12.flow_delete.idle_timeout'],
+ fields['of12.flow_delete.hard_timeout'],
+ fields['of12.flow_delete.priority'],
+ fields['of12.flow_delete.buffer_id'],
+ fields['of12.flow_delete.out_port'],
+ fields['of12.flow_delete.out_group'],
+ fields['of12.flow_delete.flags'],
+ fields['of12.flow_delete.match'],
+ fields['of12.flow_delete.instructions'],
+ fields['of12.flow_delete_strict.version'],
+ fields['of12.flow_delete_strict.type'],
+ fields['of12.flow_delete_strict.length'],
+ fields['of12.flow_delete_strict.xid'],
+ fields['of12.flow_delete_strict.cookie'],
+ fields['of12.flow_delete_strict.cookie_mask'],
+ fields['of12.flow_delete_strict.table_id'],
+ fields['of12.flow_delete_strict._command'],
+ fields['of12.flow_delete_strict.idle_timeout'],
+ fields['of12.flow_delete_strict.hard_timeout'],
+ fields['of12.flow_delete_strict.priority'],
+ fields['of12.flow_delete_strict.buffer_id'],
+ fields['of12.flow_delete_strict.out_port'],
+ fields['of12.flow_delete_strict.out_group'],
+ fields['of12.flow_delete_strict.flags'],
+ fields['of12.flow_delete_strict.match'],
+ fields['of12.flow_delete_strict.instructions'],
+ fields['of12.flow_mod_failed_error_msg.version'],
+ fields['of12.flow_mod_failed_error_msg.type'],
+ fields['of12.flow_mod_failed_error_msg.length'],
+ fields['of12.flow_mod_failed_error_msg.xid'],
+ fields['of12.flow_mod_failed_error_msg.err_type'],
+ fields['of12.flow_mod_failed_error_msg.code'],
+ fields['of12.flow_mod_failed_error_msg.data'],
+ fields['of12.flow_modify.version'],
+ fields['of12.flow_modify.type'],
+ fields['of12.flow_modify.length'],
+ fields['of12.flow_modify.xid'],
+ fields['of12.flow_modify.cookie'],
+ fields['of12.flow_modify.cookie_mask'],
+ fields['of12.flow_modify.table_id'],
+ fields['of12.flow_modify._command'],
+ fields['of12.flow_modify.idle_timeout'],
+ fields['of12.flow_modify.hard_timeout'],
+ fields['of12.flow_modify.priority'],
+ fields['of12.flow_modify.buffer_id'],
+ fields['of12.flow_modify.out_port'],
+ fields['of12.flow_modify.out_group'],
+ fields['of12.flow_modify.flags'],
+ fields['of12.flow_modify.match'],
+ fields['of12.flow_modify.instructions'],
+ fields['of12.flow_modify_strict.version'],
+ fields['of12.flow_modify_strict.type'],
+ fields['of12.flow_modify_strict.length'],
+ fields['of12.flow_modify_strict.xid'],
+ fields['of12.flow_modify_strict.cookie'],
+ fields['of12.flow_modify_strict.cookie_mask'],
+ fields['of12.flow_modify_strict.table_id'],
+ fields['of12.flow_modify_strict._command'],
+ fields['of12.flow_modify_strict.idle_timeout'],
+ fields['of12.flow_modify_strict.hard_timeout'],
+ fields['of12.flow_modify_strict.priority'],
+ fields['of12.flow_modify_strict.buffer_id'],
+ fields['of12.flow_modify_strict.out_port'],
+ fields['of12.flow_modify_strict.out_group'],
+ fields['of12.flow_modify_strict.flags'],
+ fields['of12.flow_modify_strict.match'],
+ fields['of12.flow_modify_strict.instructions'],
+ fields['of12.flow_removed.version'],
+ fields['of12.flow_removed.type'],
+ fields['of12.flow_removed.length'],
+ fields['of12.flow_removed.xid'],
+ fields['of12.flow_removed.cookie'],
+ fields['of12.flow_removed.priority'],
+ fields['of12.flow_removed.reason'],
+ fields['of12.flow_removed.table_id'],
+ fields['of12.flow_removed.duration_sec'],
+ fields['of12.flow_removed.duration_nsec'],
+ fields['of12.flow_removed.idle_timeout'],
+ fields['of12.flow_removed.hard_timeout'],
+ fields['of12.flow_removed.packet_count'],
+ fields['of12.flow_removed.byte_count'],
+ fields['of12.flow_removed.match'],
+ fields['of12.flow_stats_entry.length'],
+ fields['of12.flow_stats_entry.table_id'],
+ fields['of12.flow_stats_entry.duration_sec'],
+ fields['of12.flow_stats_entry.duration_nsec'],
+ fields['of12.flow_stats_entry.priority'],
+ fields['of12.flow_stats_entry.idle_timeout'],
+ fields['of12.flow_stats_entry.hard_timeout'],
+ fields['of12.flow_stats_entry.cookie'],
+ fields['of12.flow_stats_entry.packet_count'],
+ fields['of12.flow_stats_entry.byte_count'],
+ fields['of12.flow_stats_entry.match'],
+ fields['of12.flow_stats_entry.instructions'],
+ fields['of12.flow_stats_reply.version'],
+ fields['of12.flow_stats_reply.type'],
+ fields['of12.flow_stats_reply.length'],
+ fields['of12.flow_stats_reply.xid'],
+ fields['of12.flow_stats_reply.stats_type'],
+ fields['of12.flow_stats_reply.flags'],
+ fields['of12.flow_stats_reply.entries'],
+ fields['of12.flow_stats_request.version'],
+ fields['of12.flow_stats_request.type'],
+ fields['of12.flow_stats_request.length'],
+ fields['of12.flow_stats_request.xid'],
+ fields['of12.flow_stats_request.stats_type'],
+ fields['of12.flow_stats_request.flags'],
+ fields['of12.flow_stats_request.table_id'],
+ fields['of12.flow_stats_request.out_port'],
+ fields['of12.flow_stats_request.out_group'],
+ fields['of12.flow_stats_request.cookie'],
+ fields['of12.flow_stats_request.cookie_mask'],
+ fields['of12.flow_stats_request.match'],
+ fields['of12.get_config_reply.version'],
+ fields['of12.get_config_reply.type'],
+ fields['of12.get_config_reply.length'],
+ fields['of12.get_config_reply.xid'],
+ fields['of12.get_config_reply.flags'],
+ fields['of12.get_config_reply.miss_send_len'],
+ fields['of12.get_config_request.version'],
+ fields['of12.get_config_request.type'],
+ fields['of12.get_config_request.length'],
+ fields['of12.get_config_request.xid'],
+ fields['of12.group_mod.version'],
+ fields['of12.group_mod.type'],
+ fields['of12.group_mod.length'],
+ fields['of12.group_mod.xid'],
+ fields['of12.group_mod.command'],
+ fields['of12.group_mod.group_type'],
+ fields['of12.group_mod.group_id'],
+ fields['of12.group_mod.buckets'],
+ fields['of12.group_add.version'],
+ fields['of12.group_add.type'],
+ fields['of12.group_add.length'],
+ fields['of12.group_add.xid'],
+ fields['of12.group_add.command'],
+ fields['of12.group_add.group_type'],
+ fields['of12.group_add.group_id'],
+ fields['of12.group_add.buckets'],
+ fields['of12.group_delete.version'],
+ fields['of12.group_delete.type'],
+ fields['of12.group_delete.length'],
+ fields['of12.group_delete.xid'],
+ fields['of12.group_delete.command'],
+ fields['of12.group_delete.group_type'],
+ fields['of12.group_delete.group_id'],
+ fields['of12.group_delete.buckets'],
+ fields['of12.group_desc_stats_entry.length'],
+ fields['of12.group_desc_stats_entry.group_type'],
+ fields['of12.group_desc_stats_entry.group_id'],
+ fields['of12.group_desc_stats_entry.buckets'],
+ fields['of12.group_desc_stats_reply.version'],
+ fields['of12.group_desc_stats_reply.type'],
+ fields['of12.group_desc_stats_reply.length'],
+ fields['of12.group_desc_stats_reply.xid'],
+ fields['of12.group_desc_stats_reply.stats_type'],
+ fields['of12.group_desc_stats_reply.flags'],
+ fields['of12.group_desc_stats_reply.entries'],
+ fields['of12.group_desc_stats_request.version'],
+ fields['of12.group_desc_stats_request.type'],
+ fields['of12.group_desc_stats_request.length'],
+ fields['of12.group_desc_stats_request.xid'],
+ fields['of12.group_desc_stats_request.stats_type'],
+ fields['of12.group_desc_stats_request.flags'],
+ fields['of12.group_features_stats_reply.version'],
+ fields['of12.group_features_stats_reply.type'],
+ fields['of12.group_features_stats_reply.length'],
+ fields['of12.group_features_stats_reply.xid'],
+ fields['of12.group_features_stats_reply.stats_type'],
+ fields['of12.group_features_stats_reply.flags'],
+ fields['of12.group_features_stats_reply.types'],
+ fields['of12.group_features_stats_reply.capabilities'],
+ fields['of12.group_features_stats_reply.max_groups_all'],
+ fields['of12.group_features_stats_reply.max_groups_select'],
+ fields['of12.group_features_stats_reply.max_groups_indirect'],
+ fields['of12.group_features_stats_reply.max_groups_ff'],
+ fields['of12.group_features_stats_reply.actions_all'],
+ fields['of12.group_features_stats_reply.actions_select'],
+ fields['of12.group_features_stats_reply.actions_indirect'],
+ fields['of12.group_features_stats_reply.actions_ff'],
+ fields['of12.group_features_stats_request.version'],
+ fields['of12.group_features_stats_request.type'],
+ fields['of12.group_features_stats_request.length'],
+ fields['of12.group_features_stats_request.xid'],
+ fields['of12.group_features_stats_request.stats_type'],
+ fields['of12.group_features_stats_request.flags'],
+ fields['of12.group_mod_failed_error_msg.version'],
+ fields['of12.group_mod_failed_error_msg.type'],
+ fields['of12.group_mod_failed_error_msg.length'],
+ fields['of12.group_mod_failed_error_msg.xid'],
+ fields['of12.group_mod_failed_error_msg.err_type'],
+ fields['of12.group_mod_failed_error_msg.code'],
+ fields['of12.group_mod_failed_error_msg.data'],
+ fields['of12.group_modify.version'],
+ fields['of12.group_modify.type'],
+ fields['of12.group_modify.length'],
+ fields['of12.group_modify.xid'],
+ fields['of12.group_modify.command'],
+ fields['of12.group_modify.group_type'],
+ fields['of12.group_modify.group_id'],
+ fields['of12.group_modify.buckets'],
+ fields['of12.group_stats_entry.length'],
+ fields['of12.group_stats_entry.group_id'],
+ fields['of12.group_stats_entry.ref_count'],
+ fields['of12.group_stats_entry.packet_count'],
+ fields['of12.group_stats_entry.byte_count'],
+ fields['of12.group_stats_entry.bucket_stats'],
+ fields['of12.group_stats_reply.version'],
+ fields['of12.group_stats_reply.type'],
+ fields['of12.group_stats_reply.length'],
+ fields['of12.group_stats_reply.xid'],
+ fields['of12.group_stats_reply.stats_type'],
+ fields['of12.group_stats_reply.flags'],
+ fields['of12.group_stats_reply.entries'],
+ fields['of12.group_stats_request.version'],
+ fields['of12.group_stats_request.type'],
+ fields['of12.group_stats_request.length'],
+ fields['of12.group_stats_request.xid'],
+ fields['of12.group_stats_request.stats_type'],
+ fields['of12.group_stats_request.flags'],
+ fields['of12.group_stats_request.group_id'],
+ fields['of12.hello.version'],
+ fields['of12.hello.type'],
+ fields['of12.hello.length'],
+ fields['of12.hello.xid'],
+ fields['of12.hello_failed_error_msg.version'],
+ fields['of12.hello_failed_error_msg.type'],
+ fields['of12.hello_failed_error_msg.length'],
+ fields['of12.hello_failed_error_msg.xid'],
+ fields['of12.hello_failed_error_msg.err_type'],
+ fields['of12.hello_failed_error_msg.code'],
+ fields['of12.hello_failed_error_msg.data'],
+ fields['of12.instruction.type'],
+ fields['of12.instruction.len'],
+ fields['of12.instruction_apply_actions.type'],
+ fields['of12.instruction_apply_actions.len'],
+ fields['of12.instruction_apply_actions.actions'],
+ fields['of12.instruction_clear_actions.type'],
+ fields['of12.instruction_clear_actions.len'],
+ fields['of12.instruction_experimenter.type'],
+ fields['of12.instruction_experimenter.len'],
+ fields['of12.instruction_experimenter.experimenter'],
+ fields['of12.instruction_experimenter.data'],
+ fields['of12.instruction_goto_table.type'],
+ fields['of12.instruction_goto_table.len'],
+ fields['of12.instruction_goto_table.table_id'],
+ fields['of12.instruction_write_actions.type'],
+ fields['of12.instruction_write_actions.len'],
+ fields['of12.instruction_write_actions.actions'],
+ fields['of12.instruction_write_metadata.type'],
+ fields['of12.instruction_write_metadata.len'],
+ fields['of12.instruction_write_metadata.metadata'],
+ fields['of12.instruction_write_metadata.metadata_mask'],
+ fields['of12.match_v3.type'],
+ fields['of12.match_v3.length'],
+ fields['of12.match_v3.oxm_list'],
+ fields['of12.nicira_header.version'],
+ fields['of12.nicira_header.type'],
+ fields['of12.nicira_header.length'],
+ fields['of12.nicira_header.xid'],
+ fields['of12.nicira_header.experimenter'],
+ fields['of12.nicira_header.subtype'],
+ fields['of12.oxm_arp_op.type_len'],
+ fields['of12.oxm_arp_op.value'],
+ fields['of12.oxm_arp_op_masked.type_len'],
+ fields['of12.oxm_arp_op_masked.value'],
+ fields['of12.oxm_arp_op_masked.value_mask'],
+ fields['of12.oxm_arp_sha.type_len'],
+ fields['of12.oxm_arp_sha.value'],
+ fields['of12.oxm_arp_sha_masked.type_len'],
+ fields['of12.oxm_arp_sha_masked.value'],
+ fields['of12.oxm_arp_sha_masked.value_mask'],
+ fields['of12.oxm_arp_spa.type_len'],
+ fields['of12.oxm_arp_spa.value'],
+ fields['of12.oxm_arp_spa_masked.type_len'],
+ fields['of12.oxm_arp_spa_masked.value'],
+ fields['of12.oxm_arp_spa_masked.value_mask'],
+ fields['of12.oxm_arp_tha.type_len'],
+ fields['of12.oxm_arp_tha.value'],
+ fields['of12.oxm_arp_tha_masked.type_len'],
+ fields['of12.oxm_arp_tha_masked.value'],
+ fields['of12.oxm_arp_tha_masked.value_mask'],
+ fields['of12.oxm_arp_tpa.type_len'],
+ fields['of12.oxm_arp_tpa.value'],
+ fields['of12.oxm_arp_tpa_masked.type_len'],
+ fields['of12.oxm_arp_tpa_masked.value'],
+ fields['of12.oxm_arp_tpa_masked.value_mask'],
+ fields['of12.oxm_bsn_egr_port_group_id.type_len'],
+ fields['of12.oxm_bsn_egr_port_group_id.value'],
+ fields['of12.oxm_bsn_egr_port_group_id_masked.type_len'],
+ fields['of12.oxm_bsn_egr_port_group_id_masked.value'],
+ fields['of12.oxm_bsn_egr_port_group_id_masked.value_mask'],
+ fields['of12.oxm_bsn_global_vrf_allowed.type_len'],
+ fields['of12.oxm_bsn_global_vrf_allowed.value'],
+ fields['of12.oxm_bsn_global_vrf_allowed_masked.type_len'],
+ fields['of12.oxm_bsn_global_vrf_allowed_masked.value'],
+ fields['of12.oxm_bsn_global_vrf_allowed_masked.value_mask'],
+ fields['of12.oxm_bsn_in_ports_128.type_len'],
+ fields['of12.oxm_bsn_in_ports_128.value'],
+ fields['of12.oxm_bsn_in_ports_128_masked.type_len'],
+ fields['of12.oxm_bsn_in_ports_128_masked.value'],
+ fields['of12.oxm_bsn_in_ports_128_masked.value_mask'],
+ fields['of12.oxm_bsn_l3_dst_class_id.type_len'],
+ fields['of12.oxm_bsn_l3_dst_class_id.value'],
+ fields['of12.oxm_bsn_l3_dst_class_id_masked.type_len'],
+ fields['of12.oxm_bsn_l3_dst_class_id_masked.value'],
+ fields['of12.oxm_bsn_l3_dst_class_id_masked.value_mask'],
+ fields['of12.oxm_bsn_l3_interface_class_id.type_len'],
+ fields['of12.oxm_bsn_l3_interface_class_id.value'],
+ fields['of12.oxm_bsn_l3_interface_class_id_masked.type_len'],
+ fields['of12.oxm_bsn_l3_interface_class_id_masked.value'],
+ fields['of12.oxm_bsn_l3_interface_class_id_masked.value_mask'],
+ fields['of12.oxm_bsn_l3_src_class_id.type_len'],
+ fields['of12.oxm_bsn_l3_src_class_id.value'],
+ fields['of12.oxm_bsn_l3_src_class_id_masked.type_len'],
+ fields['of12.oxm_bsn_l3_src_class_id_masked.value'],
+ fields['of12.oxm_bsn_l3_src_class_id_masked.value_mask'],
+ fields['of12.oxm_bsn_lag_id.type_len'],
+ fields['of12.oxm_bsn_lag_id.value'],
+ fields['of12.oxm_bsn_lag_id_masked.type_len'],
+ fields['of12.oxm_bsn_lag_id_masked.value'],
+ fields['of12.oxm_bsn_lag_id_masked.value_mask'],
+ fields['of12.oxm_bsn_tcp_flags.type_len'],
+ fields['of12.oxm_bsn_tcp_flags.value'],
+ fields['of12.oxm_bsn_tcp_flags_masked.type_len'],
+ fields['of12.oxm_bsn_tcp_flags_masked.value'],
+ fields['of12.oxm_bsn_tcp_flags_masked.value_mask'],
+ fields['of12.oxm_bsn_udf0.type_len'],
+ fields['of12.oxm_bsn_udf0.value'],
+ fields['of12.oxm_bsn_udf0_masked.type_len'],
+ fields['of12.oxm_bsn_udf0_masked.value'],
+ fields['of12.oxm_bsn_udf0_masked.value_mask'],
+ fields['of12.oxm_bsn_udf1.type_len'],
+ fields['of12.oxm_bsn_udf1.value'],
+ fields['of12.oxm_bsn_udf1_masked.type_len'],
+ fields['of12.oxm_bsn_udf1_masked.value'],
+ fields['of12.oxm_bsn_udf1_masked.value_mask'],
+ fields['of12.oxm_bsn_udf2.type_len'],
+ fields['of12.oxm_bsn_udf2.value'],
+ fields['of12.oxm_bsn_udf2_masked.type_len'],
+ fields['of12.oxm_bsn_udf2_masked.value'],
+ fields['of12.oxm_bsn_udf2_masked.value_mask'],
+ fields['of12.oxm_bsn_udf3.type_len'],
+ fields['of12.oxm_bsn_udf3.value'],
+ fields['of12.oxm_bsn_udf3_masked.type_len'],
+ fields['of12.oxm_bsn_udf3_masked.value'],
+ fields['of12.oxm_bsn_udf3_masked.value_mask'],
+ fields['of12.oxm_bsn_udf4.type_len'],
+ fields['of12.oxm_bsn_udf4.value'],
+ fields['of12.oxm_bsn_udf4_masked.type_len'],
+ fields['of12.oxm_bsn_udf4_masked.value'],
+ fields['of12.oxm_bsn_udf4_masked.value_mask'],
+ fields['of12.oxm_bsn_udf5.type_len'],
+ fields['of12.oxm_bsn_udf5.value'],
+ fields['of12.oxm_bsn_udf5_masked.type_len'],
+ fields['of12.oxm_bsn_udf5_masked.value'],
+ fields['of12.oxm_bsn_udf5_masked.value_mask'],
+ fields['of12.oxm_bsn_udf6.type_len'],
+ fields['of12.oxm_bsn_udf6.value'],
+ fields['of12.oxm_bsn_udf6_masked.type_len'],
+ fields['of12.oxm_bsn_udf6_masked.value'],
+ fields['of12.oxm_bsn_udf6_masked.value_mask'],
+ fields['of12.oxm_bsn_udf7.type_len'],
+ fields['of12.oxm_bsn_udf7.value'],
+ fields['of12.oxm_bsn_udf7_masked.type_len'],
+ fields['of12.oxm_bsn_udf7_masked.value'],
+ fields['of12.oxm_bsn_udf7_masked.value_mask'],
+ fields['of12.oxm_bsn_vlan_xlate_port_group_id.type_len'],
+ fields['of12.oxm_bsn_vlan_xlate_port_group_id.value'],
+ fields['of12.oxm_bsn_vlan_xlate_port_group_id_masked.type_len'],
+ fields['of12.oxm_bsn_vlan_xlate_port_group_id_masked.value'],
+ fields['of12.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask'],
+ fields['of12.oxm_bsn_vrf.type_len'],
+ fields['of12.oxm_bsn_vrf.value'],
+ fields['of12.oxm_bsn_vrf_masked.type_len'],
+ fields['of12.oxm_bsn_vrf_masked.value'],
+ fields['of12.oxm_bsn_vrf_masked.value_mask'],
+ fields['of12.oxm_eth_dst.type_len'],
+ fields['of12.oxm_eth_dst.value'],
+ fields['of12.oxm_eth_dst_masked.type_len'],
+ fields['of12.oxm_eth_dst_masked.value'],
+ fields['of12.oxm_eth_dst_masked.value_mask'],
+ fields['of12.oxm_eth_src.type_len'],
+ fields['of12.oxm_eth_src.value'],
+ fields['of12.oxm_eth_src_masked.type_len'],
+ fields['of12.oxm_eth_src_masked.value'],
+ fields['of12.oxm_eth_src_masked.value_mask'],
+ fields['of12.oxm_eth_type.type_len'],
+ fields['of12.oxm_eth_type.value'],
+ fields['of12.oxm_eth_type_masked.type_len'],
+ fields['of12.oxm_eth_type_masked.value'],
+ fields['of12.oxm_eth_type_masked.value_mask'],
+ fields['of12.oxm_icmpv4_code.type_len'],
+ fields['of12.oxm_icmpv4_code.value'],
+ fields['of12.oxm_icmpv4_code_masked.type_len'],
+ fields['of12.oxm_icmpv4_code_masked.value'],
+ fields['of12.oxm_icmpv4_code_masked.value_mask'],
+ fields['of12.oxm_icmpv4_type.type_len'],
+ fields['of12.oxm_icmpv4_type.value'],
+ fields['of12.oxm_icmpv4_type_masked.type_len'],
+ fields['of12.oxm_icmpv4_type_masked.value'],
+ fields['of12.oxm_icmpv4_type_masked.value_mask'],
+ fields['of12.oxm_icmpv6_code.type_len'],
+ fields['of12.oxm_icmpv6_code.value'],
+ fields['of12.oxm_icmpv6_code_masked.type_len'],
+ fields['of12.oxm_icmpv6_code_masked.value'],
+ fields['of12.oxm_icmpv6_code_masked.value_mask'],
+ fields['of12.oxm_icmpv6_type.type_len'],
+ fields['of12.oxm_icmpv6_type.value'],
+ fields['of12.oxm_icmpv6_type_masked.type_len'],
+ fields['of12.oxm_icmpv6_type_masked.value'],
+ fields['of12.oxm_icmpv6_type_masked.value_mask'],
+ fields['of12.oxm_in_phy_port.type_len'],
+ fields['of12.oxm_in_phy_port.value'],
+ fields['of12.oxm_in_phy_port_masked.type_len'],
+ fields['of12.oxm_in_phy_port_masked.value'],
+ fields['of12.oxm_in_phy_port_masked.value_mask'],
+ fields['of12.oxm_in_port.type_len'],
+ fields['of12.oxm_in_port.value'],
+ fields['of12.oxm_in_port_masked.type_len'],
+ fields['of12.oxm_in_port_masked.value'],
+ fields['of12.oxm_in_port_masked.value_mask'],
+ fields['of12.oxm_ip_dscp.type_len'],
+ fields['of12.oxm_ip_dscp.value'],
+ fields['of12.oxm_ip_dscp_masked.type_len'],
+ fields['of12.oxm_ip_dscp_masked.value'],
+ fields['of12.oxm_ip_dscp_masked.value_mask'],
+ fields['of12.oxm_ip_ecn.type_len'],
+ fields['of12.oxm_ip_ecn.value'],
+ fields['of12.oxm_ip_ecn_masked.type_len'],
+ fields['of12.oxm_ip_ecn_masked.value'],
+ fields['of12.oxm_ip_ecn_masked.value_mask'],
+ fields['of12.oxm_ip_proto.type_len'],
+ fields['of12.oxm_ip_proto.value'],
+ fields['of12.oxm_ip_proto_masked.type_len'],
+ fields['of12.oxm_ip_proto_masked.value'],
+ fields['of12.oxm_ip_proto_masked.value_mask'],
+ fields['of12.oxm_ipv4_dst.type_len'],
+ fields['of12.oxm_ipv4_dst.value'],
+ fields['of12.oxm_ipv4_dst_masked.type_len'],
+ fields['of12.oxm_ipv4_dst_masked.value'],
+ fields['of12.oxm_ipv4_dst_masked.value_mask'],
+ fields['of12.oxm_ipv4_src.type_len'],
+ fields['of12.oxm_ipv4_src.value'],
+ fields['of12.oxm_ipv4_src_masked.type_len'],
+ fields['of12.oxm_ipv4_src_masked.value'],
+ fields['of12.oxm_ipv4_src_masked.value_mask'],
+ fields['of12.oxm_ipv6_dst.type_len'],
+ fields['of12.oxm_ipv6_dst.value'],
+ fields['of12.oxm_ipv6_dst_masked.type_len'],
+ fields['of12.oxm_ipv6_dst_masked.value'],
+ fields['of12.oxm_ipv6_dst_masked.value_mask'],
+ fields['of12.oxm_ipv6_flabel.type_len'],
+ fields['of12.oxm_ipv6_flabel.value'],
+ fields['of12.oxm_ipv6_flabel_masked.type_len'],
+ fields['of12.oxm_ipv6_flabel_masked.value'],
+ fields['of12.oxm_ipv6_flabel_masked.value_mask'],
+ fields['of12.oxm_ipv6_nd_sll.type_len'],
+ fields['of12.oxm_ipv6_nd_sll.value'],
+ fields['of12.oxm_ipv6_nd_sll_masked.type_len'],
+ fields['of12.oxm_ipv6_nd_sll_masked.value'],
+ fields['of12.oxm_ipv6_nd_sll_masked.value_mask'],
+ fields['of12.oxm_ipv6_nd_target.type_len'],
+ fields['of12.oxm_ipv6_nd_target.value'],
+ fields['of12.oxm_ipv6_nd_target_masked.type_len'],
+ fields['of12.oxm_ipv6_nd_target_masked.value'],
+ fields['of12.oxm_ipv6_nd_target_masked.value_mask'],
+ fields['of12.oxm_ipv6_nd_tll.type_len'],
+ fields['of12.oxm_ipv6_nd_tll.value'],
+ fields['of12.oxm_ipv6_nd_tll_masked.type_len'],
+ fields['of12.oxm_ipv6_nd_tll_masked.value'],
+ fields['of12.oxm_ipv6_nd_tll_masked.value_mask'],
+ fields['of12.oxm_ipv6_src.type_len'],
+ fields['of12.oxm_ipv6_src.value'],
+ fields['of12.oxm_ipv6_src_masked.type_len'],
+ fields['of12.oxm_ipv6_src_masked.value'],
+ fields['of12.oxm_ipv6_src_masked.value_mask'],
+ fields['of12.oxm_metadata.type_len'],
+ fields['of12.oxm_metadata.value'],
+ fields['of12.oxm_metadata_masked.type_len'],
+ fields['of12.oxm_metadata_masked.value'],
+ fields['of12.oxm_metadata_masked.value_mask'],
+ fields['of12.oxm_mpls_label.type_len'],
+ fields['of12.oxm_mpls_label.value'],
+ fields['of12.oxm_mpls_label_masked.type_len'],
+ fields['of12.oxm_mpls_label_masked.value'],
+ fields['of12.oxm_mpls_label_masked.value_mask'],
+ fields['of12.oxm_mpls_tc.type_len'],
+ fields['of12.oxm_mpls_tc.value'],
+ fields['of12.oxm_mpls_tc_masked.type_len'],
+ fields['of12.oxm_mpls_tc_masked.value'],
+ fields['of12.oxm_mpls_tc_masked.value_mask'],
+ fields['of12.oxm_sctp_dst.type_len'],
+ fields['of12.oxm_sctp_dst.value'],
+ fields['of12.oxm_sctp_dst_masked.type_len'],
+ fields['of12.oxm_sctp_dst_masked.value'],
+ fields['of12.oxm_sctp_dst_masked.value_mask'],
+ fields['of12.oxm_sctp_src.type_len'],
+ fields['of12.oxm_sctp_src.value'],
+ fields['of12.oxm_sctp_src_masked.type_len'],
+ fields['of12.oxm_sctp_src_masked.value'],
+ fields['of12.oxm_sctp_src_masked.value_mask'],
+ fields['of12.oxm_tcp_dst.type_len'],
+ fields['of12.oxm_tcp_dst.value'],
+ fields['of12.oxm_tcp_dst_masked.type_len'],
+ fields['of12.oxm_tcp_dst_masked.value'],
+ fields['of12.oxm_tcp_dst_masked.value_mask'],
+ fields['of12.oxm_tcp_src.type_len'],
+ fields['of12.oxm_tcp_src.value'],
+ fields['of12.oxm_tcp_src_masked.type_len'],
+ fields['of12.oxm_tcp_src_masked.value'],
+ fields['of12.oxm_tcp_src_masked.value_mask'],
+ fields['of12.oxm_udp_dst.type_len'],
+ fields['of12.oxm_udp_dst.value'],
+ fields['of12.oxm_udp_dst_masked.type_len'],
+ fields['of12.oxm_udp_dst_masked.value'],
+ fields['of12.oxm_udp_dst_masked.value_mask'],
+ fields['of12.oxm_udp_src.type_len'],
+ fields['of12.oxm_udp_src.value'],
+ fields['of12.oxm_udp_src_masked.type_len'],
+ fields['of12.oxm_udp_src_masked.value'],
+ fields['of12.oxm_udp_src_masked.value_mask'],
+ fields['of12.oxm_vlan_pcp.type_len'],
+ fields['of12.oxm_vlan_pcp.value'],
+ fields['of12.oxm_vlan_pcp_masked.type_len'],
+ fields['of12.oxm_vlan_pcp_masked.value'],
+ fields['of12.oxm_vlan_pcp_masked.value_mask'],
+ fields['of12.oxm_vlan_vid.type_len'],
+ fields['of12.oxm_vlan_vid.value'],
+ fields['of12.oxm_vlan_vid_masked.type_len'],
+ fields['of12.oxm_vlan_vid_masked.value'],
+ fields['of12.oxm_vlan_vid_masked.value_mask'],
+ fields['of12.packet_in.version'],
+ fields['of12.packet_in.type'],
+ fields['of12.packet_in.length'],
+ fields['of12.packet_in.xid'],
+ fields['of12.packet_in.buffer_id'],
+ fields['of12.packet_in.total_len'],
+ fields['of12.packet_in.reason'],
+ fields['of12.packet_in.table_id'],
+ fields['of12.packet_in.match'],
+ fields['of12.packet_in.data'],
+ fields['of12.packet_out.version'],
+ fields['of12.packet_out.type'],
+ fields['of12.packet_out.length'],
+ fields['of12.packet_out.xid'],
+ fields['of12.packet_out.buffer_id'],
+ fields['of12.packet_out.in_port'],
+ fields['of12.packet_out.actions_len'],
+ fields['of12.packet_out.actions'],
+ fields['of12.packet_out.data'],
+ fields['of12.packet_queue.queue_id'],
+ fields['of12.packet_queue.port'],
+ fields['of12.packet_queue.len'],
+ fields['of12.packet_queue.properties'],
+ fields['of12.port_desc.port_no'],
+ fields['of12.port_desc.hw_addr'],
+ fields['of12.port_desc.name'],
+ fields['of12.port_desc.config'],
+ fields['of12.port_desc.state'],
+ fields['of12.port_desc.curr'],
+ fields['of12.port_desc.advertised'],
+ fields['of12.port_desc.supported'],
+ fields['of12.port_desc.peer'],
+ fields['of12.port_desc.curr_speed'],
+ fields['of12.port_desc.max_speed'],
+ fields['of12.port_mod.version'],
+ fields['of12.port_mod.type'],
+ fields['of12.port_mod.length'],
+ fields['of12.port_mod.xid'],
+ fields['of12.port_mod.port_no'],
+ fields['of12.port_mod.hw_addr'],
+ fields['of12.port_mod.config'],
+ fields['of12.port_mod.mask'],
+ fields['of12.port_mod.advertise'],
+ fields['of12.port_mod_failed_error_msg.version'],
+ fields['of12.port_mod_failed_error_msg.type'],
+ fields['of12.port_mod_failed_error_msg.length'],
+ fields['of12.port_mod_failed_error_msg.xid'],
+ fields['of12.port_mod_failed_error_msg.err_type'],
+ fields['of12.port_mod_failed_error_msg.code'],
+ fields['of12.port_mod_failed_error_msg.data'],
+ fields['of12.port_stats_entry.port_no'],
+ fields['of12.port_stats_entry.rx_packets'],
+ fields['of12.port_stats_entry.tx_packets'],
+ fields['of12.port_stats_entry.rx_bytes'],
+ fields['of12.port_stats_entry.tx_bytes'],
+ fields['of12.port_stats_entry.rx_dropped'],
+ fields['of12.port_stats_entry.tx_dropped'],
+ fields['of12.port_stats_entry.rx_errors'],
+ fields['of12.port_stats_entry.tx_errors'],
+ fields['of12.port_stats_entry.rx_frame_err'],
+ fields['of12.port_stats_entry.rx_over_err'],
+ fields['of12.port_stats_entry.rx_crc_err'],
+ fields['of12.port_stats_entry.collisions'],
+ fields['of12.port_stats_reply.version'],
+ fields['of12.port_stats_reply.type'],
+ fields['of12.port_stats_reply.length'],
+ fields['of12.port_stats_reply.xid'],
+ fields['of12.port_stats_reply.stats_type'],
+ fields['of12.port_stats_reply.flags'],
+ fields['of12.port_stats_reply.entries'],
+ fields['of12.port_stats_request.version'],
+ fields['of12.port_stats_request.type'],
+ fields['of12.port_stats_request.length'],
+ fields['of12.port_stats_request.xid'],
+ fields['of12.port_stats_request.stats_type'],
+ fields['of12.port_stats_request.flags'],
+ fields['of12.port_stats_request.port_no'],
+ fields['of12.port_status.version'],
+ fields['of12.port_status.type'],
+ fields['of12.port_status.length'],
+ fields['of12.port_status.xid'],
+ fields['of12.port_status.reason'],
+ fields['of12.port_status.desc'],
+ fields['of12.queue_get_config_reply.version'],
+ fields['of12.queue_get_config_reply.type'],
+ fields['of12.queue_get_config_reply.length'],
+ fields['of12.queue_get_config_reply.xid'],
+ fields['of12.queue_get_config_reply.port'],
+ fields['of12.queue_get_config_reply.queues'],
+ fields['of12.queue_get_config_request.version'],
+ fields['of12.queue_get_config_request.type'],
+ fields['of12.queue_get_config_request.length'],
+ fields['of12.queue_get_config_request.xid'],
+ fields['of12.queue_get_config_request.port'],
+ fields['of12.queue_op_failed_error_msg.version'],
+ fields['of12.queue_op_failed_error_msg.type'],
+ fields['of12.queue_op_failed_error_msg.length'],
+ fields['of12.queue_op_failed_error_msg.xid'],
+ fields['of12.queue_op_failed_error_msg.err_type'],
+ fields['of12.queue_op_failed_error_msg.code'],
+ fields['of12.queue_op_failed_error_msg.data'],
+ fields['of12.queue_prop.type'],
+ fields['of12.queue_prop.len'],
+ fields['of12.queue_prop_experimenter.type'],
+ fields['of12.queue_prop_experimenter.len'],
+ fields['of12.queue_prop_experimenter.experimenter'],
+ fields['of12.queue_prop_experimenter.data'],
+ fields['of12.queue_prop_max_rate.type'],
+ fields['of12.queue_prop_max_rate.len'],
+ fields['of12.queue_prop_max_rate.rate'],
+ fields['of12.queue_prop_min_rate.type'],
+ fields['of12.queue_prop_min_rate.len'],
+ fields['of12.queue_prop_min_rate.rate'],
+ fields['of12.queue_stats_entry.port_no'],
+ fields['of12.queue_stats_entry.queue_id'],
+ fields['of12.queue_stats_entry.tx_bytes'],
+ fields['of12.queue_stats_entry.tx_packets'],
+ fields['of12.queue_stats_entry.tx_errors'],
+ fields['of12.queue_stats_reply.version'],
+ fields['of12.queue_stats_reply.type'],
+ fields['of12.queue_stats_reply.length'],
+ fields['of12.queue_stats_reply.xid'],
+ fields['of12.queue_stats_reply.stats_type'],
+ fields['of12.queue_stats_reply.flags'],
+ fields['of12.queue_stats_reply.entries'],
+ fields['of12.queue_stats_request.version'],
+ fields['of12.queue_stats_request.type'],
+ fields['of12.queue_stats_request.length'],
+ fields['of12.queue_stats_request.xid'],
+ fields['of12.queue_stats_request.stats_type'],
+ fields['of12.queue_stats_request.flags'],
+ fields['of12.queue_stats_request.port_no'],
+ fields['of12.queue_stats_request.queue_id'],
+ fields['of12.role_reply.version'],
+ fields['of12.role_reply.type'],
+ fields['of12.role_reply.length'],
+ fields['of12.role_reply.xid'],
+ fields['of12.role_reply.role'],
+ fields['of12.role_reply.generation_id'],
+ fields['of12.role_request.version'],
+ fields['of12.role_request.type'],
+ fields['of12.role_request.length'],
+ fields['of12.role_request.xid'],
+ fields['of12.role_request.role'],
+ fields['of12.role_request.generation_id'],
+ fields['of12.role_request_failed_error_msg.version'],
+ fields['of12.role_request_failed_error_msg.type'],
+ fields['of12.role_request_failed_error_msg.length'],
+ fields['of12.role_request_failed_error_msg.xid'],
+ fields['of12.role_request_failed_error_msg.err_type'],
+ fields['of12.role_request_failed_error_msg.code'],
+ fields['of12.role_request_failed_error_msg.data'],
+ fields['of12.set_config.version'],
+ fields['of12.set_config.type'],
+ fields['of12.set_config.length'],
+ fields['of12.set_config.xid'],
+ fields['of12.set_config.flags'],
+ fields['of12.set_config.miss_send_len'],
+ fields['of12.switch_config_failed_error_msg.version'],
+ fields['of12.switch_config_failed_error_msg.type'],
+ fields['of12.switch_config_failed_error_msg.length'],
+ fields['of12.switch_config_failed_error_msg.xid'],
+ fields['of12.switch_config_failed_error_msg.err_type'],
+ fields['of12.switch_config_failed_error_msg.code'],
+ fields['of12.switch_config_failed_error_msg.data'],
+ fields['of12.table_mod.version'],
+ fields['of12.table_mod.type'],
+ fields['of12.table_mod.length'],
+ fields['of12.table_mod.xid'],
+ fields['of12.table_mod.table_id'],
+ fields['of12.table_mod.config'],
+ fields['of12.table_mod_failed_error_msg.version'],
+ fields['of12.table_mod_failed_error_msg.type'],
+ fields['of12.table_mod_failed_error_msg.length'],
+ fields['of12.table_mod_failed_error_msg.xid'],
+ fields['of12.table_mod_failed_error_msg.err_type'],
+ fields['of12.table_mod_failed_error_msg.code'],
+ fields['of12.table_mod_failed_error_msg.data'],
+ fields['of12.table_stats_entry.table_id'],
+ fields['of12.table_stats_entry.name'],
+ fields['of12.table_stats_entry.match'],
+ fields['of12.table_stats_entry.wildcards'],
+ fields['of12.table_stats_entry.write_actions'],
+ fields['of12.table_stats_entry.apply_actions'],
+ fields['of12.table_stats_entry.write_setfields'],
+ fields['of12.table_stats_entry.apply_setfields'],
+ fields['of12.table_stats_entry.metadata_match'],
+ fields['of12.table_stats_entry.metadata_write'],
+ fields['of12.table_stats_entry.instructions'],
+ fields['of12.table_stats_entry.config'],
+ fields['of12.table_stats_entry.max_entries'],
+ fields['of12.table_stats_entry.active_count'],
+ fields['of12.table_stats_entry.lookup_count'],
+ fields['of12.table_stats_entry.matched_count'],
+ fields['of12.table_stats_reply.version'],
+ fields['of12.table_stats_reply.type'],
+ fields['of12.table_stats_reply.length'],
+ fields['of12.table_stats_reply.xid'],
+ fields['of12.table_stats_reply.stats_type'],
+ fields['of12.table_stats_reply.flags'],
+ fields['of12.table_stats_reply.entries'],
+ fields['of12.table_stats_request.version'],
+ fields['of12.table_stats_request.type'],
+ fields['of12.table_stats_request.length'],
+ fields['of12.table_stats_request.xid'],
+ fields['of12.table_stats_request.stats_type'],
+ fields['of12.table_stats_request.flags'],
+ fields['of13.action.type'],
+ fields['of13.action.len'],
+ fields['of13.action_id.type'],
+ fields['of13.action_id.len'],
+ fields['of13.action_experimenter.type'],
+ fields['of13.action_experimenter.len'],
+ fields['of13.action_experimenter.experimenter'],
+ fields['of13.action_experimenter.data'],
+ fields['of13.action_bsn.type'],
+ fields['of13.action_bsn.len'],
+ fields['of13.action_bsn.experimenter'],
+ fields['of13.action_bsn.subtype'],
+ fields['of13.action_id_experimenter.type'],
+ fields['of13.action_id_experimenter.len'],
+ fields['of13.action_id_experimenter.experimenter'],
+ fields['of13.action_id_bsn.type'],
+ fields['of13.action_id_bsn.len'],
+ fields['of13.action_id_bsn.experimenter'],
+ fields['of13.action_id_bsn.subtype'],
+ fields['of13.action_bsn_checksum.type'],
+ fields['of13.action_bsn_checksum.len'],
+ fields['of13.action_bsn_checksum.experimenter'],
+ fields['of13.action_bsn_checksum.subtype'],
+ fields['of13.action_bsn_checksum.checksum'],
+ fields['of13.action_id_bsn_checksum.type'],
+ fields['of13.action_id_bsn_checksum.len'],
+ fields['of13.action_id_bsn_checksum.experimenter'],
+ fields['of13.action_id_bsn_checksum.subtype'],
+ fields['of13.action_bsn_mirror.type'],
+ fields['of13.action_bsn_mirror.len'],
+ fields['of13.action_bsn_mirror.experimenter'],
+ fields['of13.action_bsn_mirror.subtype'],
+ fields['of13.action_bsn_mirror.dest_port'],
+ fields['of13.action_bsn_mirror.vlan_tag'],
+ fields['of13.action_bsn_mirror.copy_stage'],
+ fields['of13.action_id_bsn_mirror.type'],
+ fields['of13.action_id_bsn_mirror.len'],
+ fields['of13.action_id_bsn_mirror.experimenter'],
+ fields['of13.action_id_bsn_mirror.subtype'],
+ fields['of13.action_bsn_set_tunnel_dst.type'],
+ fields['of13.action_bsn_set_tunnel_dst.len'],
+ fields['of13.action_bsn_set_tunnel_dst.experimenter'],
+ fields['of13.action_bsn_set_tunnel_dst.subtype'],
+ fields['of13.action_bsn_set_tunnel_dst.dst'],
+ fields['of13.action_id_bsn_set_tunnel_dst.type'],
+ fields['of13.action_id_bsn_set_tunnel_dst.len'],
+ fields['of13.action_id_bsn_set_tunnel_dst.experimenter'],
+ fields['of13.action_id_bsn_set_tunnel_dst.subtype'],
+ fields['of13.action_copy_ttl_in.type'],
+ fields['of13.action_copy_ttl_in.len'],
+ fields['of13.action_id_copy_ttl_in.type'],
+ fields['of13.action_id_copy_ttl_in.len'],
+ fields['of13.action_copy_ttl_out.type'],
+ fields['of13.action_copy_ttl_out.len'],
+ fields['of13.action_id_copy_ttl_out.type'],
+ fields['of13.action_id_copy_ttl_out.len'],
+ fields['of13.action_dec_mpls_ttl.type'],
+ fields['of13.action_dec_mpls_ttl.len'],
+ fields['of13.action_id_dec_mpls_ttl.type'],
+ fields['of13.action_id_dec_mpls_ttl.len'],
+ fields['of13.action_dec_nw_ttl.type'],
+ fields['of13.action_dec_nw_ttl.len'],
+ fields['of13.action_id_dec_nw_ttl.type'],
+ fields['of13.action_id_dec_nw_ttl.len'],
+ fields['of13.action_group.type'],
+ fields['of13.action_group.len'],
+ fields['of13.action_group.group_id'],
+ fields['of13.action_id_group.type'],
+ fields['of13.action_id_group.len'],
+ fields['of13.action_nicira.type'],
+ fields['of13.action_nicira.len'],
+ fields['of13.action_nicira.experimenter'],
+ fields['of13.action_nicira.subtype'],
+ fields['of13.action_id_nicira.type'],
+ fields['of13.action_id_nicira.len'],
+ fields['of13.action_id_nicira.experimenter'],
+ fields['of13.action_id_nicira.subtype'],
+ fields['of13.action_nicira_dec_ttl.type'],
+ fields['of13.action_nicira_dec_ttl.len'],
+ fields['of13.action_nicira_dec_ttl.experimenter'],
+ fields['of13.action_nicira_dec_ttl.subtype'],
+ fields['of13.action_id_nicira_dec_ttl.type'],
+ fields['of13.action_id_nicira_dec_ttl.len'],
+ fields['of13.action_id_nicira_dec_ttl.experimenter'],
+ fields['of13.action_id_nicira_dec_ttl.subtype'],
+ fields['of13.action_output.type'],
+ fields['of13.action_output.len'],
+ fields['of13.action_output.port'],
+ fields['of13.action_output.max_len'],
+ fields['of13.action_id_output.type'],
+ fields['of13.action_id_output.len'],
+ fields['of13.action_pop_mpls.type'],
+ fields['of13.action_pop_mpls.len'],
+ fields['of13.action_pop_mpls.ethertype'],
+ fields['of13.action_id_pop_mpls.type'],
+ fields['of13.action_id_pop_mpls.len'],
+ fields['of13.action_pop_pbb.type'],
+ fields['of13.action_pop_pbb.len'],
+ fields['of13.action_id_pop_pbb.type'],
+ fields['of13.action_id_pop_pbb.len'],
+ fields['of13.action_pop_vlan.type'],
+ fields['of13.action_pop_vlan.len'],
+ fields['of13.action_id_pop_vlan.type'],
+ fields['of13.action_id_pop_vlan.len'],
+ fields['of13.action_push_mpls.type'],
+ fields['of13.action_push_mpls.len'],
+ fields['of13.action_push_mpls.ethertype'],
+ fields['of13.action_id_push_mpls.type'],
+ fields['of13.action_id_push_mpls.len'],
+ fields['of13.action_push_pbb.type'],
+ fields['of13.action_push_pbb.len'],
+ fields['of13.action_push_pbb.ethertype'],
+ fields['of13.action_id_push_pbb.type'],
+ fields['of13.action_id_push_pbb.len'],
+ fields['of13.action_push_vlan.type'],
+ fields['of13.action_push_vlan.len'],
+ fields['of13.action_push_vlan.ethertype'],
+ fields['of13.action_id_push_vlan.type'],
+ fields['of13.action_id_push_vlan.len'],
+ fields['of13.oxm.type_len'],
+ fields['of13.action_set_field.type'],
+ fields['of13.action_set_field.len'],
+ fields['of13.action_set_field.field'],
+ fields['of13.action_id_set_field.type'],
+ fields['of13.action_id_set_field.len'],
+ fields['of13.action_set_mpls_ttl.type'],
+ fields['of13.action_set_mpls_ttl.len'],
+ fields['of13.action_set_mpls_ttl.mpls_ttl'],
+ fields['of13.action_id_set_mpls_ttl.type'],
+ fields['of13.action_id_set_mpls_ttl.len'],
+ fields['of13.action_set_nw_ttl.type'],
+ fields['of13.action_set_nw_ttl.len'],
+ fields['of13.action_set_nw_ttl.nw_ttl'],
+ fields['of13.action_id_set_nw_ttl.type'],
+ fields['of13.action_id_set_nw_ttl.len'],
+ fields['of13.action_set_queue.type'],
+ fields['of13.action_set_queue.len'],
+ fields['of13.action_set_queue.queue_id'],
+ fields['of13.action_id_set_queue.type'],
+ fields['of13.action_id_set_queue.len'],
+ fields['of13.header.version'],
+ fields['of13.header.type'],
+ fields['of13.header.length'],
+ fields['of13.header.xid'],
+ fields['of13.stats_reply.version'],
+ fields['of13.stats_reply.type'],
+ fields['of13.stats_reply.length'],
+ fields['of13.stats_reply.xid'],
+ fields['of13.stats_reply.stats_type'],
+ fields['of13.stats_reply.flags'],
+ fields['of13.aggregate_stats_reply.version'],
+ fields['of13.aggregate_stats_reply.type'],
+ fields['of13.aggregate_stats_reply.length'],
+ fields['of13.aggregate_stats_reply.xid'],
+ fields['of13.aggregate_stats_reply.stats_type'],
+ fields['of13.aggregate_stats_reply.flags'],
+ fields['of13.aggregate_stats_reply.packet_count'],
+ fields['of13.aggregate_stats_reply.byte_count'],
+ fields['of13.aggregate_stats_reply.flow_count'],
+ fields['of13.stats_request.version'],
+ fields['of13.stats_request.type'],
+ fields['of13.stats_request.length'],
+ fields['of13.stats_request.xid'],
+ fields['of13.stats_request.stats_type'],
+ fields['of13.stats_request.flags'],
+ fields['of13.aggregate_stats_request.version'],
+ fields['of13.aggregate_stats_request.type'],
+ fields['of13.aggregate_stats_request.length'],
+ fields['of13.aggregate_stats_request.xid'],
+ fields['of13.aggregate_stats_request.stats_type'],
+ fields['of13.aggregate_stats_request.flags'],
+ fields['of13.aggregate_stats_request.table_id'],
+ fields['of13.aggregate_stats_request.out_port'],
+ fields['of13.aggregate_stats_request.out_group'],
+ fields['of13.aggregate_stats_request.cookie'],
+ fields['of13.aggregate_stats_request.cookie_mask'],
+ fields['of13.aggregate_stats_request.match'],
+ fields['of13.async_get_reply.version'],
+ fields['of13.async_get_reply.type'],
+ fields['of13.async_get_reply.length'],
+ fields['of13.async_get_reply.xid'],
+ fields['of13.async_get_reply.packet_in_mask_equal_master'],
+ fields['of13.async_get_reply.packet_in_mask_slave'],
+ fields['of13.async_get_reply.port_status_mask_equal_master'],
+ fields['of13.async_get_reply.port_status_mask_slave'],
+ fields['of13.async_get_reply.flow_removed_mask_equal_master'],
+ fields['of13.async_get_reply.flow_removed_mask_slave'],
+ fields['of13.async_get_request.version'],
+ fields['of13.async_get_request.type'],
+ fields['of13.async_get_request.length'],
+ fields['of13.async_get_request.xid'],
+ fields['of13.async_get_request.packet_in_mask_equal_master'],
+ fields['of13.async_get_request.packet_in_mask_slave'],
+ fields['of13.async_get_request.port_status_mask_equal_master'],
+ fields['of13.async_get_request.port_status_mask_slave'],
+ fields['of13.async_get_request.flow_removed_mask_equal_master'],
+ fields['of13.async_get_request.flow_removed_mask_slave'],
+ fields['of13.async_set.version'],
+ fields['of13.async_set.type'],
+ fields['of13.async_set.length'],
+ fields['of13.async_set.xid'],
+ fields['of13.async_set.packet_in_mask_equal_master'],
+ fields['of13.async_set.packet_in_mask_slave'],
+ fields['of13.async_set.port_status_mask_equal_master'],
+ fields['of13.async_set.port_status_mask_slave'],
+ fields['of13.async_set.flow_removed_mask_equal_master'],
+ fields['of13.async_set.flow_removed_mask_slave'],
+ fields['of13.error_msg.version'],
+ fields['of13.error_msg.type'],
+ fields['of13.error_msg.length'],
+ fields['of13.error_msg.xid'],
+ fields['of13.error_msg.err_type'],
+ fields['of13.bad_action_error_msg.version'],
+ fields['of13.bad_action_error_msg.type'],
+ fields['of13.bad_action_error_msg.length'],
+ fields['of13.bad_action_error_msg.xid'],
+ fields['of13.bad_action_error_msg.err_type'],
+ fields['of13.bad_action_error_msg.code'],
+ fields['of13.bad_action_error_msg.data'],
+ fields['of13.bad_instruction_error_msg.version'],
+ fields['of13.bad_instruction_error_msg.type'],
+ fields['of13.bad_instruction_error_msg.length'],
+ fields['of13.bad_instruction_error_msg.xid'],
+ fields['of13.bad_instruction_error_msg.err_type'],
+ fields['of13.bad_instruction_error_msg.code'],
+ fields['of13.bad_instruction_error_msg.data'],
+ fields['of13.bad_match_error_msg.version'],
+ fields['of13.bad_match_error_msg.type'],
+ fields['of13.bad_match_error_msg.length'],
+ fields['of13.bad_match_error_msg.xid'],
+ fields['of13.bad_match_error_msg.err_type'],
+ fields['of13.bad_match_error_msg.code'],
+ fields['of13.bad_match_error_msg.data'],
+ fields['of13.bad_request_error_msg.version'],
+ fields['of13.bad_request_error_msg.type'],
+ fields['of13.bad_request_error_msg.length'],
+ fields['of13.bad_request_error_msg.xid'],
+ fields['of13.bad_request_error_msg.err_type'],
+ fields['of13.bad_request_error_msg.code'],
+ fields['of13.bad_request_error_msg.data'],
+ fields['of13.barrier_reply.version'],
+ fields['of13.barrier_reply.type'],
+ fields['of13.barrier_reply.length'],
+ fields['of13.barrier_reply.xid'],
+ fields['of13.barrier_request.version'],
+ fields['of13.barrier_request.type'],
+ fields['of13.barrier_request.length'],
+ fields['of13.barrier_request.xid'],
+ fields['of13.experimenter.version'],
+ fields['of13.experimenter.type'],
+ fields['of13.experimenter.length'],
+ fields['of13.experimenter.xid'],
+ fields['of13.experimenter.experimenter'],
+ fields['of13.experimenter.subtype'],
+ fields['of13.experimenter.data'],
+ fields['of13.bsn_header.version'],
+ fields['of13.bsn_header.type'],
+ fields['of13.bsn_header.length'],
+ fields['of13.bsn_header.xid'],
+ fields['of13.bsn_header.experimenter'],
+ fields['of13.bsn_header.subtype'],
+ fields['of13.bsn_arp_idle.version'],
+ fields['of13.bsn_arp_idle.type'],
+ fields['of13.bsn_arp_idle.length'],
+ fields['of13.bsn_arp_idle.xid'],
+ fields['of13.bsn_arp_idle.experimenter'],
+ fields['of13.bsn_arp_idle.subtype'],
+ fields['of13.bsn_arp_idle.vlan_vid'],
+ fields['of13.bsn_arp_idle.ipv4_addr'],
+ fields['of13.bsn_bw_clear_data_reply.version'],
+ fields['of13.bsn_bw_clear_data_reply.type'],
+ fields['of13.bsn_bw_clear_data_reply.length'],
+ fields['of13.bsn_bw_clear_data_reply.xid'],
+ fields['of13.bsn_bw_clear_data_reply.experimenter'],
+ fields['of13.bsn_bw_clear_data_reply.subtype'],
+ fields['of13.bsn_bw_clear_data_reply.status'],
+ fields['of13.bsn_bw_clear_data_request.version'],
+ fields['of13.bsn_bw_clear_data_request.type'],
+ fields['of13.bsn_bw_clear_data_request.length'],
+ fields['of13.bsn_bw_clear_data_request.xid'],
+ fields['of13.bsn_bw_clear_data_request.experimenter'],
+ fields['of13.bsn_bw_clear_data_request.subtype'],
+ fields['of13.bsn_bw_enable_get_reply.version'],
+ fields['of13.bsn_bw_enable_get_reply.type'],
+ fields['of13.bsn_bw_enable_get_reply.length'],
+ fields['of13.bsn_bw_enable_get_reply.xid'],
+ fields['of13.bsn_bw_enable_get_reply.experimenter'],
+ fields['of13.bsn_bw_enable_get_reply.subtype'],
+ fields['of13.bsn_bw_enable_get_reply.enabled'],
+ fields['of13.bsn_bw_enable_get_request.version'],
+ fields['of13.bsn_bw_enable_get_request.type'],
+ fields['of13.bsn_bw_enable_get_request.length'],
+ fields['of13.bsn_bw_enable_get_request.xid'],
+ fields['of13.bsn_bw_enable_get_request.experimenter'],
+ fields['of13.bsn_bw_enable_get_request.subtype'],
+ fields['of13.bsn_bw_enable_set_reply.version'],
+ fields['of13.bsn_bw_enable_set_reply.type'],
+ fields['of13.bsn_bw_enable_set_reply.length'],
+ fields['of13.bsn_bw_enable_set_reply.xid'],
+ fields['of13.bsn_bw_enable_set_reply.experimenter'],
+ fields['of13.bsn_bw_enable_set_reply.subtype'],
+ fields['of13.bsn_bw_enable_set_reply.enable'],
+ fields['of13.bsn_bw_enable_set_reply.status'],
+ fields['of13.bsn_bw_enable_set_request.version'],
+ fields['of13.bsn_bw_enable_set_request.type'],
+ fields['of13.bsn_bw_enable_set_request.length'],
+ fields['of13.bsn_bw_enable_set_request.xid'],
+ fields['of13.bsn_bw_enable_set_request.experimenter'],
+ fields['of13.bsn_bw_enable_set_request.subtype'],
+ fields['of13.bsn_bw_enable_set_request.enable'],
+ fields['of13.bsn_controller_connection.state'],
+ fields['of13.bsn_controller_connection.auxiliary_id'],
+ fields['of13.bsn_controller_connection.role'],
+ fields['of13.bsn_controller_connection.uri'],
+ fields['of13.bsn_controller_connections_reply.version'],
+ fields['of13.bsn_controller_connections_reply.type'],
+ fields['of13.bsn_controller_connections_reply.length'],
+ fields['of13.bsn_controller_connections_reply.xid'],
+ fields['of13.bsn_controller_connections_reply.experimenter'],
+ fields['of13.bsn_controller_connections_reply.subtype'],
+ fields['of13.bsn_controller_connections_reply.connections'],
+ fields['of13.bsn_controller_connections_request.version'],
+ fields['of13.bsn_controller_connections_request.type'],
+ fields['of13.bsn_controller_connections_request.length'],
+ fields['of13.bsn_controller_connections_request.xid'],
+ fields['of13.bsn_controller_connections_request.experimenter'],
+ fields['of13.bsn_controller_connections_request.subtype'],
+ fields['of13.bsn_debug_counter_desc_stats_entry.counter_id'],
+ fields['of13.bsn_debug_counter_desc_stats_entry.name'],
+ fields['of13.bsn_debug_counter_desc_stats_entry.description'],
+ fields['of13.experimenter_stats_reply.version'],
+ fields['of13.experimenter_stats_reply.type'],
+ fields['of13.experimenter_stats_reply.length'],
+ fields['of13.experimenter_stats_reply.xid'],
+ fields['of13.experimenter_stats_reply.stats_type'],
+ fields['of13.experimenter_stats_reply.flags'],
+ fields['of13.experimenter_stats_reply.experimenter'],
+ fields['of13.experimenter_stats_reply.subtype'],
+ fields['of13.bsn_stats_reply.version'],
+ fields['of13.bsn_stats_reply.type'],
+ fields['of13.bsn_stats_reply.length'],
+ fields['of13.bsn_stats_reply.xid'],
+ fields['of13.bsn_stats_reply.stats_type'],
+ fields['of13.bsn_stats_reply.flags'],
+ fields['of13.bsn_stats_reply.experimenter'],
+ fields['of13.bsn_stats_reply.subtype'],
+ fields['of13.bsn_debug_counter_desc_stats_reply.version'],
+ fields['of13.bsn_debug_counter_desc_stats_reply.type'],
+ fields['of13.bsn_debug_counter_desc_stats_reply.length'],
+ fields['of13.bsn_debug_counter_desc_stats_reply.xid'],
+ fields['of13.bsn_debug_counter_desc_stats_reply.stats_type'],
+ fields['of13.bsn_debug_counter_desc_stats_reply.flags'],
+ fields['of13.bsn_debug_counter_desc_stats_reply.experimenter'],
+ fields['of13.bsn_debug_counter_desc_stats_reply.subtype'],
+ fields['of13.bsn_debug_counter_desc_stats_reply.entries'],
+ fields['of13.experimenter_stats_request.version'],
+ fields['of13.experimenter_stats_request.type'],
+ fields['of13.experimenter_stats_request.length'],
+ fields['of13.experimenter_stats_request.xid'],
+ fields['of13.experimenter_stats_request.stats_type'],
+ fields['of13.experimenter_stats_request.flags'],
+ fields['of13.experimenter_stats_request.experimenter'],
+ fields['of13.experimenter_stats_request.subtype'],
+ fields['of13.bsn_stats_request.version'],
+ fields['of13.bsn_stats_request.type'],
+ fields['of13.bsn_stats_request.length'],
+ fields['of13.bsn_stats_request.xid'],
+ fields['of13.bsn_stats_request.stats_type'],
+ fields['of13.bsn_stats_request.flags'],
+ fields['of13.bsn_stats_request.experimenter'],
+ fields['of13.bsn_stats_request.subtype'],
+ fields['of13.bsn_debug_counter_desc_stats_request.version'],
+ fields['of13.bsn_debug_counter_desc_stats_request.type'],
+ fields['of13.bsn_debug_counter_desc_stats_request.length'],
+ fields['of13.bsn_debug_counter_desc_stats_request.xid'],
+ fields['of13.bsn_debug_counter_desc_stats_request.stats_type'],
+ fields['of13.bsn_debug_counter_desc_stats_request.flags'],
+ fields['of13.bsn_debug_counter_desc_stats_request.experimenter'],
+ fields['of13.bsn_debug_counter_desc_stats_request.subtype'],
+ fields['of13.bsn_debug_counter_stats_entry.counter_id'],
+ fields['of13.bsn_debug_counter_stats_entry.value'],
+ fields['of13.bsn_debug_counter_stats_reply.version'],
+ fields['of13.bsn_debug_counter_stats_reply.type'],
+ fields['of13.bsn_debug_counter_stats_reply.length'],
+ fields['of13.bsn_debug_counter_stats_reply.xid'],
+ fields['of13.bsn_debug_counter_stats_reply.stats_type'],
+ fields['of13.bsn_debug_counter_stats_reply.flags'],
+ fields['of13.bsn_debug_counter_stats_reply.experimenter'],
+ fields['of13.bsn_debug_counter_stats_reply.subtype'],
+ fields['of13.bsn_debug_counter_stats_reply.entries'],
+ fields['of13.bsn_debug_counter_stats_request.version'],
+ fields['of13.bsn_debug_counter_stats_request.type'],
+ fields['of13.bsn_debug_counter_stats_request.length'],
+ fields['of13.bsn_debug_counter_stats_request.xid'],
+ fields['of13.bsn_debug_counter_stats_request.stats_type'],
+ fields['of13.bsn_debug_counter_stats_request.flags'],
+ fields['of13.bsn_debug_counter_stats_request.experimenter'],
+ fields['of13.bsn_debug_counter_stats_request.subtype'],
+ fields['of13.bsn_flow_checksum_bucket_stats_entry.checksum'],
+ fields['of13.bsn_flow_checksum_bucket_stats_reply.version'],
+ fields['of13.bsn_flow_checksum_bucket_stats_reply.type'],
+ fields['of13.bsn_flow_checksum_bucket_stats_reply.length'],
+ fields['of13.bsn_flow_checksum_bucket_stats_reply.xid'],
+ fields['of13.bsn_flow_checksum_bucket_stats_reply.stats_type'],
+ fields['of13.bsn_flow_checksum_bucket_stats_reply.flags'],
+ fields['of13.bsn_flow_checksum_bucket_stats_reply.experimenter'],
+ fields['of13.bsn_flow_checksum_bucket_stats_reply.subtype'],
+ fields['of13.bsn_flow_checksum_bucket_stats_reply.entries'],
+ fields['of13.bsn_flow_checksum_bucket_stats_request.version'],
+ fields['of13.bsn_flow_checksum_bucket_stats_request.type'],
+ fields['of13.bsn_flow_checksum_bucket_stats_request.length'],
+ fields['of13.bsn_flow_checksum_bucket_stats_request.xid'],
+ fields['of13.bsn_flow_checksum_bucket_stats_request.stats_type'],
+ fields['of13.bsn_flow_checksum_bucket_stats_request.flags'],
+ fields['of13.bsn_flow_checksum_bucket_stats_request.experimenter'],
+ fields['of13.bsn_flow_checksum_bucket_stats_request.subtype'],
+ fields['of13.bsn_flow_checksum_bucket_stats_request.table_id'],
+ fields['of13.bsn_flow_idle.version'],
+ fields['of13.bsn_flow_idle.type'],
+ fields['of13.bsn_flow_idle.length'],
+ fields['of13.bsn_flow_idle.xid'],
+ fields['of13.bsn_flow_idle.experimenter'],
+ fields['of13.bsn_flow_idle.subtype'],
+ fields['of13.bsn_flow_idle.cookie'],
+ fields['of13.bsn_flow_idle.priority'],
+ fields['of13.bsn_flow_idle.table_id'],
+ fields['of13.bsn_flow_idle.match'],
+ fields['of13.bsn_flow_idle_enable_get_reply.version'],
+ fields['of13.bsn_flow_idle_enable_get_reply.type'],
+ fields['of13.bsn_flow_idle_enable_get_reply.length'],
+ fields['of13.bsn_flow_idle_enable_get_reply.xid'],
+ fields['of13.bsn_flow_idle_enable_get_reply.experimenter'],
+ fields['of13.bsn_flow_idle_enable_get_reply.subtype'],
+ fields['of13.bsn_flow_idle_enable_get_reply.enabled'],
+ fields['of13.bsn_flow_idle_enable_get_request.version'],
+ fields['of13.bsn_flow_idle_enable_get_request.type'],
+ fields['of13.bsn_flow_idle_enable_get_request.length'],
+ fields['of13.bsn_flow_idle_enable_get_request.xid'],
+ fields['of13.bsn_flow_idle_enable_get_request.experimenter'],
+ fields['of13.bsn_flow_idle_enable_get_request.subtype'],
+ fields['of13.bsn_flow_idle_enable_set_reply.version'],
+ fields['of13.bsn_flow_idle_enable_set_reply.type'],
+ fields['of13.bsn_flow_idle_enable_set_reply.length'],
+ fields['of13.bsn_flow_idle_enable_set_reply.xid'],
+ fields['of13.bsn_flow_idle_enable_set_reply.experimenter'],
+ fields['of13.bsn_flow_idle_enable_set_reply.subtype'],
+ fields['of13.bsn_flow_idle_enable_set_reply.enable'],
+ fields['of13.bsn_flow_idle_enable_set_reply.status'],
+ fields['of13.bsn_flow_idle_enable_set_request.version'],
+ fields['of13.bsn_flow_idle_enable_set_request.type'],
+ fields['of13.bsn_flow_idle_enable_set_request.length'],
+ fields['of13.bsn_flow_idle_enable_set_request.xid'],
+ fields['of13.bsn_flow_idle_enable_set_request.experimenter'],
+ fields['of13.bsn_flow_idle_enable_set_request.subtype'],
+ fields['of13.bsn_flow_idle_enable_set_request.enable'],
+ fields['of13.bsn_gentable_bucket_stats_entry.checksum'],
+ fields['of13.bsn_gentable_bucket_stats_reply.version'],
+ fields['of13.bsn_gentable_bucket_stats_reply.type'],
+ fields['of13.bsn_gentable_bucket_stats_reply.length'],
+ fields['of13.bsn_gentable_bucket_stats_reply.xid'],
+ fields['of13.bsn_gentable_bucket_stats_reply.stats_type'],
+ fields['of13.bsn_gentable_bucket_stats_reply.flags'],
+ fields['of13.bsn_gentable_bucket_stats_reply.experimenter'],
+ fields['of13.bsn_gentable_bucket_stats_reply.subtype'],
+ fields['of13.bsn_gentable_bucket_stats_reply.entries'],
+ fields['of13.bsn_gentable_bucket_stats_request.version'],
+ fields['of13.bsn_gentable_bucket_stats_request.type'],
+ fields['of13.bsn_gentable_bucket_stats_request.length'],
+ fields['of13.bsn_gentable_bucket_stats_request.xid'],
+ fields['of13.bsn_gentable_bucket_stats_request.stats_type'],
+ fields['of13.bsn_gentable_bucket_stats_request.flags'],
+ fields['of13.bsn_gentable_bucket_stats_request.experimenter'],
+ fields['of13.bsn_gentable_bucket_stats_request.subtype'],
+ fields['of13.bsn_gentable_bucket_stats_request.table_id'],
+ fields['of13.bsn_gentable_clear_reply.version'],
+ fields['of13.bsn_gentable_clear_reply.type'],
+ fields['of13.bsn_gentable_clear_reply.length'],
+ fields['of13.bsn_gentable_clear_reply.xid'],
+ fields['of13.bsn_gentable_clear_reply.experimenter'],
+ fields['of13.bsn_gentable_clear_reply.subtype'],
+ fields['of13.bsn_gentable_clear_reply.table_id'],
+ fields['of13.bsn_gentable_clear_reply.deleted_count'],
+ fields['of13.bsn_gentable_clear_reply.error_count'],
+ fields['of13.bsn_gentable_clear_request.version'],
+ fields['of13.bsn_gentable_clear_request.type'],
+ fields['of13.bsn_gentable_clear_request.length'],
+ fields['of13.bsn_gentable_clear_request.xid'],
+ fields['of13.bsn_gentable_clear_request.experimenter'],
+ fields['of13.bsn_gentable_clear_request.subtype'],
+ fields['of13.bsn_gentable_clear_request.table_id'],
+ fields['of13.bsn_gentable_clear_request.checksum'],
+ fields['of13.bsn_gentable_clear_request.checksum_mask'],
+ fields['of13.bsn_gentable_desc_stats_entry.length'],
+ fields['of13.bsn_gentable_desc_stats_entry.table_id'],
+ fields['of13.bsn_gentable_desc_stats_entry.name'],
+ fields['of13.bsn_gentable_desc_stats_entry.buckets_size'],
+ fields['of13.bsn_gentable_desc_stats_entry.max_entries'],
+ fields['of13.bsn_gentable_desc_stats_reply.version'],
+ fields['of13.bsn_gentable_desc_stats_reply.type'],
+ fields['of13.bsn_gentable_desc_stats_reply.length'],
+ fields['of13.bsn_gentable_desc_stats_reply.xid'],
+ fields['of13.bsn_gentable_desc_stats_reply.stats_type'],
+ fields['of13.bsn_gentable_desc_stats_reply.flags'],
+ fields['of13.bsn_gentable_desc_stats_reply.experimenter'],
+ fields['of13.bsn_gentable_desc_stats_reply.subtype'],
+ fields['of13.bsn_gentable_desc_stats_reply.entries'],
+ fields['of13.bsn_gentable_desc_stats_request.version'],
+ fields['of13.bsn_gentable_desc_stats_request.type'],
+ fields['of13.bsn_gentable_desc_stats_request.length'],
+ fields['of13.bsn_gentable_desc_stats_request.xid'],
+ fields['of13.bsn_gentable_desc_stats_request.stats_type'],
+ fields['of13.bsn_gentable_desc_stats_request.flags'],
+ fields['of13.bsn_gentable_desc_stats_request.experimenter'],
+ fields['of13.bsn_gentable_desc_stats_request.subtype'],
+ fields['of13.bsn_gentable_entry_add.version'],
+ fields['of13.bsn_gentable_entry_add.type'],
+ fields['of13.bsn_gentable_entry_add.length'],
+ fields['of13.bsn_gentable_entry_add.xid'],
+ fields['of13.bsn_gentable_entry_add.experimenter'],
+ fields['of13.bsn_gentable_entry_add.subtype'],
+ fields['of13.bsn_gentable_entry_add.table_id'],
+ fields['of13.bsn_gentable_entry_add.key_length'],
+ fields['of13.bsn_gentable_entry_add.checksum'],
+ fields['of13.bsn_gentable_entry_add.key'],
+ fields['of13.bsn_gentable_entry_add.value'],
+ fields['of13.bsn_gentable_entry_delete.version'],
+ fields['of13.bsn_gentable_entry_delete.type'],
+ fields['of13.bsn_gentable_entry_delete.length'],
+ fields['of13.bsn_gentable_entry_delete.xid'],
+ fields['of13.bsn_gentable_entry_delete.experimenter'],
+ fields['of13.bsn_gentable_entry_delete.subtype'],
+ fields['of13.bsn_gentable_entry_delete.table_id'],
+ fields['of13.bsn_gentable_entry_delete.key'],
+ fields['of13.bsn_gentable_entry_desc_stats_entry.length'],
+ fields['of13.bsn_gentable_entry_desc_stats_entry.key_length'],
+ fields['of13.bsn_gentable_entry_desc_stats_entry.checksum'],
+ fields['of13.bsn_gentable_entry_desc_stats_entry.key'],
+ fields['of13.bsn_gentable_entry_desc_stats_entry.value'],
+ fields['of13.bsn_gentable_entry_desc_stats_reply.version'],
+ fields['of13.bsn_gentable_entry_desc_stats_reply.type'],
+ fields['of13.bsn_gentable_entry_desc_stats_reply.length'],
+ fields['of13.bsn_gentable_entry_desc_stats_reply.xid'],
+ fields['of13.bsn_gentable_entry_desc_stats_reply.stats_type'],
+ fields['of13.bsn_gentable_entry_desc_stats_reply.flags'],
+ fields['of13.bsn_gentable_entry_desc_stats_reply.experimenter'],
+ fields['of13.bsn_gentable_entry_desc_stats_reply.subtype'],
+ fields['of13.bsn_gentable_entry_desc_stats_reply.entries'],
+ fields['of13.bsn_gentable_entry_desc_stats_request.version'],
+ fields['of13.bsn_gentable_entry_desc_stats_request.type'],
+ fields['of13.bsn_gentable_entry_desc_stats_request.length'],
+ fields['of13.bsn_gentable_entry_desc_stats_request.xid'],
+ fields['of13.bsn_gentable_entry_desc_stats_request.stats_type'],
+ fields['of13.bsn_gentable_entry_desc_stats_request.flags'],
+ fields['of13.bsn_gentable_entry_desc_stats_request.experimenter'],
+ fields['of13.bsn_gentable_entry_desc_stats_request.subtype'],
+ fields['of13.bsn_gentable_entry_desc_stats_request.table_id'],
+ fields['of13.bsn_gentable_entry_desc_stats_request.checksum'],
+ fields['of13.bsn_gentable_entry_desc_stats_request.checksum_mask'],
+ fields['of13.bsn_gentable_entry_stats_entry.length'],
+ fields['of13.bsn_gentable_entry_stats_entry.key_length'],
+ fields['of13.bsn_gentable_entry_stats_entry.key'],
+ fields['of13.bsn_gentable_entry_stats_entry.stats'],
+ fields['of13.bsn_gentable_entry_stats_reply.version'],
+ fields['of13.bsn_gentable_entry_stats_reply.type'],
+ fields['of13.bsn_gentable_entry_stats_reply.length'],
+ fields['of13.bsn_gentable_entry_stats_reply.xid'],
+ fields['of13.bsn_gentable_entry_stats_reply.stats_type'],
+ fields['of13.bsn_gentable_entry_stats_reply.flags'],
+ fields['of13.bsn_gentable_entry_stats_reply.experimenter'],
+ fields['of13.bsn_gentable_entry_stats_reply.subtype'],
+ fields['of13.bsn_gentable_entry_stats_reply.entries'],
+ fields['of13.bsn_gentable_entry_stats_request.version'],
+ fields['of13.bsn_gentable_entry_stats_request.type'],
+ fields['of13.bsn_gentable_entry_stats_request.length'],
+ fields['of13.bsn_gentable_entry_stats_request.xid'],
+ fields['of13.bsn_gentable_entry_stats_request.stats_type'],
+ fields['of13.bsn_gentable_entry_stats_request.flags'],
+ fields['of13.bsn_gentable_entry_stats_request.experimenter'],
+ fields['of13.bsn_gentable_entry_stats_request.subtype'],
+ fields['of13.bsn_gentable_entry_stats_request.table_id'],
+ fields['of13.bsn_gentable_entry_stats_request.checksum'],
+ fields['of13.bsn_gentable_entry_stats_request.checksum_mask'],
+ fields['of13.bsn_gentable_set_buckets_size.version'],
+ fields['of13.bsn_gentable_set_buckets_size.type'],
+ fields['of13.bsn_gentable_set_buckets_size.length'],
+ fields['of13.bsn_gentable_set_buckets_size.xid'],
+ fields['of13.bsn_gentable_set_buckets_size.experimenter'],
+ fields['of13.bsn_gentable_set_buckets_size.subtype'],
+ fields['of13.bsn_gentable_set_buckets_size.table_id'],
+ fields['of13.bsn_gentable_set_buckets_size.buckets_size'],
+ fields['of13.bsn_gentable_stats_entry.table_id'],
+ fields['of13.bsn_gentable_stats_entry.entry_count'],
+ fields['of13.bsn_gentable_stats_entry.checksum'],
+ fields['of13.bsn_gentable_stats_reply.version'],
+ fields['of13.bsn_gentable_stats_reply.type'],
+ fields['of13.bsn_gentable_stats_reply.length'],
+ fields['of13.bsn_gentable_stats_reply.xid'],
+ fields['of13.bsn_gentable_stats_reply.stats_type'],
+ fields['of13.bsn_gentable_stats_reply.flags'],
+ fields['of13.bsn_gentable_stats_reply.experimenter'],
+ fields['of13.bsn_gentable_stats_reply.subtype'],
+ fields['of13.bsn_gentable_stats_reply.entries'],
+ fields['of13.bsn_gentable_stats_request.version'],
+ fields['of13.bsn_gentable_stats_request.type'],
+ fields['of13.bsn_gentable_stats_request.length'],
+ fields['of13.bsn_gentable_stats_request.xid'],
+ fields['of13.bsn_gentable_stats_request.stats_type'],
+ fields['of13.bsn_gentable_stats_request.flags'],
+ fields['of13.bsn_gentable_stats_request.experimenter'],
+ fields['of13.bsn_gentable_stats_request.subtype'],
+ fields['of13.bsn_get_interfaces_reply.version'],
+ fields['of13.bsn_get_interfaces_reply.type'],
+ fields['of13.bsn_get_interfaces_reply.length'],
+ fields['of13.bsn_get_interfaces_reply.xid'],
+ fields['of13.bsn_get_interfaces_reply.experimenter'],
+ fields['of13.bsn_get_interfaces_reply.subtype'],
+ fields['of13.bsn_get_interfaces_reply.interfaces'],
+ fields['of13.bsn_get_interfaces_request.version'],
+ fields['of13.bsn_get_interfaces_request.type'],
+ fields['of13.bsn_get_interfaces_request.length'],
+ fields['of13.bsn_get_interfaces_request.xid'],
+ fields['of13.bsn_get_interfaces_request.experimenter'],
+ fields['of13.bsn_get_interfaces_request.subtype'],
+ fields['of13.bsn_get_mirroring_reply.version'],
+ fields['of13.bsn_get_mirroring_reply.type'],
+ fields['of13.bsn_get_mirroring_reply.length'],
+ fields['of13.bsn_get_mirroring_reply.xid'],
+ fields['of13.bsn_get_mirroring_reply.experimenter'],
+ fields['of13.bsn_get_mirroring_reply.subtype'],
+ fields['of13.bsn_get_mirroring_reply.report_mirror_ports'],
+ fields['of13.bsn_get_mirroring_request.version'],
+ fields['of13.bsn_get_mirroring_request.type'],
+ fields['of13.bsn_get_mirroring_request.length'],
+ fields['of13.bsn_get_mirroring_request.xid'],
+ fields['of13.bsn_get_mirroring_request.experimenter'],
+ fields['of13.bsn_get_mirroring_request.subtype'],
+ fields['of13.bsn_get_mirroring_request.report_mirror_ports'],
+ fields['of13.bsn_get_switch_pipeline_reply.version'],
+ fields['of13.bsn_get_switch_pipeline_reply.type'],
+ fields['of13.bsn_get_switch_pipeline_reply.length'],
+ fields['of13.bsn_get_switch_pipeline_reply.xid'],
+ fields['of13.bsn_get_switch_pipeline_reply.experimenter'],
+ fields['of13.bsn_get_switch_pipeline_reply.subtype'],
+ fields['of13.bsn_get_switch_pipeline_reply.pipeline'],
+ fields['of13.bsn_get_switch_pipeline_request.version'],
+ fields['of13.bsn_get_switch_pipeline_request.type'],
+ fields['of13.bsn_get_switch_pipeline_request.length'],
+ fields['of13.bsn_get_switch_pipeline_request.xid'],
+ fields['of13.bsn_get_switch_pipeline_request.experimenter'],
+ fields['of13.bsn_get_switch_pipeline_request.subtype'],
+ fields['of13.bsn_image_desc_stats_reply.version'],
+ fields['of13.bsn_image_desc_stats_reply.type'],
+ fields['of13.bsn_image_desc_stats_reply.length'],
+ fields['of13.bsn_image_desc_stats_reply.xid'],
+ fields['of13.bsn_image_desc_stats_reply.stats_type'],
+ fields['of13.bsn_image_desc_stats_reply.flags'],
+ fields['of13.bsn_image_desc_stats_reply.experimenter'],
+ fields['of13.bsn_image_desc_stats_reply.subtype'],
+ fields['of13.bsn_image_desc_stats_reply.image_checksum'],
+ fields['of13.bsn_image_desc_stats_reply.startup_config_checksum'],
+ fields['of13.bsn_image_desc_stats_request.version'],
+ fields['of13.bsn_image_desc_stats_request.type'],
+ fields['of13.bsn_image_desc_stats_request.length'],
+ fields['of13.bsn_image_desc_stats_request.xid'],
+ fields['of13.bsn_image_desc_stats_request.stats_type'],
+ fields['of13.bsn_image_desc_stats_request.flags'],
+ fields['of13.bsn_image_desc_stats_request.experimenter'],
+ fields['of13.bsn_image_desc_stats_request.subtype'],
+ fields['of13.bsn_interface.hw_addr'],
+ fields['of13.bsn_interface.name'],
+ fields['of13.bsn_interface.ipv4_addr'],
+ fields['of13.bsn_interface.ipv4_netmask'],
+ fields['of13.bsn_lacp_convergence_notif.version'],
+ fields['of13.bsn_lacp_convergence_notif.type'],
+ fields['of13.bsn_lacp_convergence_notif.length'],
+ fields['of13.bsn_lacp_convergence_notif.xid'],
+ fields['of13.bsn_lacp_convergence_notif.experimenter'],
+ fields['of13.bsn_lacp_convergence_notif.subtype'],
+ fields['of13.bsn_lacp_convergence_notif.convergence_status'],
+ fields['of13.bsn_lacp_convergence_notif.port_no'],
+ fields['of13.bsn_lacp_convergence_notif.actor_sys_priority'],
+ fields['of13.bsn_lacp_convergence_notif.actor_sys_mac'],
+ fields['of13.bsn_lacp_convergence_notif.actor_port_priority'],
+ fields['of13.bsn_lacp_convergence_notif.actor_port_num'],
+ fields['of13.bsn_lacp_convergence_notif.actor_key'],
+ fields['of13.bsn_lacp_convergence_notif.partner_sys_priority'],
+ fields['of13.bsn_lacp_convergence_notif.partner_sys_mac'],
+ fields['of13.bsn_lacp_convergence_notif.partner_port_priority'],
+ fields['of13.bsn_lacp_convergence_notif.partner_port_num'],
+ fields['of13.bsn_lacp_convergence_notif.partner_key'],
+ fields['of13.bsn_lacp_stats_entry.port_no'],
+ fields['of13.bsn_lacp_stats_entry.actor_sys_priority'],
+ fields['of13.bsn_lacp_stats_entry.actor_sys_mac'],
+ fields['of13.bsn_lacp_stats_entry.actor_port_priority'],
+ fields['of13.bsn_lacp_stats_entry.actor_port_num'],
+ fields['of13.bsn_lacp_stats_entry.actor_key'],
+ fields['of13.bsn_lacp_stats_entry.convergence_status'],
+ fields['of13.bsn_lacp_stats_entry.partner_sys_priority'],
+ fields['of13.bsn_lacp_stats_entry.partner_sys_mac'],
+ fields['of13.bsn_lacp_stats_entry.partner_port_priority'],
+ fields['of13.bsn_lacp_stats_entry.partner_port_num'],
+ fields['of13.bsn_lacp_stats_entry.partner_key'],
+ fields['of13.bsn_lacp_stats_reply.version'],
+ fields['of13.bsn_lacp_stats_reply.type'],
+ fields['of13.bsn_lacp_stats_reply.length'],
+ fields['of13.bsn_lacp_stats_reply.xid'],
+ fields['of13.bsn_lacp_stats_reply.stats_type'],
+ fields['of13.bsn_lacp_stats_reply.flags'],
+ fields['of13.bsn_lacp_stats_reply.experimenter'],
+ fields['of13.bsn_lacp_stats_reply.subtype'],
+ fields['of13.bsn_lacp_stats_reply.entries'],
+ fields['of13.bsn_lacp_stats_request.version'],
+ fields['of13.bsn_lacp_stats_request.type'],
+ fields['of13.bsn_lacp_stats_request.length'],
+ fields['of13.bsn_lacp_stats_request.xid'],
+ fields['of13.bsn_lacp_stats_request.stats_type'],
+ fields['of13.bsn_lacp_stats_request.flags'],
+ fields['of13.bsn_lacp_stats_request.experimenter'],
+ fields['of13.bsn_lacp_stats_request.subtype'],
+ fields['of13.bsn_log.version'],
+ fields['of13.bsn_log.type'],
+ fields['of13.bsn_log.length'],
+ fields['of13.bsn_log.xid'],
+ fields['of13.bsn_log.experimenter'],
+ fields['of13.bsn_log.subtype'],
+ fields['of13.bsn_log.loglevel'],
+ fields['of13.bsn_log.data'],
+ fields['of13.bsn_pdu_rx_reply.version'],
+ fields['of13.bsn_pdu_rx_reply.type'],
+ fields['of13.bsn_pdu_rx_reply.length'],
+ fields['of13.bsn_pdu_rx_reply.xid'],
+ fields['of13.bsn_pdu_rx_reply.experimenter'],
+ fields['of13.bsn_pdu_rx_reply.subtype'],
+ fields['of13.bsn_pdu_rx_reply.status'],
+ fields['of13.bsn_pdu_rx_reply.port_no'],
+ fields['of13.bsn_pdu_rx_reply.slot_num'],
+ fields['of13.bsn_pdu_rx_request.version'],
+ fields['of13.bsn_pdu_rx_request.type'],
+ fields['of13.bsn_pdu_rx_request.length'],
+ fields['of13.bsn_pdu_rx_request.xid'],
+ fields['of13.bsn_pdu_rx_request.experimenter'],
+ fields['of13.bsn_pdu_rx_request.subtype'],
+ fields['of13.bsn_pdu_rx_request.timeout_ms'],
+ fields['of13.bsn_pdu_rx_request.port_no'],
+ fields['of13.bsn_pdu_rx_request.slot_num'],
+ fields['of13.bsn_pdu_rx_request.data'],
+ fields['of13.bsn_pdu_rx_timeout.version'],
+ fields['of13.bsn_pdu_rx_timeout.type'],
+ fields['of13.bsn_pdu_rx_timeout.length'],
+ fields['of13.bsn_pdu_rx_timeout.xid'],
+ fields['of13.bsn_pdu_rx_timeout.experimenter'],
+ fields['of13.bsn_pdu_rx_timeout.subtype'],
+ fields['of13.bsn_pdu_rx_timeout.port_no'],
+ fields['of13.bsn_pdu_rx_timeout.slot_num'],
+ fields['of13.bsn_pdu_tx_reply.version'],
+ fields['of13.bsn_pdu_tx_reply.type'],
+ fields['of13.bsn_pdu_tx_reply.length'],
+ fields['of13.bsn_pdu_tx_reply.xid'],
+ fields['of13.bsn_pdu_tx_reply.experimenter'],
+ fields['of13.bsn_pdu_tx_reply.subtype'],
+ fields['of13.bsn_pdu_tx_reply.status'],
+ fields['of13.bsn_pdu_tx_reply.port_no'],
+ fields['of13.bsn_pdu_tx_reply.slot_num'],
+ fields['of13.bsn_pdu_tx_request.version'],
+ fields['of13.bsn_pdu_tx_request.type'],
+ fields['of13.bsn_pdu_tx_request.length'],
+ fields['of13.bsn_pdu_tx_request.xid'],
+ fields['of13.bsn_pdu_tx_request.experimenter'],
+ fields['of13.bsn_pdu_tx_request.subtype'],
+ fields['of13.bsn_pdu_tx_request.tx_interval_ms'],
+ fields['of13.bsn_pdu_tx_request.port_no'],
+ fields['of13.bsn_pdu_tx_request.slot_num'],
+ fields['of13.bsn_pdu_tx_request.data'],
+ fields['of13.bsn_port_counter_stats_entry.length'],
+ fields['of13.bsn_port_counter_stats_entry.port_no'],
+ fields['of13.bsn_port_counter_stats_entry.values'],
+ fields['of13.bsn_port_counter_stats_reply.version'],
+ fields['of13.bsn_port_counter_stats_reply.type'],
+ fields['of13.bsn_port_counter_stats_reply.length'],
+ fields['of13.bsn_port_counter_stats_reply.xid'],
+ fields['of13.bsn_port_counter_stats_reply.stats_type'],
+ fields['of13.bsn_port_counter_stats_reply.flags'],
+ fields['of13.bsn_port_counter_stats_reply.experimenter'],
+ fields['of13.bsn_port_counter_stats_reply.subtype'],
+ fields['of13.bsn_port_counter_stats_reply.entries'],
+ fields['of13.bsn_port_counter_stats_request.version'],
+ fields['of13.bsn_port_counter_stats_request.type'],
+ fields['of13.bsn_port_counter_stats_request.length'],
+ fields['of13.bsn_port_counter_stats_request.xid'],
+ fields['of13.bsn_port_counter_stats_request.stats_type'],
+ fields['of13.bsn_port_counter_stats_request.flags'],
+ fields['of13.bsn_port_counter_stats_request.experimenter'],
+ fields['of13.bsn_port_counter_stats_request.subtype'],
+ fields['of13.bsn_port_counter_stats_request.port_no'],
+ fields['of13.bsn_role_status.version'],
+ fields['of13.bsn_role_status.type'],
+ fields['of13.bsn_role_status.length'],
+ fields['of13.bsn_role_status.xid'],
+ fields['of13.bsn_role_status.experimenter'],
+ fields['of13.bsn_role_status.subtype'],
+ fields['of13.bsn_role_status.role'],
+ fields['of13.bsn_role_status.reason'],
+ fields['of13.bsn_role_status.generation_id'],
+ fields['of13.bsn_set_aux_cxns_reply.version'],
+ fields['of13.bsn_set_aux_cxns_reply.type'],
+ fields['of13.bsn_set_aux_cxns_reply.length'],
+ fields['of13.bsn_set_aux_cxns_reply.xid'],
+ fields['of13.bsn_set_aux_cxns_reply.experimenter'],
+ fields['of13.bsn_set_aux_cxns_reply.subtype'],
+ fields['of13.bsn_set_aux_cxns_reply.num_aux'],
+ fields['of13.bsn_set_aux_cxns_reply.status'],
+ fields['of13.bsn_set_aux_cxns_request.version'],
+ fields['of13.bsn_set_aux_cxns_request.type'],
+ fields['of13.bsn_set_aux_cxns_request.length'],
+ fields['of13.bsn_set_aux_cxns_request.xid'],
+ fields['of13.bsn_set_aux_cxns_request.experimenter'],
+ fields['of13.bsn_set_aux_cxns_request.subtype'],
+ fields['of13.bsn_set_aux_cxns_request.num_aux'],
+ fields['of13.bsn_set_lacp_reply.version'],
+ fields['of13.bsn_set_lacp_reply.type'],
+ fields['of13.bsn_set_lacp_reply.length'],
+ fields['of13.bsn_set_lacp_reply.xid'],
+ fields['of13.bsn_set_lacp_reply.experimenter'],
+ fields['of13.bsn_set_lacp_reply.subtype'],
+ fields['of13.bsn_set_lacp_reply.status'],
+ fields['of13.bsn_set_lacp_reply.port_no'],
+ fields['of13.bsn_set_lacp_request.version'],
+ fields['of13.bsn_set_lacp_request.type'],
+ fields['of13.bsn_set_lacp_request.length'],
+ fields['of13.bsn_set_lacp_request.xid'],
+ fields['of13.bsn_set_lacp_request.experimenter'],
+ fields['of13.bsn_set_lacp_request.subtype'],
+ fields['of13.bsn_set_lacp_request.enabled'],
+ fields['of13.bsn_set_lacp_request.port_no'],
+ fields['of13.bsn_set_lacp_request.actor_sys_priority'],
+ fields['of13.bsn_set_lacp_request.actor_sys_mac'],
+ fields['of13.bsn_set_lacp_request.actor_port_priority'],
+ fields['of13.bsn_set_lacp_request.actor_port_num'],
+ fields['of13.bsn_set_lacp_request.actor_key'],
+ fields['of13.bsn_set_mirroring.version'],
+ fields['of13.bsn_set_mirroring.type'],
+ fields['of13.bsn_set_mirroring.length'],
+ fields['of13.bsn_set_mirroring.xid'],
+ fields['of13.bsn_set_mirroring.experimenter'],
+ fields['of13.bsn_set_mirroring.subtype'],
+ fields['of13.bsn_set_mirroring.report_mirror_ports'],
+ fields['of13.bsn_set_pktin_suppression_reply.version'],
+ fields['of13.bsn_set_pktin_suppression_reply.type'],
+ fields['of13.bsn_set_pktin_suppression_reply.length'],
+ fields['of13.bsn_set_pktin_suppression_reply.xid'],
+ fields['of13.bsn_set_pktin_suppression_reply.experimenter'],
+ fields['of13.bsn_set_pktin_suppression_reply.subtype'],
+ fields['of13.bsn_set_pktin_suppression_reply.status'],
+ fields['of13.bsn_set_pktin_suppression_request.version'],
+ fields['of13.bsn_set_pktin_suppression_request.type'],
+ fields['of13.bsn_set_pktin_suppression_request.length'],
+ fields['of13.bsn_set_pktin_suppression_request.xid'],
+ fields['of13.bsn_set_pktin_suppression_request.experimenter'],
+ fields['of13.bsn_set_pktin_suppression_request.subtype'],
+ fields['of13.bsn_set_pktin_suppression_request.enabled'],
+ fields['of13.bsn_set_pktin_suppression_request.idle_timeout'],
+ fields['of13.bsn_set_pktin_suppression_request.hard_timeout'],
+ fields['of13.bsn_set_pktin_suppression_request.priority'],
+ fields['of13.bsn_set_pktin_suppression_request.cookie'],
+ fields['of13.bsn_set_switch_pipeline_reply.version'],
+ fields['of13.bsn_set_switch_pipeline_reply.type'],
+ fields['of13.bsn_set_switch_pipeline_reply.length'],
+ fields['of13.bsn_set_switch_pipeline_reply.xid'],
+ fields['of13.bsn_set_switch_pipeline_reply.experimenter'],
+ fields['of13.bsn_set_switch_pipeline_reply.subtype'],
+ fields['of13.bsn_set_switch_pipeline_reply.status'],
+ fields['of13.bsn_set_switch_pipeline_request.version'],
+ fields['of13.bsn_set_switch_pipeline_request.type'],
+ fields['of13.bsn_set_switch_pipeline_request.length'],
+ fields['of13.bsn_set_switch_pipeline_request.xid'],
+ fields['of13.bsn_set_switch_pipeline_request.experimenter'],
+ fields['of13.bsn_set_switch_pipeline_request.subtype'],
+ fields['of13.bsn_set_switch_pipeline_request.pipeline'],
+ fields['of13.bsn_switch_pipeline_stats_entry.pipeline'],
+ fields['of13.bsn_switch_pipeline_stats_reply.version'],
+ fields['of13.bsn_switch_pipeline_stats_reply.type'],
+ fields['of13.bsn_switch_pipeline_stats_reply.length'],
+ fields['of13.bsn_switch_pipeline_stats_reply.xid'],
+ fields['of13.bsn_switch_pipeline_stats_reply.stats_type'],
+ fields['of13.bsn_switch_pipeline_stats_reply.flags'],
+ fields['of13.bsn_switch_pipeline_stats_reply.experimenter'],
+ fields['of13.bsn_switch_pipeline_stats_reply.subtype'],
+ fields['of13.bsn_switch_pipeline_stats_reply.entries'],
+ fields['of13.bsn_switch_pipeline_stats_request.version'],
+ fields['of13.bsn_switch_pipeline_stats_request.type'],
+ fields['of13.bsn_switch_pipeline_stats_request.length'],
+ fields['of13.bsn_switch_pipeline_stats_request.xid'],
+ fields['of13.bsn_switch_pipeline_stats_request.stats_type'],
+ fields['of13.bsn_switch_pipeline_stats_request.flags'],
+ fields['of13.bsn_switch_pipeline_stats_request.experimenter'],
+ fields['of13.bsn_switch_pipeline_stats_request.subtype'],
+ fields['of13.bsn_table_checksum_stats_entry.table_id'],
+ fields['of13.bsn_table_checksum_stats_entry.checksum'],
+ fields['of13.bsn_table_checksum_stats_reply.version'],
+ fields['of13.bsn_table_checksum_stats_reply.type'],
+ fields['of13.bsn_table_checksum_stats_reply.length'],
+ fields['of13.bsn_table_checksum_stats_reply.xid'],
+ fields['of13.bsn_table_checksum_stats_reply.stats_type'],
+ fields['of13.bsn_table_checksum_stats_reply.flags'],
+ fields['of13.bsn_table_checksum_stats_reply.experimenter'],
+ fields['of13.bsn_table_checksum_stats_reply.subtype'],
+ fields['of13.bsn_table_checksum_stats_reply.entries'],
+ fields['of13.bsn_table_checksum_stats_request.version'],
+ fields['of13.bsn_table_checksum_stats_request.type'],
+ fields['of13.bsn_table_checksum_stats_request.length'],
+ fields['of13.bsn_table_checksum_stats_request.xid'],
+ fields['of13.bsn_table_checksum_stats_request.stats_type'],
+ fields['of13.bsn_table_checksum_stats_request.flags'],
+ fields['of13.bsn_table_checksum_stats_request.experimenter'],
+ fields['of13.bsn_table_checksum_stats_request.subtype'],
+ fields['of13.bsn_table_set_buckets_size.version'],
+ fields['of13.bsn_table_set_buckets_size.type'],
+ fields['of13.bsn_table_set_buckets_size.length'],
+ fields['of13.bsn_table_set_buckets_size.xid'],
+ fields['of13.bsn_table_set_buckets_size.experimenter'],
+ fields['of13.bsn_table_set_buckets_size.subtype'],
+ fields['of13.bsn_table_set_buckets_size.table_id'],
+ fields['of13.bsn_table_set_buckets_size.buckets_size'],
+ fields['of13.bsn_time_reply.version'],
+ fields['of13.bsn_time_reply.type'],
+ fields['of13.bsn_time_reply.length'],
+ fields['of13.bsn_time_reply.xid'],
+ fields['of13.bsn_time_reply.experimenter'],
+ fields['of13.bsn_time_reply.subtype'],
+ fields['of13.bsn_time_reply.time_ms'],
+ fields['of13.bsn_time_request.version'],
+ fields['of13.bsn_time_request.type'],
+ fields['of13.bsn_time_request.length'],
+ fields['of13.bsn_time_request.xid'],
+ fields['of13.bsn_time_request.experimenter'],
+ fields['of13.bsn_time_request.subtype'],
+ fields['of13.bsn_tlv.type'],
+ fields['of13.bsn_tlv.length'],
+ fields['of13.bsn_tlv_broadcast_query_timeout.type'],
+ fields['of13.bsn_tlv_broadcast_query_timeout.length'],
+ fields['of13.bsn_tlv_broadcast_query_timeout.value'],
+ fields['of13.bsn_tlv_circuit_id.type'],
+ fields['of13.bsn_tlv_circuit_id.length'],
+ fields['of13.bsn_tlv_circuit_id.value'],
+ fields['of13.bsn_tlv_crc_enabled.type'],
+ fields['of13.bsn_tlv_crc_enabled.length'],
+ fields['of13.bsn_tlv_crc_enabled.value'],
+ fields['of13.bsn_tlv_idle_notification.type'],
+ fields['of13.bsn_tlv_idle_notification.length'],
+ fields['of13.bsn_tlv_idle_time.type'],
+ fields['of13.bsn_tlv_idle_time.length'],
+ fields['of13.bsn_tlv_idle_time.value'],
+ fields['of13.bsn_tlv_idle_timeout.type'],
+ fields['of13.bsn_tlv_idle_timeout.length'],
+ fields['of13.bsn_tlv_idle_timeout.value'],
+ fields['of13.bsn_tlv_ipv4.type'],
+ fields['of13.bsn_tlv_ipv4.length'],
+ fields['of13.bsn_tlv_ipv4.value'],
+ fields['of13.bsn_tlv_mac.type'],
+ fields['of13.bsn_tlv_mac.length'],
+ fields['of13.bsn_tlv_mac.value'],
+ fields['of13.bsn_tlv_miss_packets.type'],
+ fields['of13.bsn_tlv_miss_packets.length'],
+ fields['of13.bsn_tlv_miss_packets.value'],
+ fields['of13.bsn_tlv_port.type'],
+ fields['of13.bsn_tlv_port.length'],
+ fields['of13.bsn_tlv_port.value'],
+ fields['of13.bsn_tlv_queue_id.type'],
+ fields['of13.bsn_tlv_queue_id.length'],
+ fields['of13.bsn_tlv_queue_id.value'],
+ fields['of13.bsn_tlv_queue_weight.type'],
+ fields['of13.bsn_tlv_queue_weight.length'],
+ fields['of13.bsn_tlv_queue_weight.value'],
+ fields['of13.bsn_tlv_reply_packets.type'],
+ fields['of13.bsn_tlv_reply_packets.length'],
+ fields['of13.bsn_tlv_reply_packets.value'],
+ fields['of13.bsn_tlv_request_packets.type'],
+ fields['of13.bsn_tlv_request_packets.length'],
+ fields['of13.bsn_tlv_request_packets.value'],
+ fields['of13.bsn_tlv_rx_packets.type'],
+ fields['of13.bsn_tlv_rx_packets.length'],
+ fields['of13.bsn_tlv_rx_packets.value'],
+ fields['of13.bsn_tlv_tx_packets.type'],
+ fields['of13.bsn_tlv_tx_packets.length'],
+ fields['of13.bsn_tlv_tx_packets.value'],
+ fields['of13.bsn_tlv_udf_anchor.type'],
+ fields['of13.bsn_tlv_udf_anchor.length'],
+ fields['of13.bsn_tlv_udf_anchor.value'],
+ fields['of13.bsn_tlv_udf_id.type'],
+ fields['of13.bsn_tlv_udf_id.length'],
+ fields['of13.bsn_tlv_udf_id.value'],
+ fields['of13.bsn_tlv_udf_length.type'],
+ fields['of13.bsn_tlv_udf_length.length'],
+ fields['of13.bsn_tlv_udf_length.value'],
+ fields['of13.bsn_tlv_udf_offset.type'],
+ fields['of13.bsn_tlv_udf_offset.length'],
+ fields['of13.bsn_tlv_udf_offset.value'],
+ fields['of13.bsn_tlv_unicast_query_timeout.type'],
+ fields['of13.bsn_tlv_unicast_query_timeout.length'],
+ fields['of13.bsn_tlv_unicast_query_timeout.value'],
+ fields['of13.bsn_tlv_vlan_vid.type'],
+ fields['of13.bsn_tlv_vlan_vid.length'],
+ fields['of13.bsn_tlv_vlan_vid.value'],
+ fields['of13.bsn_tlv_vrf.type'],
+ fields['of13.bsn_tlv_vrf.length'],
+ fields['of13.bsn_tlv_vrf.value'],
+ fields['of13.bsn_virtual_port_create_reply.version'],
+ fields['of13.bsn_virtual_port_create_reply.type'],
+ fields['of13.bsn_virtual_port_create_reply.length'],
+ fields['of13.bsn_virtual_port_create_reply.xid'],
+ fields['of13.bsn_virtual_port_create_reply.experimenter'],
+ fields['of13.bsn_virtual_port_create_reply.subtype'],
+ fields['of13.bsn_virtual_port_create_reply.status'],
+ fields['of13.bsn_virtual_port_create_reply.vport_no'],
+ fields['of13.bsn_vport.type'],
+ fields['of13.bsn_vport.length'],
+ fields['of13.bsn_virtual_port_create_request.version'],
+ fields['of13.bsn_virtual_port_create_request.type'],
+ fields['of13.bsn_virtual_port_create_request.length'],
+ fields['of13.bsn_virtual_port_create_request.xid'],
+ fields['of13.bsn_virtual_port_create_request.experimenter'],
+ fields['of13.bsn_virtual_port_create_request.subtype'],
+ fields['of13.bsn_virtual_port_create_request.vport'],
+ fields['of13.bsn_virtual_port_remove_reply.version'],
+ fields['of13.bsn_virtual_port_remove_reply.type'],
+ fields['of13.bsn_virtual_port_remove_reply.length'],
+ fields['of13.bsn_virtual_port_remove_reply.xid'],
+ fields['of13.bsn_virtual_port_remove_reply.experimenter'],
+ fields['of13.bsn_virtual_port_remove_reply.subtype'],
+ fields['of13.bsn_virtual_port_remove_reply.status'],
+ fields['of13.bsn_virtual_port_remove_request.version'],
+ fields['of13.bsn_virtual_port_remove_request.type'],
+ fields['of13.bsn_virtual_port_remove_request.length'],
+ fields['of13.bsn_virtual_port_remove_request.xid'],
+ fields['of13.bsn_virtual_port_remove_request.experimenter'],
+ fields['of13.bsn_virtual_port_remove_request.subtype'],
+ fields['of13.bsn_virtual_port_remove_request.vport_no'],
+ fields['of13.bsn_vlan_counter_stats_entry.length'],
+ fields['of13.bsn_vlan_counter_stats_entry.vlan_vid'],
+ fields['of13.bsn_vlan_counter_stats_entry.values'],
+ fields['of13.bsn_vlan_counter_stats_reply.version'],
+ fields['of13.bsn_vlan_counter_stats_reply.type'],
+ fields['of13.bsn_vlan_counter_stats_reply.length'],
+ fields['of13.bsn_vlan_counter_stats_reply.xid'],
+ fields['of13.bsn_vlan_counter_stats_reply.stats_type'],
+ fields['of13.bsn_vlan_counter_stats_reply.flags'],
+ fields['of13.bsn_vlan_counter_stats_reply.experimenter'],
+ fields['of13.bsn_vlan_counter_stats_reply.subtype'],
+ fields['of13.bsn_vlan_counter_stats_reply.entries'],
+ fields['of13.bsn_vlan_counter_stats_request.version'],
+ fields['of13.bsn_vlan_counter_stats_request.type'],
+ fields['of13.bsn_vlan_counter_stats_request.length'],
+ fields['of13.bsn_vlan_counter_stats_request.xid'],
+ fields['of13.bsn_vlan_counter_stats_request.stats_type'],
+ fields['of13.bsn_vlan_counter_stats_request.flags'],
+ fields['of13.bsn_vlan_counter_stats_request.experimenter'],
+ fields['of13.bsn_vlan_counter_stats_request.subtype'],
+ fields['of13.bsn_vlan_counter_stats_request.vlan_vid'],
+ fields['of13.bsn_vport_l2gre.type'],
+ fields['of13.bsn_vport_l2gre.length'],
+ fields['of13.bsn_vport_l2gre.flags'],
+ fields['of13.bsn_vport_l2gre.port_no'],
+ fields['of13.bsn_vport_l2gre.loopback_port_no'],
+ fields['of13.bsn_vport_l2gre.local_mac'],
+ fields['of13.bsn_vport_l2gre.nh_mac'],
+ fields['of13.bsn_vport_l2gre.src_ip'],
+ fields['of13.bsn_vport_l2gre.dst_ip'],
+ fields['of13.bsn_vport_l2gre.dscp'],
+ fields['of13.bsn_vport_l2gre.ttl'],
+ fields['of13.bsn_vport_l2gre.vpn'],
+ fields['of13.bsn_vport_l2gre.rate_limit'],
+ fields['of13.bsn_vport_l2gre.if_name'],
+ fields['of13.bsn_vport_q_in_q.type'],
+ fields['of13.bsn_vport_q_in_q.length'],
+ fields['of13.bsn_vport_q_in_q.port_no'],
+ fields['of13.bsn_vport_q_in_q.ingress_tpid'],
+ fields['of13.bsn_vport_q_in_q.ingress_vlan_id'],
+ fields['of13.bsn_vport_q_in_q.egress_tpid'],
+ fields['of13.bsn_vport_q_in_q.egress_vlan_id'],
+ fields['of13.bsn_vport_q_in_q.if_name'],
+ fields['of13.bsn_vrf_counter_stats_entry.length'],
+ fields['of13.bsn_vrf_counter_stats_entry.vrf'],
+ fields['of13.bsn_vrf_counter_stats_entry.values'],
+ fields['of13.bsn_vrf_counter_stats_reply.version'],
+ fields['of13.bsn_vrf_counter_stats_reply.type'],
+ fields['of13.bsn_vrf_counter_stats_reply.length'],
+ fields['of13.bsn_vrf_counter_stats_reply.xid'],
+ fields['of13.bsn_vrf_counter_stats_reply.stats_type'],
+ fields['of13.bsn_vrf_counter_stats_reply.flags'],
+ fields['of13.bsn_vrf_counter_stats_reply.experimenter'],
+ fields['of13.bsn_vrf_counter_stats_reply.subtype'],
+ fields['of13.bsn_vrf_counter_stats_reply.entries'],
+ fields['of13.bsn_vrf_counter_stats_request.version'],
+ fields['of13.bsn_vrf_counter_stats_request.type'],
+ fields['of13.bsn_vrf_counter_stats_request.length'],
+ fields['of13.bsn_vrf_counter_stats_request.xid'],
+ fields['of13.bsn_vrf_counter_stats_request.stats_type'],
+ fields['of13.bsn_vrf_counter_stats_request.flags'],
+ fields['of13.bsn_vrf_counter_stats_request.experimenter'],
+ fields['of13.bsn_vrf_counter_stats_request.subtype'],
+ fields['of13.bsn_vrf_counter_stats_request.vrf'],
+ fields['of13.bucket.len'],
+ fields['of13.bucket.weight'],
+ fields['of13.bucket.watch_port'],
+ fields['of13.bucket.watch_group'],
+ fields['of13.bucket.actions'],
+ fields['of13.bucket_counter.packet_count'],
+ fields['of13.bucket_counter.byte_count'],
+ fields['of13.desc_stats_reply.version'],
+ fields['of13.desc_stats_reply.type'],
+ fields['of13.desc_stats_reply.length'],
+ fields['of13.desc_stats_reply.xid'],
+ fields['of13.desc_stats_reply.stats_type'],
+ fields['of13.desc_stats_reply.flags'],
+ fields['of13.desc_stats_reply.mfr_desc'],
+ fields['of13.desc_stats_reply.hw_desc'],
+ fields['of13.desc_stats_reply.sw_desc'],
+ fields['of13.desc_stats_reply.serial_num'],
+ fields['of13.desc_stats_reply.dp_desc'],
+ fields['of13.desc_stats_request.version'],
+ fields['of13.desc_stats_request.type'],
+ fields['of13.desc_stats_request.length'],
+ fields['of13.desc_stats_request.xid'],
+ fields['of13.desc_stats_request.stats_type'],
+ fields['of13.desc_stats_request.flags'],
+ fields['of13.echo_reply.version'],
+ fields['of13.echo_reply.type'],
+ fields['of13.echo_reply.length'],
+ fields['of13.echo_reply.xid'],
+ fields['of13.echo_reply.data'],
+ fields['of13.echo_request.version'],
+ fields['of13.echo_request.type'],
+ fields['of13.echo_request.length'],
+ fields['of13.echo_request.xid'],
+ fields['of13.echo_request.data'],
+ fields['of13.experimenter_error_msg.version'],
+ fields['of13.experimenter_error_msg.type'],
+ fields['of13.experimenter_error_msg.length'],
+ fields['of13.experimenter_error_msg.xid'],
+ fields['of13.experimenter_error_msg.err_type'],
+ fields['of13.experimenter_error_msg.subtype'],
+ fields['of13.experimenter_error_msg.experimenter'],
+ fields['of13.experimenter_error_msg.data'],
+ fields['of13.features_reply.version'],
+ fields['of13.features_reply.type'],
+ fields['of13.features_reply.length'],
+ fields['of13.features_reply.xid'],
+ fields['of13.features_reply.datapath_id'],
+ fields['of13.features_reply.n_buffers'],
+ fields['of13.features_reply.n_tables'],
+ fields['of13.features_reply.auxiliary_id'],
+ fields['of13.features_reply.capabilities'],
+ fields['of13.features_reply.reserved'],
+ fields['of13.features_request.version'],
+ fields['of13.features_request.type'],
+ fields['of13.features_request.length'],
+ fields['of13.features_request.xid'],
+ fields['of13.flow_mod.version'],
+ fields['of13.flow_mod.type'],
+ fields['of13.flow_mod.length'],
+ fields['of13.flow_mod.xid'],
+ fields['of13.flow_mod.cookie'],
+ fields['of13.flow_mod.cookie_mask'],
+ fields['of13.flow_mod.table_id'],
+ fields['of13.flow_mod._command'],
+ fields['of13.flow_mod.idle_timeout'],
+ fields['of13.flow_mod.hard_timeout'],
+ fields['of13.flow_mod.priority'],
+ fields['of13.flow_mod.buffer_id'],
+ fields['of13.flow_mod.out_port'],
+ fields['of13.flow_mod.out_group'],
+ fields['of13.flow_mod.flags'],
+ fields['of13.flow_mod.match'],
+ fields['of13.flow_mod.instructions'],
+ fields['of13.flow_add.version'],
+ fields['of13.flow_add.type'],
+ fields['of13.flow_add.length'],
+ fields['of13.flow_add.xid'],
+ fields['of13.flow_add.cookie'],
+ fields['of13.flow_add.cookie_mask'],
+ fields['of13.flow_add.table_id'],
+ fields['of13.flow_add._command'],
+ fields['of13.flow_add.idle_timeout'],
+ fields['of13.flow_add.hard_timeout'],
+ fields['of13.flow_add.priority'],
+ fields['of13.flow_add.buffer_id'],
+ fields['of13.flow_add.out_port'],
+ fields['of13.flow_add.out_group'],
+ fields['of13.flow_add.flags'],
+ fields['of13.flow_add.match'],
+ fields['of13.flow_add.instructions'],
+ fields['of13.flow_delete.version'],
+ fields['of13.flow_delete.type'],
+ fields['of13.flow_delete.length'],
+ fields['of13.flow_delete.xid'],
+ fields['of13.flow_delete.cookie'],
+ fields['of13.flow_delete.cookie_mask'],
+ fields['of13.flow_delete.table_id'],
+ fields['of13.flow_delete._command'],
+ fields['of13.flow_delete.idle_timeout'],
+ fields['of13.flow_delete.hard_timeout'],
+ fields['of13.flow_delete.priority'],
+ fields['of13.flow_delete.buffer_id'],
+ fields['of13.flow_delete.out_port'],
+ fields['of13.flow_delete.out_group'],
+ fields['of13.flow_delete.flags'],
+ fields['of13.flow_delete.match'],
+ fields['of13.flow_delete.instructions'],
+ fields['of13.flow_delete_strict.version'],
+ fields['of13.flow_delete_strict.type'],
+ fields['of13.flow_delete_strict.length'],
+ fields['of13.flow_delete_strict.xid'],
+ fields['of13.flow_delete_strict.cookie'],
+ fields['of13.flow_delete_strict.cookie_mask'],
+ fields['of13.flow_delete_strict.table_id'],
+ fields['of13.flow_delete_strict._command'],
+ fields['of13.flow_delete_strict.idle_timeout'],
+ fields['of13.flow_delete_strict.hard_timeout'],
+ fields['of13.flow_delete_strict.priority'],
+ fields['of13.flow_delete_strict.buffer_id'],
+ fields['of13.flow_delete_strict.out_port'],
+ fields['of13.flow_delete_strict.out_group'],
+ fields['of13.flow_delete_strict.flags'],
+ fields['of13.flow_delete_strict.match'],
+ fields['of13.flow_delete_strict.instructions'],
+ fields['of13.flow_mod_failed_error_msg.version'],
+ fields['of13.flow_mod_failed_error_msg.type'],
+ fields['of13.flow_mod_failed_error_msg.length'],
+ fields['of13.flow_mod_failed_error_msg.xid'],
+ fields['of13.flow_mod_failed_error_msg.err_type'],
+ fields['of13.flow_mod_failed_error_msg.code'],
+ fields['of13.flow_mod_failed_error_msg.data'],
+ fields['of13.flow_modify.version'],
+ fields['of13.flow_modify.type'],
+ fields['of13.flow_modify.length'],
+ fields['of13.flow_modify.xid'],
+ fields['of13.flow_modify.cookie'],
+ fields['of13.flow_modify.cookie_mask'],
+ fields['of13.flow_modify.table_id'],
+ fields['of13.flow_modify._command'],
+ fields['of13.flow_modify.idle_timeout'],
+ fields['of13.flow_modify.hard_timeout'],
+ fields['of13.flow_modify.priority'],
+ fields['of13.flow_modify.buffer_id'],
+ fields['of13.flow_modify.out_port'],
+ fields['of13.flow_modify.out_group'],
+ fields['of13.flow_modify.flags'],
+ fields['of13.flow_modify.match'],
+ fields['of13.flow_modify.instructions'],
+ fields['of13.flow_modify_strict.version'],
+ fields['of13.flow_modify_strict.type'],
+ fields['of13.flow_modify_strict.length'],
+ fields['of13.flow_modify_strict.xid'],
+ fields['of13.flow_modify_strict.cookie'],
+ fields['of13.flow_modify_strict.cookie_mask'],
+ fields['of13.flow_modify_strict.table_id'],
+ fields['of13.flow_modify_strict._command'],
+ fields['of13.flow_modify_strict.idle_timeout'],
+ fields['of13.flow_modify_strict.hard_timeout'],
+ fields['of13.flow_modify_strict.priority'],
+ fields['of13.flow_modify_strict.buffer_id'],
+ fields['of13.flow_modify_strict.out_port'],
+ fields['of13.flow_modify_strict.out_group'],
+ fields['of13.flow_modify_strict.flags'],
+ fields['of13.flow_modify_strict.match'],
+ fields['of13.flow_modify_strict.instructions'],
+ fields['of13.flow_removed.version'],
+ fields['of13.flow_removed.type'],
+ fields['of13.flow_removed.length'],
+ fields['of13.flow_removed.xid'],
+ fields['of13.flow_removed.cookie'],
+ fields['of13.flow_removed.priority'],
+ fields['of13.flow_removed.reason'],
+ fields['of13.flow_removed.table_id'],
+ fields['of13.flow_removed.duration_sec'],
+ fields['of13.flow_removed.duration_nsec'],
+ fields['of13.flow_removed.idle_timeout'],
+ fields['of13.flow_removed.hard_timeout'],
+ fields['of13.flow_removed.packet_count'],
+ fields['of13.flow_removed.byte_count'],
+ fields['of13.flow_removed.match'],
+ fields['of13.flow_stats_entry.length'],
+ fields['of13.flow_stats_entry.table_id'],
+ fields['of13.flow_stats_entry.duration_sec'],
+ fields['of13.flow_stats_entry.duration_nsec'],
+ fields['of13.flow_stats_entry.priority'],
+ fields['of13.flow_stats_entry.idle_timeout'],
+ fields['of13.flow_stats_entry.hard_timeout'],
+ fields['of13.flow_stats_entry.flags'],
+ fields['of13.flow_stats_entry.cookie'],
+ fields['of13.flow_stats_entry.packet_count'],
+ fields['of13.flow_stats_entry.byte_count'],
+ fields['of13.flow_stats_entry.match'],
+ fields['of13.flow_stats_entry.instructions'],
+ fields['of13.flow_stats_reply.version'],
+ fields['of13.flow_stats_reply.type'],
+ fields['of13.flow_stats_reply.length'],
+ fields['of13.flow_stats_reply.xid'],
+ fields['of13.flow_stats_reply.stats_type'],
+ fields['of13.flow_stats_reply.flags'],
+ fields['of13.flow_stats_reply.entries'],
+ fields['of13.flow_stats_request.version'],
+ fields['of13.flow_stats_request.type'],
+ fields['of13.flow_stats_request.length'],
+ fields['of13.flow_stats_request.xid'],
+ fields['of13.flow_stats_request.stats_type'],
+ fields['of13.flow_stats_request.flags'],
+ fields['of13.flow_stats_request.table_id'],
+ fields['of13.flow_stats_request.out_port'],
+ fields['of13.flow_stats_request.out_group'],
+ fields['of13.flow_stats_request.cookie'],
+ fields['of13.flow_stats_request.cookie_mask'],
+ fields['of13.flow_stats_request.match'],
+ fields['of13.get_config_reply.version'],
+ fields['of13.get_config_reply.type'],
+ fields['of13.get_config_reply.length'],
+ fields['of13.get_config_reply.xid'],
+ fields['of13.get_config_reply.flags'],
+ fields['of13.get_config_reply.miss_send_len'],
+ fields['of13.get_config_request.version'],
+ fields['of13.get_config_request.type'],
+ fields['of13.get_config_request.length'],
+ fields['of13.get_config_request.xid'],
+ fields['of13.group_mod.version'],
+ fields['of13.group_mod.type'],
+ fields['of13.group_mod.length'],
+ fields['of13.group_mod.xid'],
+ fields['of13.group_mod.command'],
+ fields['of13.group_mod.group_type'],
+ fields['of13.group_mod.group_id'],
+ fields['of13.group_mod.buckets'],
+ fields['of13.group_add.version'],
+ fields['of13.group_add.type'],
+ fields['of13.group_add.length'],
+ fields['of13.group_add.xid'],
+ fields['of13.group_add.command'],
+ fields['of13.group_add.group_type'],
+ fields['of13.group_add.group_id'],
+ fields['of13.group_add.buckets'],
+ fields['of13.group_delete.version'],
+ fields['of13.group_delete.type'],
+ fields['of13.group_delete.length'],
+ fields['of13.group_delete.xid'],
+ fields['of13.group_delete.command'],
+ fields['of13.group_delete.group_type'],
+ fields['of13.group_delete.group_id'],
+ fields['of13.group_delete.buckets'],
+ fields['of13.group_desc_stats_entry.length'],
+ fields['of13.group_desc_stats_entry.group_type'],
+ fields['of13.group_desc_stats_entry.group_id'],
+ fields['of13.group_desc_stats_entry.buckets'],
+ fields['of13.group_desc_stats_reply.version'],
+ fields['of13.group_desc_stats_reply.type'],
+ fields['of13.group_desc_stats_reply.length'],
+ fields['of13.group_desc_stats_reply.xid'],
+ fields['of13.group_desc_stats_reply.stats_type'],
+ fields['of13.group_desc_stats_reply.flags'],
+ fields['of13.group_desc_stats_reply.entries'],
+ fields['of13.group_desc_stats_request.version'],
+ fields['of13.group_desc_stats_request.type'],
+ fields['of13.group_desc_stats_request.length'],
+ fields['of13.group_desc_stats_request.xid'],
+ fields['of13.group_desc_stats_request.stats_type'],
+ fields['of13.group_desc_stats_request.flags'],
+ fields['of13.group_features_stats_reply.version'],
+ fields['of13.group_features_stats_reply.type'],
+ fields['of13.group_features_stats_reply.length'],
+ fields['of13.group_features_stats_reply.xid'],
+ fields['of13.group_features_stats_reply.stats_type'],
+ fields['of13.group_features_stats_reply.flags'],
+ fields['of13.group_features_stats_reply.types'],
+ fields['of13.group_features_stats_reply.capabilities'],
+ fields['of13.group_features_stats_reply.max_groups_all'],
+ fields['of13.group_features_stats_reply.max_groups_select'],
+ fields['of13.group_features_stats_reply.max_groups_indirect'],
+ fields['of13.group_features_stats_reply.max_groups_ff'],
+ fields['of13.group_features_stats_reply.actions_all'],
+ fields['of13.group_features_stats_reply.actions_select'],
+ fields['of13.group_features_stats_reply.actions_indirect'],
+ fields['of13.group_features_stats_reply.actions_ff'],
+ fields['of13.group_features_stats_request.version'],
+ fields['of13.group_features_stats_request.type'],
+ fields['of13.group_features_stats_request.length'],
+ fields['of13.group_features_stats_request.xid'],
+ fields['of13.group_features_stats_request.stats_type'],
+ fields['of13.group_features_stats_request.flags'],
+ fields['of13.group_mod_failed_error_msg.version'],
+ fields['of13.group_mod_failed_error_msg.type'],
+ fields['of13.group_mod_failed_error_msg.length'],
+ fields['of13.group_mod_failed_error_msg.xid'],
+ fields['of13.group_mod_failed_error_msg.err_type'],
+ fields['of13.group_mod_failed_error_msg.code'],
+ fields['of13.group_mod_failed_error_msg.data'],
+ fields['of13.group_modify.version'],
+ fields['of13.group_modify.type'],
+ fields['of13.group_modify.length'],
+ fields['of13.group_modify.xid'],
+ fields['of13.group_modify.command'],
+ fields['of13.group_modify.group_type'],
+ fields['of13.group_modify.group_id'],
+ fields['of13.group_modify.buckets'],
+ fields['of13.group_stats_entry.length'],
+ fields['of13.group_stats_entry.group_id'],
+ fields['of13.group_stats_entry.ref_count'],
+ fields['of13.group_stats_entry.packet_count'],
+ fields['of13.group_stats_entry.byte_count'],
+ fields['of13.group_stats_entry.duration_sec'],
+ fields['of13.group_stats_entry.duration_nsec'],
+ fields['of13.group_stats_entry.bucket_stats'],
+ fields['of13.group_stats_reply.version'],
+ fields['of13.group_stats_reply.type'],
+ fields['of13.group_stats_reply.length'],
+ fields['of13.group_stats_reply.xid'],
+ fields['of13.group_stats_reply.stats_type'],
+ fields['of13.group_stats_reply.flags'],
+ fields['of13.group_stats_reply.entries'],
+ fields['of13.group_stats_request.version'],
+ fields['of13.group_stats_request.type'],
+ fields['of13.group_stats_request.length'],
+ fields['of13.group_stats_request.xid'],
+ fields['of13.group_stats_request.stats_type'],
+ fields['of13.group_stats_request.flags'],
+ fields['of13.group_stats_request.group_id'],
+ fields['of13.hello.version'],
+ fields['of13.hello.type'],
+ fields['of13.hello.length'],
+ fields['of13.hello.xid'],
+ fields['of13.hello.elements'],
+ fields['of13.hello_elem.type'],
+ fields['of13.hello_elem.length'],
+ fields['of13.hello_elem_versionbitmap.type'],
+ fields['of13.hello_elem_versionbitmap.length'],
+ fields['of13.hello_elem_versionbitmap.bitmaps'],
+ fields['of13.hello_failed_error_msg.version'],
+ fields['of13.hello_failed_error_msg.type'],
+ fields['of13.hello_failed_error_msg.length'],
+ fields['of13.hello_failed_error_msg.xid'],
+ fields['of13.hello_failed_error_msg.err_type'],
+ fields['of13.hello_failed_error_msg.code'],
+ fields['of13.hello_failed_error_msg.data'],
+ fields['of13.instruction.type'],
+ fields['of13.instruction.len'],
+ fields['of13.instruction_id.type'],
+ fields['of13.instruction_id.len'],
+ fields['of13.instruction_apply_actions.type'],
+ fields['of13.instruction_apply_actions.len'],
+ fields['of13.instruction_apply_actions.actions'],
+ fields['of13.instruction_id_apply_actions.type'],
+ fields['of13.instruction_id_apply_actions.len'],
+ fields['of13.instruction_experimenter.type'],
+ fields['of13.instruction_experimenter.len'],
+ fields['of13.instruction_experimenter.experimenter'],
+ fields['of13.instruction_experimenter.data'],
+ fields['of13.instruction_bsn.type'],
+ fields['of13.instruction_bsn.len'],
+ fields['of13.instruction_bsn.experimenter'],
+ fields['of13.instruction_bsn.subtype'],
+ fields['of13.instruction_id_experimenter.type'],
+ fields['of13.instruction_id_experimenter.len'],
+ fields['of13.instruction_id_experimenter.experimenter'],
+ fields['of13.instruction_id_bsn.type'],
+ fields['of13.instruction_id_bsn.len'],
+ fields['of13.instruction_id_bsn.experimenter'],
+ fields['of13.instruction_id_bsn.subtype'],
+ fields['of13.instruction_bsn_arp_offload.type'],
+ fields['of13.instruction_bsn_arp_offload.len'],
+ fields['of13.instruction_bsn_arp_offload.experimenter'],
+ fields['of13.instruction_bsn_arp_offload.subtype'],
+ fields['of13.instruction_id_bsn_arp_offload.type'],
+ fields['of13.instruction_id_bsn_arp_offload.len'],
+ fields['of13.instruction_id_bsn_arp_offload.experimenter'],
+ fields['of13.instruction_id_bsn_arp_offload.subtype'],
+ fields['of13.instruction_bsn_deny.type'],
+ fields['of13.instruction_bsn_deny.len'],
+ fields['of13.instruction_bsn_deny.experimenter'],
+ fields['of13.instruction_bsn_deny.subtype'],
+ fields['of13.instruction_id_bsn_deny.type'],
+ fields['of13.instruction_id_bsn_deny.len'],
+ fields['of13.instruction_id_bsn_deny.experimenter'],
+ fields['of13.instruction_id_bsn_deny.subtype'],
+ fields['of13.instruction_bsn_dhcp_offload.type'],
+ fields['of13.instruction_bsn_dhcp_offload.len'],
+ fields['of13.instruction_bsn_dhcp_offload.experimenter'],
+ fields['of13.instruction_bsn_dhcp_offload.subtype'],
+ fields['of13.instruction_id_bsn_dhcp_offload.type'],
+ fields['of13.instruction_id_bsn_dhcp_offload.len'],
+ fields['of13.instruction_id_bsn_dhcp_offload.experimenter'],
+ fields['of13.instruction_id_bsn_dhcp_offload.subtype'],
+ fields['of13.instruction_bsn_disable_split_horizon_check.type'],
+ fields['of13.instruction_bsn_disable_split_horizon_check.len'],
+ fields['of13.instruction_bsn_disable_split_horizon_check.experimenter'],
+ fields['of13.instruction_bsn_disable_split_horizon_check.subtype'],
+ fields['of13.instruction_id_bsn_disable_split_horizon_check.type'],
+ fields['of13.instruction_id_bsn_disable_split_horizon_check.len'],
+ fields['of13.instruction_id_bsn_disable_split_horizon_check.experimenter'],
+ fields['of13.instruction_id_bsn_disable_split_horizon_check.subtype'],
+ fields['of13.instruction_bsn_disable_src_mac_check.type'],
+ fields['of13.instruction_bsn_disable_src_mac_check.len'],
+ fields['of13.instruction_bsn_disable_src_mac_check.experimenter'],
+ fields['of13.instruction_bsn_disable_src_mac_check.subtype'],
+ fields['of13.instruction_id_bsn_disable_src_mac_check.type'],
+ fields['of13.instruction_id_bsn_disable_src_mac_check.len'],
+ fields['of13.instruction_id_bsn_disable_src_mac_check.experimenter'],
+ fields['of13.instruction_id_bsn_disable_src_mac_check.subtype'],
+ fields['of13.instruction_bsn_disable_vlan_counters.type'],
+ fields['of13.instruction_bsn_disable_vlan_counters.len'],
+ fields['of13.instruction_bsn_disable_vlan_counters.experimenter'],
+ fields['of13.instruction_bsn_disable_vlan_counters.subtype'],
+ fields['of13.instruction_id_bsn_disable_vlan_counters.type'],
+ fields['of13.instruction_id_bsn_disable_vlan_counters.len'],
+ fields['of13.instruction_id_bsn_disable_vlan_counters.experimenter'],
+ fields['of13.instruction_id_bsn_disable_vlan_counters.subtype'],
+ fields['of13.instruction_bsn_packet_of_death.type'],
+ fields['of13.instruction_bsn_packet_of_death.len'],
+ fields['of13.instruction_bsn_packet_of_death.experimenter'],
+ fields['of13.instruction_bsn_packet_of_death.subtype'],
+ fields['of13.instruction_id_bsn_packet_of_death.type'],
+ fields['of13.instruction_id_bsn_packet_of_death.len'],
+ fields['of13.instruction_id_bsn_packet_of_death.experimenter'],
+ fields['of13.instruction_id_bsn_packet_of_death.subtype'],
+ fields['of13.instruction_bsn_permit.type'],
+ fields['of13.instruction_bsn_permit.len'],
+ fields['of13.instruction_bsn_permit.experimenter'],
+ fields['of13.instruction_bsn_permit.subtype'],
+ fields['of13.instruction_id_bsn_permit.type'],
+ fields['of13.instruction_id_bsn_permit.len'],
+ fields['of13.instruction_id_bsn_permit.experimenter'],
+ fields['of13.instruction_id_bsn_permit.subtype'],
+ fields['of13.instruction_bsn_prioritize_pdus.type'],
+ fields['of13.instruction_bsn_prioritize_pdus.len'],
+ fields['of13.instruction_bsn_prioritize_pdus.experimenter'],
+ fields['of13.instruction_bsn_prioritize_pdus.subtype'],
+ fields['of13.instruction_id_bsn_prioritize_pdus.type'],
+ fields['of13.instruction_id_bsn_prioritize_pdus.len'],
+ fields['of13.instruction_id_bsn_prioritize_pdus.experimenter'],
+ fields['of13.instruction_id_bsn_prioritize_pdus.subtype'],
+ fields['of13.instruction_bsn_require_vlan_xlate.type'],
+ fields['of13.instruction_bsn_require_vlan_xlate.len'],
+ fields['of13.instruction_bsn_require_vlan_xlate.experimenter'],
+ fields['of13.instruction_bsn_require_vlan_xlate.subtype'],
+ fields['of13.instruction_id_bsn_require_vlan_xlate.type'],
+ fields['of13.instruction_id_bsn_require_vlan_xlate.len'],
+ fields['of13.instruction_id_bsn_require_vlan_xlate.experimenter'],
+ fields['of13.instruction_id_bsn_require_vlan_xlate.subtype'],
+ fields['of13.instruction_clear_actions.type'],
+ fields['of13.instruction_clear_actions.len'],
+ fields['of13.instruction_id_clear_actions.type'],
+ fields['of13.instruction_id_clear_actions.len'],
+ fields['of13.instruction_goto_table.type'],
+ fields['of13.instruction_goto_table.len'],
+ fields['of13.instruction_goto_table.table_id'],
+ fields['of13.instruction_id_goto_table.type'],
+ fields['of13.instruction_id_goto_table.len'],
+ fields['of13.instruction_meter.type'],
+ fields['of13.instruction_meter.len'],
+ fields['of13.instruction_meter.meter_id'],
+ fields['of13.instruction_id_meter.type'],
+ fields['of13.instruction_id_meter.len'],
+ fields['of13.instruction_write_actions.type'],
+ fields['of13.instruction_write_actions.len'],
+ fields['of13.instruction_write_actions.actions'],
+ fields['of13.instruction_id_write_actions.type'],
+ fields['of13.instruction_id_write_actions.len'],
+ fields['of13.instruction_write_metadata.type'],
+ fields['of13.instruction_write_metadata.len'],
+ fields['of13.instruction_write_metadata.metadata'],
+ fields['of13.instruction_write_metadata.metadata_mask'],
+ fields['of13.instruction_id_write_metadata.type'],
+ fields['of13.instruction_id_write_metadata.len'],
+ fields['of13.match_v3.type'],
+ fields['of13.match_v3.length'],
+ fields['of13.match_v3.oxm_list'],
+ fields['of13.meter_band.type'],
+ fields['of13.meter_band.len'],
+ fields['of13.meter_band_drop.type'],
+ fields['of13.meter_band_drop.len'],
+ fields['of13.meter_band_drop.rate'],
+ fields['of13.meter_band_drop.burst_size'],
+ fields['of13.meter_band_dscp_remark.type'],
+ fields['of13.meter_band_dscp_remark.len'],
+ fields['of13.meter_band_dscp_remark.rate'],
+ fields['of13.meter_band_dscp_remark.burst_size'],
+ fields['of13.meter_band_dscp_remark.prec_level'],
+ fields['of13.meter_band_experimenter.type'],
+ fields['of13.meter_band_experimenter.len'],
+ fields['of13.meter_band_experimenter.rate'],
+ fields['of13.meter_band_experimenter.burst_size'],
+ fields['of13.meter_band_experimenter.experimenter'],
+ fields['of13.meter_band_stats.packet_band_count'],
+ fields['of13.meter_band_stats.byte_band_count'],
+ fields['of13.meter_config.length'],
+ fields['of13.meter_config.flags'],
+ fields['of13.meter_config.meter_id'],
+ fields['of13.meter_config.entries'],
+ fields['of13.meter_config_stats_reply.version'],
+ fields['of13.meter_config_stats_reply.type'],
+ fields['of13.meter_config_stats_reply.length'],
+ fields['of13.meter_config_stats_reply.xid'],
+ fields['of13.meter_config_stats_reply.stats_type'],
+ fields['of13.meter_config_stats_reply.flags'],
+ fields['of13.meter_config_stats_reply.entries'],
+ fields['of13.meter_config_stats_request.version'],
+ fields['of13.meter_config_stats_request.type'],
+ fields['of13.meter_config_stats_request.length'],
+ fields['of13.meter_config_stats_request.xid'],
+ fields['of13.meter_config_stats_request.stats_type'],
+ fields['of13.meter_config_stats_request.flags'],
+ fields['of13.meter_config_stats_request.meter_id'],
+ fields['of13.meter_features.max_meter'],
+ fields['of13.meter_features.band_types'],
+ fields['of13.meter_features.capabilities'],
+ fields['of13.meter_features.max_bands'],
+ fields['of13.meter_features.max_color'],
+ fields['of13.meter_features_stats_reply.version'],
+ fields['of13.meter_features_stats_reply.type'],
+ fields['of13.meter_features_stats_reply.length'],
+ fields['of13.meter_features_stats_reply.xid'],
+ fields['of13.meter_features_stats_reply.stats_type'],
+ fields['of13.meter_features_stats_reply.flags'],
+ fields['of13.meter_features_stats_reply.features'],
+ fields['of13.meter_features_stats_request.version'],
+ fields['of13.meter_features_stats_request.type'],
+ fields['of13.meter_features_stats_request.length'],
+ fields['of13.meter_features_stats_request.xid'],
+ fields['of13.meter_features_stats_request.stats_type'],
+ fields['of13.meter_features_stats_request.flags'],
+ fields['of13.meter_mod.version'],
+ fields['of13.meter_mod.type'],
+ fields['of13.meter_mod.length'],
+ fields['of13.meter_mod.xid'],
+ fields['of13.meter_mod.command'],
+ fields['of13.meter_mod.flags'],
+ fields['of13.meter_mod.meter_id'],
+ fields['of13.meter_mod.meters'],
+ fields['of13.meter_mod_failed_error_msg.version'],
+ fields['of13.meter_mod_failed_error_msg.type'],
+ fields['of13.meter_mod_failed_error_msg.length'],
+ fields['of13.meter_mod_failed_error_msg.xid'],
+ fields['of13.meter_mod_failed_error_msg.err_type'],
+ fields['of13.meter_mod_failed_error_msg.code'],
+ fields['of13.meter_mod_failed_error_msg.data'],
+ fields['of13.meter_stats.meter_id'],
+ fields['of13.meter_stats.len'],
+ fields['of13.meter_stats.flow_count'],
+ fields['of13.meter_stats.packet_in_count'],
+ fields['of13.meter_stats.byte_in_count'],
+ fields['of13.meter_stats.duration_sec'],
+ fields['of13.meter_stats.duration_nsec'],
+ fields['of13.meter_stats.band_stats'],
+ fields['of13.meter_stats_reply.version'],
+ fields['of13.meter_stats_reply.type'],
+ fields['of13.meter_stats_reply.length'],
+ fields['of13.meter_stats_reply.xid'],
+ fields['of13.meter_stats_reply.stats_type'],
+ fields['of13.meter_stats_reply.flags'],
+ fields['of13.meter_stats_reply.entries'],
+ fields['of13.meter_stats_request.version'],
+ fields['of13.meter_stats_request.type'],
+ fields['of13.meter_stats_request.length'],
+ fields['of13.meter_stats_request.xid'],
+ fields['of13.meter_stats_request.stats_type'],
+ fields['of13.meter_stats_request.flags'],
+ fields['of13.meter_stats_request.meter_id'],
+ fields['of13.nicira_header.version'],
+ fields['of13.nicira_header.type'],
+ fields['of13.nicira_header.length'],
+ fields['of13.nicira_header.xid'],
+ fields['of13.nicira_header.experimenter'],
+ fields['of13.nicira_header.subtype'],
+ fields['of13.oxm_arp_op.type_len'],
+ fields['of13.oxm_arp_op.value'],
+ fields['of13.oxm_arp_op_masked.type_len'],
+ fields['of13.oxm_arp_op_masked.value'],
+ fields['of13.oxm_arp_op_masked.value_mask'],
+ fields['of13.oxm_arp_sha.type_len'],
+ fields['of13.oxm_arp_sha.value'],
+ fields['of13.oxm_arp_sha_masked.type_len'],
+ fields['of13.oxm_arp_sha_masked.value'],
+ fields['of13.oxm_arp_sha_masked.value_mask'],
+ fields['of13.oxm_arp_spa.type_len'],
+ fields['of13.oxm_arp_spa.value'],
+ fields['of13.oxm_arp_spa_masked.type_len'],
+ fields['of13.oxm_arp_spa_masked.value'],
+ fields['of13.oxm_arp_spa_masked.value_mask'],
+ fields['of13.oxm_arp_tha.type_len'],
+ fields['of13.oxm_arp_tha.value'],
+ fields['of13.oxm_arp_tha_masked.type_len'],
+ fields['of13.oxm_arp_tha_masked.value'],
+ fields['of13.oxm_arp_tha_masked.value_mask'],
+ fields['of13.oxm_arp_tpa.type_len'],
+ fields['of13.oxm_arp_tpa.value'],
+ fields['of13.oxm_arp_tpa_masked.type_len'],
+ fields['of13.oxm_arp_tpa_masked.value'],
+ fields['of13.oxm_arp_tpa_masked.value_mask'],
+ fields['of13.oxm_bsn_egr_port_group_id.type_len'],
+ fields['of13.oxm_bsn_egr_port_group_id.value'],
+ fields['of13.oxm_bsn_egr_port_group_id_masked.type_len'],
+ fields['of13.oxm_bsn_egr_port_group_id_masked.value'],
+ fields['of13.oxm_bsn_egr_port_group_id_masked.value_mask'],
+ fields['of13.oxm_bsn_global_vrf_allowed.type_len'],
+ fields['of13.oxm_bsn_global_vrf_allowed.value'],
+ fields['of13.oxm_bsn_global_vrf_allowed_masked.type_len'],
+ fields['of13.oxm_bsn_global_vrf_allowed_masked.value'],
+ fields['of13.oxm_bsn_global_vrf_allowed_masked.value_mask'],
+ fields['of13.oxm_bsn_in_ports_128.type_len'],
+ fields['of13.oxm_bsn_in_ports_128.value'],
+ fields['of13.oxm_bsn_in_ports_128_masked.type_len'],
+ fields['of13.oxm_bsn_in_ports_128_masked.value'],
+ fields['of13.oxm_bsn_in_ports_128_masked.value_mask'],
+ fields['of13.oxm_bsn_l3_dst_class_id.type_len'],
+ fields['of13.oxm_bsn_l3_dst_class_id.value'],
+ fields['of13.oxm_bsn_l3_dst_class_id_masked.type_len'],
+ fields['of13.oxm_bsn_l3_dst_class_id_masked.value'],
+ fields['of13.oxm_bsn_l3_dst_class_id_masked.value_mask'],
+ fields['of13.oxm_bsn_l3_interface_class_id.type_len'],
+ fields['of13.oxm_bsn_l3_interface_class_id.value'],
+ fields['of13.oxm_bsn_l3_interface_class_id_masked.type_len'],
+ fields['of13.oxm_bsn_l3_interface_class_id_masked.value'],
+ fields['of13.oxm_bsn_l3_interface_class_id_masked.value_mask'],
+ fields['of13.oxm_bsn_l3_src_class_id.type_len'],
+ fields['of13.oxm_bsn_l3_src_class_id.value'],
+ fields['of13.oxm_bsn_l3_src_class_id_masked.type_len'],
+ fields['of13.oxm_bsn_l3_src_class_id_masked.value'],
+ fields['of13.oxm_bsn_l3_src_class_id_masked.value_mask'],
+ fields['of13.oxm_bsn_lag_id.type_len'],
+ fields['of13.oxm_bsn_lag_id.value'],
+ fields['of13.oxm_bsn_lag_id_masked.type_len'],
+ fields['of13.oxm_bsn_lag_id_masked.value'],
+ fields['of13.oxm_bsn_lag_id_masked.value_mask'],
+ fields['of13.oxm_bsn_tcp_flags.type_len'],
+ fields['of13.oxm_bsn_tcp_flags.value'],
+ fields['of13.oxm_bsn_tcp_flags_masked.type_len'],
+ fields['of13.oxm_bsn_tcp_flags_masked.value'],
+ fields['of13.oxm_bsn_tcp_flags_masked.value_mask'],
+ fields['of13.oxm_bsn_udf0.type_len'],
+ fields['of13.oxm_bsn_udf0.value'],
+ fields['of13.oxm_bsn_udf0_masked.type_len'],
+ fields['of13.oxm_bsn_udf0_masked.value'],
+ fields['of13.oxm_bsn_udf0_masked.value_mask'],
+ fields['of13.oxm_bsn_udf1.type_len'],
+ fields['of13.oxm_bsn_udf1.value'],
+ fields['of13.oxm_bsn_udf1_masked.type_len'],
+ fields['of13.oxm_bsn_udf1_masked.value'],
+ fields['of13.oxm_bsn_udf1_masked.value_mask'],
+ fields['of13.oxm_bsn_udf2.type_len'],
+ fields['of13.oxm_bsn_udf2.value'],
+ fields['of13.oxm_bsn_udf2_masked.type_len'],
+ fields['of13.oxm_bsn_udf2_masked.value'],
+ fields['of13.oxm_bsn_udf2_masked.value_mask'],
+ fields['of13.oxm_bsn_udf3.type_len'],
+ fields['of13.oxm_bsn_udf3.value'],
+ fields['of13.oxm_bsn_udf3_masked.type_len'],
+ fields['of13.oxm_bsn_udf3_masked.value'],
+ fields['of13.oxm_bsn_udf3_masked.value_mask'],
+ fields['of13.oxm_bsn_udf4.type_len'],
+ fields['of13.oxm_bsn_udf4.value'],
+ fields['of13.oxm_bsn_udf4_masked.type_len'],
+ fields['of13.oxm_bsn_udf4_masked.value'],
+ fields['of13.oxm_bsn_udf4_masked.value_mask'],
+ fields['of13.oxm_bsn_udf5.type_len'],
+ fields['of13.oxm_bsn_udf5.value'],
+ fields['of13.oxm_bsn_udf5_masked.type_len'],
+ fields['of13.oxm_bsn_udf5_masked.value'],
+ fields['of13.oxm_bsn_udf5_masked.value_mask'],
+ fields['of13.oxm_bsn_udf6.type_len'],
+ fields['of13.oxm_bsn_udf6.value'],
+ fields['of13.oxm_bsn_udf6_masked.type_len'],
+ fields['of13.oxm_bsn_udf6_masked.value'],
+ fields['of13.oxm_bsn_udf6_masked.value_mask'],
+ fields['of13.oxm_bsn_udf7.type_len'],
+ fields['of13.oxm_bsn_udf7.value'],
+ fields['of13.oxm_bsn_udf7_masked.type_len'],
+ fields['of13.oxm_bsn_udf7_masked.value'],
+ fields['of13.oxm_bsn_udf7_masked.value_mask'],
+ fields['of13.oxm_bsn_vlan_xlate_port_group_id.type_len'],
+ fields['of13.oxm_bsn_vlan_xlate_port_group_id.value'],
+ fields['of13.oxm_bsn_vlan_xlate_port_group_id_masked.type_len'],
+ fields['of13.oxm_bsn_vlan_xlate_port_group_id_masked.value'],
+ fields['of13.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask'],
+ fields['of13.oxm_bsn_vrf.type_len'],
+ fields['of13.oxm_bsn_vrf.value'],
+ fields['of13.oxm_bsn_vrf_masked.type_len'],
+ fields['of13.oxm_bsn_vrf_masked.value'],
+ fields['of13.oxm_bsn_vrf_masked.value_mask'],
+ fields['of13.oxm_eth_dst.type_len'],
+ fields['of13.oxm_eth_dst.value'],
+ fields['of13.oxm_eth_dst_masked.type_len'],
+ fields['of13.oxm_eth_dst_masked.value'],
+ fields['of13.oxm_eth_dst_masked.value_mask'],
+ fields['of13.oxm_eth_src.type_len'],
+ fields['of13.oxm_eth_src.value'],
+ fields['of13.oxm_eth_src_masked.type_len'],
+ fields['of13.oxm_eth_src_masked.value'],
+ fields['of13.oxm_eth_src_masked.value_mask'],
+ fields['of13.oxm_eth_type.type_len'],
+ fields['of13.oxm_eth_type.value'],
+ fields['of13.oxm_eth_type_masked.type_len'],
+ fields['of13.oxm_eth_type_masked.value'],
+ fields['of13.oxm_eth_type_masked.value_mask'],
+ fields['of13.oxm_icmpv4_code.type_len'],
+ fields['of13.oxm_icmpv4_code.value'],
+ fields['of13.oxm_icmpv4_code_masked.type_len'],
+ fields['of13.oxm_icmpv4_code_masked.value'],
+ fields['of13.oxm_icmpv4_code_masked.value_mask'],
+ fields['of13.oxm_icmpv4_type.type_len'],
+ fields['of13.oxm_icmpv4_type.value'],
+ fields['of13.oxm_icmpv4_type_masked.type_len'],
+ fields['of13.oxm_icmpv4_type_masked.value'],
+ fields['of13.oxm_icmpv4_type_masked.value_mask'],
+ fields['of13.oxm_icmpv6_code.type_len'],
+ fields['of13.oxm_icmpv6_code.value'],
+ fields['of13.oxm_icmpv6_code_masked.type_len'],
+ fields['of13.oxm_icmpv6_code_masked.value'],
+ fields['of13.oxm_icmpv6_code_masked.value_mask'],
+ fields['of13.oxm_icmpv6_type.type_len'],
+ fields['of13.oxm_icmpv6_type.value'],
+ fields['of13.oxm_icmpv6_type_masked.type_len'],
+ fields['of13.oxm_icmpv6_type_masked.value'],
+ fields['of13.oxm_icmpv6_type_masked.value_mask'],
+ fields['of13.oxm_in_phy_port.type_len'],
+ fields['of13.oxm_in_phy_port.value'],
+ fields['of13.oxm_in_phy_port_masked.type_len'],
+ fields['of13.oxm_in_phy_port_masked.value'],
+ fields['of13.oxm_in_phy_port_masked.value_mask'],
+ fields['of13.oxm_in_port.type_len'],
+ fields['of13.oxm_in_port.value'],
+ fields['of13.oxm_in_port_masked.type_len'],
+ fields['of13.oxm_in_port_masked.value'],
+ fields['of13.oxm_in_port_masked.value_mask'],
+ fields['of13.oxm_ip_dscp.type_len'],
+ fields['of13.oxm_ip_dscp.value'],
+ fields['of13.oxm_ip_dscp_masked.type_len'],
+ fields['of13.oxm_ip_dscp_masked.value'],
+ fields['of13.oxm_ip_dscp_masked.value_mask'],
+ fields['of13.oxm_ip_ecn.type_len'],
+ fields['of13.oxm_ip_ecn.value'],
+ fields['of13.oxm_ip_ecn_masked.type_len'],
+ fields['of13.oxm_ip_ecn_masked.value'],
+ fields['of13.oxm_ip_ecn_masked.value_mask'],
+ fields['of13.oxm_ip_proto.type_len'],
+ fields['of13.oxm_ip_proto.value'],
+ fields['of13.oxm_ip_proto_masked.type_len'],
+ fields['of13.oxm_ip_proto_masked.value'],
+ fields['of13.oxm_ip_proto_masked.value_mask'],
+ fields['of13.oxm_ipv4_dst.type_len'],
+ fields['of13.oxm_ipv4_dst.value'],
+ fields['of13.oxm_ipv4_dst_masked.type_len'],
+ fields['of13.oxm_ipv4_dst_masked.value'],
+ fields['of13.oxm_ipv4_dst_masked.value_mask'],
+ fields['of13.oxm_ipv4_src.type_len'],
+ fields['of13.oxm_ipv4_src.value'],
+ fields['of13.oxm_ipv4_src_masked.type_len'],
+ fields['of13.oxm_ipv4_src_masked.value'],
+ fields['of13.oxm_ipv4_src_masked.value_mask'],
+ fields['of13.oxm_ipv6_dst.type_len'],
+ fields['of13.oxm_ipv6_dst.value'],
+ fields['of13.oxm_ipv6_dst_masked.type_len'],
+ fields['of13.oxm_ipv6_dst_masked.value'],
+ fields['of13.oxm_ipv6_dst_masked.value_mask'],
+ fields['of13.oxm_ipv6_flabel.type_len'],
+ fields['of13.oxm_ipv6_flabel.value'],
+ fields['of13.oxm_ipv6_flabel_masked.type_len'],
+ fields['of13.oxm_ipv6_flabel_masked.value'],
+ fields['of13.oxm_ipv6_flabel_masked.value_mask'],
+ fields['of13.oxm_ipv6_nd_sll.type_len'],
+ fields['of13.oxm_ipv6_nd_sll.value'],
+ fields['of13.oxm_ipv6_nd_sll_masked.type_len'],
+ fields['of13.oxm_ipv6_nd_sll_masked.value'],
+ fields['of13.oxm_ipv6_nd_sll_masked.value_mask'],
+ fields['of13.oxm_ipv6_nd_target.type_len'],
+ fields['of13.oxm_ipv6_nd_target.value'],
+ fields['of13.oxm_ipv6_nd_target_masked.type_len'],
+ fields['of13.oxm_ipv6_nd_target_masked.value'],
+ fields['of13.oxm_ipv6_nd_target_masked.value_mask'],
+ fields['of13.oxm_ipv6_nd_tll.type_len'],
+ fields['of13.oxm_ipv6_nd_tll.value'],
+ fields['of13.oxm_ipv6_nd_tll_masked.type_len'],
+ fields['of13.oxm_ipv6_nd_tll_masked.value'],
+ fields['of13.oxm_ipv6_nd_tll_masked.value_mask'],
+ fields['of13.oxm_ipv6_src.type_len'],
+ fields['of13.oxm_ipv6_src.value'],
+ fields['of13.oxm_ipv6_src_masked.type_len'],
+ fields['of13.oxm_ipv6_src_masked.value'],
+ fields['of13.oxm_ipv6_src_masked.value_mask'],
+ fields['of13.oxm_metadata.type_len'],
+ fields['of13.oxm_metadata.value'],
+ fields['of13.oxm_metadata_masked.type_len'],
+ fields['of13.oxm_metadata_masked.value'],
+ fields['of13.oxm_metadata_masked.value_mask'],
+ fields['of13.oxm_mpls_label.type_len'],
+ fields['of13.oxm_mpls_label.value'],
+ fields['of13.oxm_mpls_label_masked.type_len'],
+ fields['of13.oxm_mpls_label_masked.value'],
+ fields['of13.oxm_mpls_label_masked.value_mask'],
+ fields['of13.oxm_mpls_tc.type_len'],
+ fields['of13.oxm_mpls_tc.value'],
+ fields['of13.oxm_mpls_tc_masked.type_len'],
+ fields['of13.oxm_mpls_tc_masked.value'],
+ fields['of13.oxm_mpls_tc_masked.value_mask'],
+ fields['of13.oxm_sctp_dst.type_len'],
+ fields['of13.oxm_sctp_dst.value'],
+ fields['of13.oxm_sctp_dst_masked.type_len'],
+ fields['of13.oxm_sctp_dst_masked.value'],
+ fields['of13.oxm_sctp_dst_masked.value_mask'],
+ fields['of13.oxm_sctp_src.type_len'],
+ fields['of13.oxm_sctp_src.value'],
+ fields['of13.oxm_sctp_src_masked.type_len'],
+ fields['of13.oxm_sctp_src_masked.value'],
+ fields['of13.oxm_sctp_src_masked.value_mask'],
+ fields['of13.oxm_tcp_dst.type_len'],
+ fields['of13.oxm_tcp_dst.value'],
+ fields['of13.oxm_tcp_dst_masked.type_len'],
+ fields['of13.oxm_tcp_dst_masked.value'],
+ fields['of13.oxm_tcp_dst_masked.value_mask'],
+ fields['of13.oxm_tcp_src.type_len'],
+ fields['of13.oxm_tcp_src.value'],
+ fields['of13.oxm_tcp_src_masked.type_len'],
+ fields['of13.oxm_tcp_src_masked.value'],
+ fields['of13.oxm_tcp_src_masked.value_mask'],
+ fields['of13.oxm_tunnel_id.type_len'],
+ fields['of13.oxm_tunnel_id.value'],
+ fields['of13.oxm_tunnel_id_masked.type_len'],
+ fields['of13.oxm_tunnel_id_masked.value'],
+ fields['of13.oxm_tunnel_id_masked.value_mask'],
+ fields['of13.oxm_udp_dst.type_len'],
+ fields['of13.oxm_udp_dst.value'],
+ fields['of13.oxm_udp_dst_masked.type_len'],
+ fields['of13.oxm_udp_dst_masked.value'],
+ fields['of13.oxm_udp_dst_masked.value_mask'],
+ fields['of13.oxm_udp_src.type_len'],
+ fields['of13.oxm_udp_src.value'],
+ fields['of13.oxm_udp_src_masked.type_len'],
+ fields['of13.oxm_udp_src_masked.value'],
+ fields['of13.oxm_udp_src_masked.value_mask'],
+ fields['of13.oxm_vlan_pcp.type_len'],
+ fields['of13.oxm_vlan_pcp.value'],
+ fields['of13.oxm_vlan_pcp_masked.type_len'],
+ fields['of13.oxm_vlan_pcp_masked.value'],
+ fields['of13.oxm_vlan_pcp_masked.value_mask'],
+ fields['of13.oxm_vlan_vid.type_len'],
+ fields['of13.oxm_vlan_vid.value'],
+ fields['of13.oxm_vlan_vid_masked.type_len'],
+ fields['of13.oxm_vlan_vid_masked.value'],
+ fields['of13.oxm_vlan_vid_masked.value_mask'],
+ fields['of13.packet_in.version'],
+ fields['of13.packet_in.type'],
+ fields['of13.packet_in.length'],
+ fields['of13.packet_in.xid'],
+ fields['of13.packet_in.buffer_id'],
+ fields['of13.packet_in.total_len'],
+ fields['of13.packet_in.reason'],
+ fields['of13.packet_in.table_id'],
+ fields['of13.packet_in.cookie'],
+ fields['of13.packet_in.match'],
+ fields['of13.packet_in.data'],
+ fields['of13.packet_out.version'],
+ fields['of13.packet_out.type'],
+ fields['of13.packet_out.length'],
+ fields['of13.packet_out.xid'],
+ fields['of13.packet_out.buffer_id'],
+ fields['of13.packet_out.in_port'],
+ fields['of13.packet_out.actions_len'],
+ fields['of13.packet_out.actions'],
+ fields['of13.packet_out.data'],
+ fields['of13.packet_queue.queue_id'],
+ fields['of13.packet_queue.port'],
+ fields['of13.packet_queue.len'],
+ fields['of13.packet_queue.properties'],
+ fields['of13.port_desc.port_no'],
+ fields['of13.port_desc.hw_addr'],
+ fields['of13.port_desc.name'],
+ fields['of13.port_desc.config'],
+ fields['of13.port_desc.state'],
+ fields['of13.port_desc.curr'],
+ fields['of13.port_desc.advertised'],
+ fields['of13.port_desc.supported'],
+ fields['of13.port_desc.peer'],
+ fields['of13.port_desc.curr_speed'],
+ fields['of13.port_desc.max_speed'],
+ fields['of13.port_desc_stats_reply.version'],
+ fields['of13.port_desc_stats_reply.type'],
+ fields['of13.port_desc_stats_reply.length'],
+ fields['of13.port_desc_stats_reply.xid'],
+ fields['of13.port_desc_stats_reply.stats_type'],
+ fields['of13.port_desc_stats_reply.flags'],
+ fields['of13.port_desc_stats_reply.entries'],
+ fields['of13.port_desc_stats_request.version'],
+ fields['of13.port_desc_stats_request.type'],
+ fields['of13.port_desc_stats_request.length'],
+ fields['of13.port_desc_stats_request.xid'],
+ fields['of13.port_desc_stats_request.stats_type'],
+ fields['of13.port_desc_stats_request.flags'],
+ fields['of13.port_mod.version'],
+ fields['of13.port_mod.type'],
+ fields['of13.port_mod.length'],
+ fields['of13.port_mod.xid'],
+ fields['of13.port_mod.port_no'],
+ fields['of13.port_mod.hw_addr'],
+ fields['of13.port_mod.config'],
+ fields['of13.port_mod.mask'],
+ fields['of13.port_mod.advertise'],
+ fields['of13.port_mod_failed_error_msg.version'],
+ fields['of13.port_mod_failed_error_msg.type'],
+ fields['of13.port_mod_failed_error_msg.length'],
+ fields['of13.port_mod_failed_error_msg.xid'],
+ fields['of13.port_mod_failed_error_msg.err_type'],
+ fields['of13.port_mod_failed_error_msg.code'],
+ fields['of13.port_mod_failed_error_msg.data'],
+ fields['of13.port_stats_entry.port_no'],
+ fields['of13.port_stats_entry.rx_packets'],
+ fields['of13.port_stats_entry.tx_packets'],
+ fields['of13.port_stats_entry.rx_bytes'],
+ fields['of13.port_stats_entry.tx_bytes'],
+ fields['of13.port_stats_entry.rx_dropped'],
+ fields['of13.port_stats_entry.tx_dropped'],
+ fields['of13.port_stats_entry.rx_errors'],
+ fields['of13.port_stats_entry.tx_errors'],
+ fields['of13.port_stats_entry.rx_frame_err'],
+ fields['of13.port_stats_entry.rx_over_err'],
+ fields['of13.port_stats_entry.rx_crc_err'],
+ fields['of13.port_stats_entry.collisions'],
+ fields['of13.port_stats_entry.duration_sec'],
+ fields['of13.port_stats_entry.duration_nsec'],
+ fields['of13.port_stats_reply.version'],
+ fields['of13.port_stats_reply.type'],
+ fields['of13.port_stats_reply.length'],
+ fields['of13.port_stats_reply.xid'],
+ fields['of13.port_stats_reply.stats_type'],
+ fields['of13.port_stats_reply.flags'],
+ fields['of13.port_stats_reply.entries'],
+ fields['of13.port_stats_request.version'],
+ fields['of13.port_stats_request.type'],
+ fields['of13.port_stats_request.length'],
+ fields['of13.port_stats_request.xid'],
+ fields['of13.port_stats_request.stats_type'],
+ fields['of13.port_stats_request.flags'],
+ fields['of13.port_stats_request.port_no'],
+ fields['of13.port_status.version'],
+ fields['of13.port_status.type'],
+ fields['of13.port_status.length'],
+ fields['of13.port_status.xid'],
+ fields['of13.port_status.reason'],
+ fields['of13.port_status.desc'],
+ fields['of13.queue_get_config_reply.version'],
+ fields['of13.queue_get_config_reply.type'],
+ fields['of13.queue_get_config_reply.length'],
+ fields['of13.queue_get_config_reply.xid'],
+ fields['of13.queue_get_config_reply.port'],
+ fields['of13.queue_get_config_reply.queues'],
+ fields['of13.queue_get_config_request.version'],
+ fields['of13.queue_get_config_request.type'],
+ fields['of13.queue_get_config_request.length'],
+ fields['of13.queue_get_config_request.xid'],
+ fields['of13.queue_get_config_request.port'],
+ fields['of13.queue_op_failed_error_msg.version'],
+ fields['of13.queue_op_failed_error_msg.type'],
+ fields['of13.queue_op_failed_error_msg.length'],
+ fields['of13.queue_op_failed_error_msg.xid'],
+ fields['of13.queue_op_failed_error_msg.err_type'],
+ fields['of13.queue_op_failed_error_msg.code'],
+ fields['of13.queue_op_failed_error_msg.data'],
+ fields['of13.queue_prop.type'],
+ fields['of13.queue_prop.len'],
+ fields['of13.queue_prop_experimenter.type'],
+ fields['of13.queue_prop_experimenter.len'],
+ fields['of13.queue_prop_experimenter.experimenter'],
+ fields['of13.queue_prop_experimenter.data'],
+ fields['of13.queue_prop_max_rate.type'],
+ fields['of13.queue_prop_max_rate.len'],
+ fields['of13.queue_prop_max_rate.rate'],
+ fields['of13.queue_prop_min_rate.type'],
+ fields['of13.queue_prop_min_rate.len'],
+ fields['of13.queue_prop_min_rate.rate'],
+ fields['of13.queue_stats_entry.port_no'],
+ fields['of13.queue_stats_entry.queue_id'],
+ fields['of13.queue_stats_entry.tx_bytes'],
+ fields['of13.queue_stats_entry.tx_packets'],
+ fields['of13.queue_stats_entry.tx_errors'],
+ fields['of13.queue_stats_entry.duration_sec'],
+ fields['of13.queue_stats_entry.duration_nsec'],
+ fields['of13.queue_stats_reply.version'],
+ fields['of13.queue_stats_reply.type'],
+ fields['of13.queue_stats_reply.length'],
+ fields['of13.queue_stats_reply.xid'],
+ fields['of13.queue_stats_reply.stats_type'],
+ fields['of13.queue_stats_reply.flags'],
+ fields['of13.queue_stats_reply.entries'],
+ fields['of13.queue_stats_request.version'],
+ fields['of13.queue_stats_request.type'],
+ fields['of13.queue_stats_request.length'],
+ fields['of13.queue_stats_request.xid'],
+ fields['of13.queue_stats_request.stats_type'],
+ fields['of13.queue_stats_request.flags'],
+ fields['of13.queue_stats_request.port_no'],
+ fields['of13.queue_stats_request.queue_id'],
+ fields['of13.role_reply.version'],
+ fields['of13.role_reply.type'],
+ fields['of13.role_reply.length'],
+ fields['of13.role_reply.xid'],
+ fields['of13.role_reply.role'],
+ fields['of13.role_reply.generation_id'],
+ fields['of13.role_request.version'],
+ fields['of13.role_request.type'],
+ fields['of13.role_request.length'],
+ fields['of13.role_request.xid'],
+ fields['of13.role_request.role'],
+ fields['of13.role_request.generation_id'],
+ fields['of13.role_request_failed_error_msg.version'],
+ fields['of13.role_request_failed_error_msg.type'],
+ fields['of13.role_request_failed_error_msg.length'],
+ fields['of13.role_request_failed_error_msg.xid'],
+ fields['of13.role_request_failed_error_msg.err_type'],
+ fields['of13.role_request_failed_error_msg.code'],
+ fields['of13.role_request_failed_error_msg.data'],
+ fields['of13.set_config.version'],
+ fields['of13.set_config.type'],
+ fields['of13.set_config.length'],
+ fields['of13.set_config.xid'],
+ fields['of13.set_config.flags'],
+ fields['of13.set_config.miss_send_len'],
+ fields['of13.switch_config_failed_error_msg.version'],
+ fields['of13.switch_config_failed_error_msg.type'],
+ fields['of13.switch_config_failed_error_msg.length'],
+ fields['of13.switch_config_failed_error_msg.xid'],
+ fields['of13.switch_config_failed_error_msg.err_type'],
+ fields['of13.switch_config_failed_error_msg.code'],
+ fields['of13.switch_config_failed_error_msg.data'],
+ fields['of13.table_feature_prop.type'],
+ fields['of13.table_feature_prop.length'],
+ fields['of13.table_feature_prop_apply_actions.type'],
+ fields['of13.table_feature_prop_apply_actions.length'],
+ fields['of13.table_feature_prop_apply_actions.action_ids'],
+ fields['of13.table_feature_prop_apply_actions_miss.type'],
+ fields['of13.table_feature_prop_apply_actions_miss.length'],
+ fields['of13.table_feature_prop_apply_actions_miss.action_ids'],
+ fields['of13.table_feature_prop_apply_setfield.type'],
+ fields['of13.table_feature_prop_apply_setfield.length'],
+ fields['of13.table_feature_prop_apply_setfield.oxm_ids'],
+ fields['of13.table_feature_prop_apply_setfield_miss.type'],
+ fields['of13.table_feature_prop_apply_setfield_miss.length'],
+ fields['of13.table_feature_prop_apply_setfield_miss.oxm_ids'],
+ fields['of13.table_feature_prop_experimenter.type'],
+ fields['of13.table_feature_prop_experimenter.length'],
+ fields['of13.table_feature_prop_experimenter.experimenter'],
+ fields['of13.table_feature_prop_experimenter.subtype'],
+ fields['of13.table_feature_prop_experimenter.experimenter_data'],
+ fields['of13.table_feature_prop_experimenter_miss.type'],
+ fields['of13.table_feature_prop_experimenter_miss.length'],
+ fields['of13.table_feature_prop_experimenter_miss.experimenter'],
+ fields['of13.table_feature_prop_experimenter_miss.subtype'],
+ fields['of13.table_feature_prop_experimenter_miss.experimenter_data'],
+ fields['of13.table_feature_prop_instructions.type'],
+ fields['of13.table_feature_prop_instructions.length'],
+ fields['of13.table_feature_prop_instructions.instruction_ids'],
+ fields['of13.table_feature_prop_instructions_miss.type'],
+ fields['of13.table_feature_prop_instructions_miss.length'],
+ fields['of13.table_feature_prop_instructions_miss.instruction_ids'],
+ fields['of13.table_feature_prop_match.type'],
+ fields['of13.table_feature_prop_match.length'],
+ fields['of13.table_feature_prop_match.oxm_ids'],
+ fields['of13.table_feature_prop_next_tables.type'],
+ fields['of13.table_feature_prop_next_tables.length'],
+ fields['of13.table_feature_prop_next_tables.next_table_ids'],
+ fields['of13.table_feature_prop_next_tables_miss.type'],
+ fields['of13.table_feature_prop_next_tables_miss.length'],
+ fields['of13.table_feature_prop_next_tables_miss.next_table_ids'],
+ fields['of13.table_feature_prop_wildcards.type'],
+ fields['of13.table_feature_prop_wildcards.length'],
+ fields['of13.table_feature_prop_wildcards.oxm_ids'],
+ fields['of13.table_feature_prop_write_actions.type'],
+ fields['of13.table_feature_prop_write_actions.length'],
+ fields['of13.table_feature_prop_write_actions.action_ids'],
+ fields['of13.table_feature_prop_write_actions_miss.type'],
+ fields['of13.table_feature_prop_write_actions_miss.length'],
+ fields['of13.table_feature_prop_write_actions_miss.action_ids'],
+ fields['of13.table_feature_prop_write_setfield.type'],
+ fields['of13.table_feature_prop_write_setfield.length'],
+ fields['of13.table_feature_prop_write_setfield.oxm_ids'],
+ fields['of13.table_feature_prop_write_setfield_miss.type'],
+ fields['of13.table_feature_prop_write_setfield_miss.length'],
+ fields['of13.table_feature_prop_write_setfield_miss.oxm_ids'],
+ fields['of13.table_features.length'],
+ fields['of13.table_features.table_id'],
+ fields['of13.table_features.name'],
+ fields['of13.table_features.metadata_match'],
+ fields['of13.table_features.metadata_write'],
+ fields['of13.table_features.config'],
+ fields['of13.table_features.max_entries'],
+ fields['of13.table_features.properties'],
+ fields['of13.table_features_failed_error_msg.version'],
+ fields['of13.table_features_failed_error_msg.type'],
+ fields['of13.table_features_failed_error_msg.length'],
+ fields['of13.table_features_failed_error_msg.xid'],
+ fields['of13.table_features_failed_error_msg.err_type'],
+ fields['of13.table_features_failed_error_msg.code'],
+ fields['of13.table_features_failed_error_msg.data'],
+ fields['of13.table_features_stats_reply.version'],
+ fields['of13.table_features_stats_reply.type'],
+ fields['of13.table_features_stats_reply.length'],
+ fields['of13.table_features_stats_reply.xid'],
+ fields['of13.table_features_stats_reply.stats_type'],
+ fields['of13.table_features_stats_reply.flags'],
+ fields['of13.table_features_stats_reply.entries'],
+ fields['of13.table_features_stats_request.version'],
+ fields['of13.table_features_stats_request.type'],
+ fields['of13.table_features_stats_request.length'],
+ fields['of13.table_features_stats_request.xid'],
+ fields['of13.table_features_stats_request.stats_type'],
+ fields['of13.table_features_stats_request.flags'],
+ fields['of13.table_features_stats_request.entries'],
+ fields['of13.table_mod.version'],
+ fields['of13.table_mod.type'],
+ fields['of13.table_mod.length'],
+ fields['of13.table_mod.xid'],
+ fields['of13.table_mod.table_id'],
+ fields['of13.table_mod.config'],
+ fields['of13.table_mod_failed_error_msg.version'],
+ fields['of13.table_mod_failed_error_msg.type'],
+ fields['of13.table_mod_failed_error_msg.length'],
+ fields['of13.table_mod_failed_error_msg.xid'],
+ fields['of13.table_mod_failed_error_msg.err_type'],
+ fields['of13.table_mod_failed_error_msg.code'],
+ fields['of13.table_mod_failed_error_msg.data'],
+ fields['of13.table_stats_entry.table_id'],
+ fields['of13.table_stats_entry.active_count'],
+ fields['of13.table_stats_entry.lookup_count'],
+ fields['of13.table_stats_entry.matched_count'],
+ fields['of13.table_stats_reply.version'],
+ fields['of13.table_stats_reply.type'],
+ fields['of13.table_stats_reply.length'],
+ fields['of13.table_stats_reply.xid'],
+ fields['of13.table_stats_reply.stats_type'],
+ fields['of13.table_stats_reply.flags'],
+ fields['of13.table_stats_reply.entries'],
+ fields['of13.table_stats_request.version'],
+ fields['of13.table_stats_request.type'],
+ fields['of13.table_stats_request.length'],
+ fields['of13.table_stats_request.xid'],
+ fields['of13.table_stats_request.stats_type'],
+ fields['of13.table_stats_request.flags'],
+ fields['of13.uint32.value'],
+ fields['of13.uint64.value'],
+ fields['of13.uint8.value'],
+}
+
+-- Subclass maps for virtual classes
+of_action_v1_dissectors = {}
+of_action_experimenter_v1_dissectors = {}
+of_action_bsn_v1_dissectors = {}
+of_action_nicira_v1_dissectors = {}
+of_header_v1_dissectors = {}
+of_stats_reply_v1_dissectors = {}
+of_stats_request_v1_dissectors = {}
+of_error_msg_v1_dissectors = {}
+of_experimenter_v1_dissectors = {}
+of_bsn_header_v1_dissectors = {}
+of_experimenter_stats_reply_v1_dissectors = {}
+of_bsn_stats_reply_v1_dissectors = {}
+of_experimenter_stats_request_v1_dissectors = {}
+of_bsn_stats_request_v1_dissectors = {}
+of_bsn_vport_v1_dissectors = {}
+of_flow_mod_v1_dissectors = {}
+of_nicira_header_v1_dissectors = {}
+of_queue_prop_v1_dissectors = {}
+of_action_v2_dissectors = {}
+of_action_experimenter_v2_dissectors = {}
+of_action_bsn_v2_dissectors = {}
+of_action_nicira_v2_dissectors = {}
+of_header_v2_dissectors = {}
+of_stats_reply_v2_dissectors = {}
+of_stats_request_v2_dissectors = {}
+of_error_msg_v2_dissectors = {}
+of_experimenter_v2_dissectors = {}
+of_bsn_header_v2_dissectors = {}
+of_experimenter_stats_reply_v2_dissectors = {}
+of_bsn_stats_reply_v2_dissectors = {}
+of_experimenter_stats_request_v2_dissectors = {}
+of_bsn_stats_request_v2_dissectors = {}
+of_bsn_vport_v2_dissectors = {}
+of_flow_mod_v2_dissectors = {}
+of_group_mod_v2_dissectors = {}
+of_instruction_v2_dissectors = {}
+of_instruction_experimenter_v2_dissectors = {}
+of_nicira_header_v2_dissectors = {}
+of_queue_prop_v2_dissectors = {}
+of_action_v3_dissectors = {}
+of_action_experimenter_v3_dissectors = {}
+of_action_bsn_v3_dissectors = {}
+of_action_nicira_v3_dissectors = {}
+of_oxm_v3_dissectors = {}
+of_header_v3_dissectors = {}
+of_stats_reply_v3_dissectors = {}
+of_stats_request_v3_dissectors = {}
+of_error_msg_v3_dissectors = {}
+of_experimenter_v3_dissectors = {}
+of_bsn_header_v3_dissectors = {}
+of_experimenter_stats_reply_v3_dissectors = {}
+of_bsn_stats_reply_v3_dissectors = {}
+of_experimenter_stats_request_v3_dissectors = {}
+of_bsn_stats_request_v3_dissectors = {}
+of_bsn_vport_v3_dissectors = {}
+of_flow_mod_v3_dissectors = {}
+of_group_mod_v3_dissectors = {}
+of_instruction_v3_dissectors = {}
+of_instruction_experimenter_v3_dissectors = {}
+of_nicira_header_v3_dissectors = {}
+of_queue_prop_v3_dissectors = {}
+of_queue_prop_experimenter_v3_dissectors = {}
+of_action_v4_dissectors = {}
+of_action_id_v4_dissectors = {}
+of_action_experimenter_v4_dissectors = {}
+of_action_bsn_v4_dissectors = {}
+of_action_id_experimenter_v4_dissectors = {}
+of_action_id_bsn_v4_dissectors = {}
+of_action_nicira_v4_dissectors = {}
+of_action_id_nicira_v4_dissectors = {}
+of_oxm_v4_dissectors = {}
+of_header_v4_dissectors = {}
+of_stats_reply_v4_dissectors = {}
+of_stats_request_v4_dissectors = {}
+of_error_msg_v4_dissectors = {}
+of_experimenter_v4_dissectors = {}
+of_bsn_header_v4_dissectors = {}
+of_experimenter_stats_reply_v4_dissectors = {}
+of_bsn_stats_reply_v4_dissectors = {}
+of_experimenter_stats_request_v4_dissectors = {}
+of_bsn_stats_request_v4_dissectors = {}
+of_bsn_tlv_v4_dissectors = {}
+of_bsn_vport_v4_dissectors = {}
+of_flow_mod_v4_dissectors = {}
+of_group_mod_v4_dissectors = {}
+of_hello_elem_v4_dissectors = {}
+of_instruction_v4_dissectors = {}
+of_instruction_id_v4_dissectors = {}
+of_instruction_experimenter_v4_dissectors = {}
+of_instruction_bsn_v4_dissectors = {}
+of_instruction_id_experimenter_v4_dissectors = {}
+of_instruction_id_bsn_v4_dissectors = {}
+of_meter_band_v4_dissectors = {}
+of_nicira_header_v4_dissectors = {}
+of_queue_prop_v4_dissectors = {}
+of_queue_prop_experimenter_v4_dissectors = {}
+of_table_feature_prop_v4_dissectors = {}
+
+--- Dissectors for each class
+-- virtual top-level class of_action
+-- Discriminator is type
+function dissect_of_action_v1(reader, subtree)
+ return of_action_v1_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- virtual child class of_action_experimenter
+-- Child of of_action
+-- Discriminator is experimenter
+function dissect_of_action_experimenter_v1(reader, subtree)
+ return of_action_experimenter_v1_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_action_v1_dissectors[65535] = dissect_of_action_experimenter_v1
+
+-- virtual child class of_action_bsn
+-- Child of of_action_experimenter
+-- Discriminator is subtype
+function dissect_of_action_bsn_v1(reader, subtree)
+ return of_action_bsn_v1_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_action_experimenter_v1_dissectors[6035143] = dissect_of_action_bsn_v1
+
+-- child class of_action_bsn_checksum
+-- Child of of_action_bsn
+function dissect_of_action_bsn_checksum_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_bsn_checksum.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_bsn_checksum.len')
+ read_uint32_t(reader, 1, subtree, 'of10.action_bsn_checksum.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.action_bsn_checksum.subtype')
+ read_of_checksum_128_t(reader, 1, subtree, 'of10.action_bsn_checksum.checksum')
+ return 'of_action_bsn_checksum'
+end
+of_action_bsn_v1_dissectors[4] = dissect_of_action_bsn_checksum_v1
+
+-- child class of_action_bsn_mirror
+-- Child of of_action_bsn
+function dissect_of_action_bsn_mirror_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_bsn_mirror.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_bsn_mirror.len')
+ read_uint32_t(reader, 1, subtree, 'of10.action_bsn_mirror.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.action_bsn_mirror.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.action_bsn_mirror.dest_port')
+ read_uint32_t(reader, 1, subtree, 'of10.action_bsn_mirror.vlan_tag')
+ read_uint8_t(reader, 1, subtree, 'of10.action_bsn_mirror.copy_stage')
+ reader.skip(3)
+ return 'of_action_bsn_mirror'
+end
+of_action_bsn_v1_dissectors[1] = dissect_of_action_bsn_mirror_v1
+
+-- child class of_action_bsn_set_tunnel_dst
+-- Child of of_action_bsn
+function dissect_of_action_bsn_set_tunnel_dst_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_bsn_set_tunnel_dst.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_bsn_set_tunnel_dst.len')
+ read_uint32_t(reader, 1, subtree, 'of10.action_bsn_set_tunnel_dst.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.action_bsn_set_tunnel_dst.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.action_bsn_set_tunnel_dst.dst')
+ return 'of_action_bsn_set_tunnel_dst'
+end
+of_action_bsn_v1_dissectors[2] = dissect_of_action_bsn_set_tunnel_dst_v1
+
+-- child class of_action_enqueue
+-- Child of of_action
+function dissect_of_action_enqueue_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_enqueue.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_enqueue.len')
+ read_of_port_no_t(reader, 1, subtree, 'of10.action_enqueue.port')
+ reader.skip(6)
+ read_uint32_t(reader, 1, subtree, 'of10.action_enqueue.queue_id')
+ return 'of_action_enqueue'
+end
+of_action_v1_dissectors[11] = dissect_of_action_enqueue_v1
+
+-- virtual child class of_action_nicira
+-- Child of of_action_experimenter
+-- Discriminator is subtype
+function dissect_of_action_nicira_v1(reader, subtree)
+ return of_action_nicira_v1_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_action_experimenter_v1_dissectors[8992] = dissect_of_action_nicira_v1
+
+-- child class of_action_nicira_dec_ttl
+-- Child of of_action_nicira
+function dissect_of_action_nicira_dec_ttl_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_nicira_dec_ttl.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_nicira_dec_ttl.len')
+ read_uint32_t(reader, 1, subtree, 'of10.action_nicira_dec_ttl.experimenter')
+ read_uint16_t(reader, 1, subtree, 'of10.action_nicira_dec_ttl.subtype')
+ reader.skip(2)
+ reader.skip(4)
+ return 'of_action_nicira_dec_ttl'
+end
+of_action_nicira_v1_dissectors[18] = dissect_of_action_nicira_dec_ttl_v1
+
+-- child class of_action_output
+-- Child of of_action
+function dissect_of_action_output_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_output.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_output.len')
+ read_of_port_no_t(reader, 1, subtree, 'of10.action_output.port')
+ read_uint16_t(reader, 1, subtree, 'of10.action_output.max_len')
+ return 'of_action_output'
+end
+of_action_v1_dissectors[0] = dissect_of_action_output_v1
+
+-- child class of_action_set_dl_dst
+-- Child of of_action
+function dissect_of_action_set_dl_dst_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_dl_dst.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_dl_dst.len')
+ read_of_mac_addr_t(reader, 1, subtree, 'of10.action_set_dl_dst.dl_addr')
+ reader.skip(6)
+ return 'of_action_set_dl_dst'
+end
+of_action_v1_dissectors[5] = dissect_of_action_set_dl_dst_v1
+
+-- child class of_action_set_dl_src
+-- Child of of_action
+function dissect_of_action_set_dl_src_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_dl_src.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_dl_src.len')
+ read_of_mac_addr_t(reader, 1, subtree, 'of10.action_set_dl_src.dl_addr')
+ reader.skip(6)
+ return 'of_action_set_dl_src'
+end
+of_action_v1_dissectors[4] = dissect_of_action_set_dl_src_v1
+
+-- child class of_action_set_nw_dst
+-- Child of of_action
+function dissect_of_action_set_nw_dst_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_nw_dst.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_nw_dst.len')
+ read_uint32_t(reader, 1, subtree, 'of10.action_set_nw_dst.nw_addr')
+ return 'of_action_set_nw_dst'
+end
+of_action_v1_dissectors[7] = dissect_of_action_set_nw_dst_v1
+
+-- child class of_action_set_nw_src
+-- Child of of_action
+function dissect_of_action_set_nw_src_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_nw_src.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_nw_src.len')
+ read_uint32_t(reader, 1, subtree, 'of10.action_set_nw_src.nw_addr')
+ return 'of_action_set_nw_src'
+end
+of_action_v1_dissectors[6] = dissect_of_action_set_nw_src_v1
+
+-- child class of_action_set_nw_tos
+-- Child of of_action
+function dissect_of_action_set_nw_tos_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_nw_tos.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_nw_tos.len')
+ read_uint8_t(reader, 1, subtree, 'of10.action_set_nw_tos.nw_tos')
+ reader.skip(3)
+ return 'of_action_set_nw_tos'
+end
+of_action_v1_dissectors[8] = dissect_of_action_set_nw_tos_v1
+
+-- child class of_action_set_tp_dst
+-- Child of of_action
+function dissect_of_action_set_tp_dst_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_tp_dst.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_tp_dst.len')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_tp_dst.tp_port')
+ reader.skip(2)
+ return 'of_action_set_tp_dst'
+end
+of_action_v1_dissectors[10] = dissect_of_action_set_tp_dst_v1
+
+-- child class of_action_set_tp_src
+-- Child of of_action
+function dissect_of_action_set_tp_src_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_tp_src.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_tp_src.len')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_tp_src.tp_port')
+ reader.skip(2)
+ return 'of_action_set_tp_src'
+end
+of_action_v1_dissectors[9] = dissect_of_action_set_tp_src_v1
+
+-- child class of_action_set_vlan_pcp
+-- Child of of_action
+function dissect_of_action_set_vlan_pcp_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_vlan_pcp.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_vlan_pcp.len')
+ read_uint8_t(reader, 1, subtree, 'of10.action_set_vlan_pcp.vlan_pcp')
+ reader.skip(3)
+ return 'of_action_set_vlan_pcp'
+end
+of_action_v1_dissectors[2] = dissect_of_action_set_vlan_pcp_v1
+
+-- child class of_action_set_vlan_vid
+-- Child of of_action
+function dissect_of_action_set_vlan_vid_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_vlan_vid.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_vlan_vid.len')
+ read_uint16_t(reader, 1, subtree, 'of10.action_set_vlan_vid.vlan_vid')
+ reader.skip(2)
+ return 'of_action_set_vlan_vid'
+end
+of_action_v1_dissectors[1] = dissect_of_action_set_vlan_vid_v1
+
+-- child class of_action_strip_vlan
+-- Child of of_action
+function dissect_of_action_strip_vlan_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.action_strip_vlan.type')
+ read_uint16_t(reader, 1, subtree, 'of10.action_strip_vlan.len')
+ reader.skip(4)
+ return 'of_action_strip_vlan'
+end
+of_action_v1_dissectors[3] = dissect_of_action_strip_vlan_v1
+
+-- virtual top-level class of_header
+-- Discriminator is type
+function dissect_of_header_v1(reader, subtree)
+ return of_header_v1_dissectors[reader.peek(1,1):uint()](reader, subtree)
+end
+-- virtual child class of_stats_reply
+-- Child of of_header
+-- Discriminator is stats_type
+function dissect_of_stats_reply_v1(reader, subtree)
+ return of_stats_reply_v1_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v1_dissectors[17] = dissect_of_stats_reply_v1
+
+-- child class of_aggregate_stats_reply
+-- Child of of_stats_reply
+function dissect_of_aggregate_stats_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.aggregate_stats_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.aggregate_stats_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.aggregate_stats_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.aggregate_stats_reply.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.aggregate_stats_reply.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.aggregate_stats_reply.flags')
+ read_uint64_t(reader, 1, subtree, 'of10.aggregate_stats_reply.packet_count')
+ read_uint64_t(reader, 1, subtree, 'of10.aggregate_stats_reply.byte_count')
+ read_uint32_t(reader, 1, subtree, 'of10.aggregate_stats_reply.flow_count')
+ reader.skip(4)
+ return 'of_aggregate_stats_reply'
+end
+of_stats_reply_v1_dissectors[2] = dissect_of_aggregate_stats_reply_v1
+
+-- virtual child class of_stats_request
+-- Child of of_header
+-- Discriminator is stats_type
+function dissect_of_stats_request_v1(reader, subtree)
+ return of_stats_request_v1_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v1_dissectors[16] = dissect_of_stats_request_v1
+
+-- child class of_aggregate_stats_request
+-- Child of of_stats_request
+function dissect_of_aggregate_stats_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.aggregate_stats_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.aggregate_stats_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.aggregate_stats_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.aggregate_stats_request.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.aggregate_stats_request.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.aggregate_stats_request.flags')
+ read_of_match_t(reader, 1, subtree, 'of10.aggregate_stats_request.match')
+ read_uint8_t(reader, 1, subtree, 'of10.aggregate_stats_request.table_id')
+ reader.skip(1)
+ read_of_port_no_t(reader, 1, subtree, 'of10.aggregate_stats_request.out_port')
+ return 'of_aggregate_stats_request'
+end
+of_stats_request_v1_dissectors[2] = dissect_of_aggregate_stats_request_v1
+
+-- virtual child class of_error_msg
+-- Child of of_header
+-- Discriminator is err_type
+function dissect_of_error_msg_v1(reader, subtree)
+ return of_error_msg_v1_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v1_dissectors[1] = dissect_of_error_msg_v1
+
+-- child class of_bad_action_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_action_error_msg_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.bad_action_error_msg.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bad_action_error_msg.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bad_action_error_msg.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bad_action_error_msg.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.bad_action_error_msg.err_type')
+ read_uint16_t(reader, 1, subtree, 'of10.bad_action_error_msg.code')
+ read_openflow(reader, 1, subtree, 'of10.bad_action_error_msg.data')
+ return 'of_bad_action_error_msg'
+end
+of_error_msg_v1_dissectors[2] = dissect_of_bad_action_error_msg_v1
+
+-- child class of_bad_request_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_request_error_msg_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.bad_request_error_msg.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bad_request_error_msg.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bad_request_error_msg.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bad_request_error_msg.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.bad_request_error_msg.err_type')
+ read_uint16_t(reader, 1, subtree, 'of10.bad_request_error_msg.code')
+ read_openflow(reader, 1, subtree, 'of10.bad_request_error_msg.data')
+ return 'of_bad_request_error_msg'
+end
+of_error_msg_v1_dissectors[1] = dissect_of_bad_request_error_msg_v1
+
+-- child class of_barrier_reply
+-- Child of of_header
+function dissect_of_barrier_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.barrier_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.barrier_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.barrier_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.barrier_reply.xid')
+ return 'of_barrier_reply'
+end
+of_header_v1_dissectors[19] = dissect_of_barrier_reply_v1
+
+-- child class of_barrier_request
+-- Child of of_header
+function dissect_of_barrier_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.barrier_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.barrier_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.barrier_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.barrier_request.xid')
+ return 'of_barrier_request'
+end
+of_header_v1_dissectors[18] = dissect_of_barrier_request_v1
+
+-- virtual child class of_experimenter
+-- Child of of_header
+-- Discriminator is experimenter
+function dissect_of_experimenter_v1(reader, subtree)
+ return of_experimenter_v1_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_header_v1_dissectors[4] = dissect_of_experimenter_v1
+
+-- virtual child class of_bsn_header
+-- Child of of_experimenter
+-- Discriminator is subtype
+function dissect_of_bsn_header_v1(reader, subtree)
+ return of_bsn_header_v1_dissectors[reader.peek(12,4):uint()](reader, subtree)
+end
+of_experimenter_v1_dissectors[6035143] = dissect_of_bsn_header_v1
+
+-- child class of_bsn_bw_clear_data_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_clear_data_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_reply.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_reply.status')
+ return 'of_bsn_bw_clear_data_reply'
+end
+of_bsn_header_v1_dissectors[22] = dissect_of_bsn_bw_clear_data_reply_v1
+
+-- child class of_bsn_bw_clear_data_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_clear_data_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_clear_data_request.subtype')
+ return 'of_bsn_bw_clear_data_request'
+end
+of_bsn_header_v1_dissectors[21] = dissect_of_bsn_bw_clear_data_request_v1
+
+-- child class of_bsn_bw_enable_get_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_get_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_reply.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_reply.enabled')
+ return 'of_bsn_bw_enable_get_reply'
+end
+of_bsn_header_v1_dissectors[20] = dissect_of_bsn_bw_enable_get_reply_v1
+
+-- child class of_bsn_bw_enable_get_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_get_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_get_request.subtype')
+ return 'of_bsn_bw_enable_get_request'
+end
+of_bsn_header_v1_dissectors[19] = dissect_of_bsn_bw_enable_get_request_v1
+
+-- child class of_bsn_bw_enable_set_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_set_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_reply.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_reply.enable')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_reply.status')
+ return 'of_bsn_bw_enable_set_reply'
+end
+of_bsn_header_v1_dissectors[23] = dissect_of_bsn_bw_enable_set_reply_v1
+
+-- child class of_bsn_bw_enable_set_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_set_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_request.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_bw_enable_set_request.enable')
+ return 'of_bsn_bw_enable_set_request'
+end
+of_bsn_header_v1_dissectors[18] = dissect_of_bsn_bw_enable_set_request_v1
+
+-- child class of_bsn_get_interfaces_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_interfaces_reply_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_interfaces_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_interfaces_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_get_interfaces_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_interfaces_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_interfaces_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_interfaces_reply.subtype')
+ read_list(reader, dissect_of_bsn_interface_v1, subtree, 'of_bsn_interface')
+ return 'of_bsn_get_interfaces_reply'
+end
+of_bsn_header_v1_dissectors[10] = dissect_of_bsn_get_interfaces_reply_v1
+
+-- child class of_bsn_get_interfaces_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_interfaces_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_interfaces_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_interfaces_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_get_interfaces_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_interfaces_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_interfaces_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_interfaces_request.subtype')
+ return 'of_bsn_get_interfaces_request'
+end
+of_bsn_header_v1_dissectors[9] = dissect_of_bsn_get_interfaces_request_v1
+
+-- child class of_bsn_get_ip_mask_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_ip_mask_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_reply.subtype')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_reply.index')
+ reader.skip(3)
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_reply.mask')
+ return 'of_bsn_get_ip_mask_reply'
+end
+of_bsn_header_v1_dissectors[2] = dissect_of_bsn_get_ip_mask_reply_v1
+
+-- child class of_bsn_get_ip_mask_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_ip_mask_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_request.subtype')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_ip_mask_request.index')
+ reader.skip(7)
+ return 'of_bsn_get_ip_mask_request'
+end
+of_bsn_header_v1_dissectors[1] = dissect_of_bsn_get_ip_mask_request_v1
+
+-- child class of_bsn_get_l2_table_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_l2_table_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_l2_table_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_l2_table_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_get_l2_table_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_l2_table_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_l2_table_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_l2_table_reply.subtype')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_l2_table_reply.l2_table_enable')
+ reader.skip(1)
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_get_l2_table_reply.l2_table_priority')
+ reader.skip(4)
+ return 'of_bsn_get_l2_table_reply'
+end
+of_bsn_header_v1_dissectors[14] = dissect_of_bsn_get_l2_table_reply_v1
+
+-- child class of_bsn_get_l2_table_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_l2_table_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_l2_table_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_l2_table_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_get_l2_table_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_l2_table_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_l2_table_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_l2_table_request.subtype')
+ return 'of_bsn_get_l2_table_request'
+end
+of_bsn_header_v1_dissectors[13] = dissect_of_bsn_get_l2_table_request_v1
+
+-- child class of_bsn_get_mirroring_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_mirroring_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_mirroring_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_mirroring_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_get_mirroring_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_mirroring_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_mirroring_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_mirroring_reply.subtype')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_mirroring_reply.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_get_mirroring_reply'
+end
+of_bsn_header_v1_dissectors[5] = dissect_of_bsn_get_mirroring_reply_v1
+
+-- child class of_bsn_get_mirroring_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_mirroring_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_mirroring_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_mirroring_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_get_mirroring_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_mirroring_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_mirroring_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_get_mirroring_request.subtype')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_get_mirroring_request.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_get_mirroring_request'
+end
+of_bsn_header_v1_dissectors[4] = dissect_of_bsn_get_mirroring_request_v1
+
+-- child class of_bsn_hybrid_get_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_hybrid_get_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_hybrid_get_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_hybrid_get_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_hybrid_get_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_hybrid_get_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_hybrid_get_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_hybrid_get_reply.subtype')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_hybrid_get_reply.hybrid_enable')
+ reader.skip(1)
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_hybrid_get_reply.hybrid_version')
+ reader.skip(4)
+ return 'of_bsn_hybrid_get_reply'
+end
+of_bsn_header_v1_dissectors[28] = dissect_of_bsn_hybrid_get_reply_v1
+
+-- child class of_bsn_hybrid_get_request
+-- Child of of_bsn_header
+function dissect_of_bsn_hybrid_get_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_hybrid_get_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_hybrid_get_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_hybrid_get_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_hybrid_get_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_hybrid_get_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_hybrid_get_request.subtype')
+ return 'of_bsn_hybrid_get_request'
+end
+of_bsn_header_v1_dissectors[27] = dissect_of_bsn_hybrid_get_request_v1
+
+-- top-level class of_bsn_interface
+function dissect_of_bsn_interface_v1(reader, subtree)
+ read_of_mac_addr_t(reader, 1, subtree, 'of10.bsn_interface.hw_addr')
+ reader.skip(2)
+ read_of_port_name_t(reader, 1, subtree, 'of10.bsn_interface.name')
+ read_of_ipv4_t(reader, 1, subtree, 'of10.bsn_interface.ipv4_addr')
+ read_of_ipv4_t(reader, 1, subtree, 'of10.bsn_interface.ipv4_netmask')
+ return 'of_bsn_interface'
+end
+-- child class of_bsn_pdu_rx_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_rx_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_rx_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_pdu_rx_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_rx_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_rx_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_rx_reply.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_rx_reply.status')
+ read_of_port_no_t(reader, 1, subtree, 'of10.bsn_pdu_rx_reply.port_no')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_rx_reply.slot_num')
+ return 'of_bsn_pdu_rx_reply'
+end
+of_bsn_header_v1_dissectors[34] = dissect_of_bsn_pdu_rx_reply_v1
+
+-- child class of_bsn_pdu_rx_request
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_request_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_rx_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_rx_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_pdu_rx_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_rx_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_rx_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_rx_request.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_rx_request.timeout_ms')
+ read_of_port_no_t(reader, 1, subtree, 'of10.bsn_pdu_rx_request.port_no')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_rx_request.slot_num')
+ reader.skip(3)
+ read_ethernet(reader, 1, subtree, 'of10.bsn_pdu_rx_request.data')
+ return 'of_bsn_pdu_rx_request'
+end
+of_bsn_header_v1_dissectors[33] = dissect_of_bsn_pdu_rx_request_v1
+
+-- child class of_bsn_pdu_rx_timeout
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_timeout_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_rx_timeout.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_rx_timeout.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_pdu_rx_timeout.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_rx_timeout.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_rx_timeout.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_rx_timeout.subtype')
+ read_of_port_no_t(reader, 1, subtree, 'of10.bsn_pdu_rx_timeout.port_no')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_rx_timeout.slot_num')
+ return 'of_bsn_pdu_rx_timeout'
+end
+of_bsn_header_v1_dissectors[35] = dissect_of_bsn_pdu_rx_timeout_v1
+
+-- child class of_bsn_pdu_tx_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_tx_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_tx_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_tx_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_pdu_tx_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_tx_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_tx_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_tx_reply.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_tx_reply.status')
+ read_of_port_no_t(reader, 1, subtree, 'of10.bsn_pdu_tx_reply.port_no')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_tx_reply.slot_num')
+ return 'of_bsn_pdu_tx_reply'
+end
+of_bsn_header_v1_dissectors[32] = dissect_of_bsn_pdu_tx_reply_v1
+
+-- child class of_bsn_pdu_tx_request
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_tx_request_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_tx_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_tx_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_pdu_tx_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_tx_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_tx_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_tx_request.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_pdu_tx_request.tx_interval_ms')
+ read_of_port_no_t(reader, 1, subtree, 'of10.bsn_pdu_tx_request.port_no')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_pdu_tx_request.slot_num')
+ reader.skip(3)
+ read_ethernet(reader, 1, subtree, 'of10.bsn_pdu_tx_request.data')
+ return 'of_bsn_pdu_tx_request'
+end
+of_bsn_header_v1_dissectors[31] = dissect_of_bsn_pdu_tx_request_v1
+
+-- child class of_bsn_set_ip_mask
+-- Child of of_bsn_header
+function dissect_of_bsn_set_ip_mask_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_ip_mask.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_ip_mask.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_set_ip_mask.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_ip_mask.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_ip_mask.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_ip_mask.subtype')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_ip_mask.index')
+ reader.skip(3)
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_ip_mask.mask')
+ return 'of_bsn_set_ip_mask'
+end
+of_bsn_header_v1_dissectors[0] = dissect_of_bsn_set_ip_mask_v1
+
+-- child class of_bsn_set_l2_table_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_set_l2_table_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_l2_table_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_l2_table_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_set_l2_table_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_l2_table_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_l2_table_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_l2_table_reply.subtype')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_l2_table_reply.l2_table_enable')
+ reader.skip(1)
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_set_l2_table_reply.l2_table_priority')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_l2_table_reply.status')
+ return 'of_bsn_set_l2_table_reply'
+end
+of_bsn_header_v1_dissectors[24] = dissect_of_bsn_set_l2_table_reply_v1
+
+-- child class of_bsn_set_l2_table_request
+-- Child of of_bsn_header
+function dissect_of_bsn_set_l2_table_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_l2_table_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_l2_table_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_set_l2_table_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_l2_table_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_l2_table_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_l2_table_request.subtype')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_l2_table_request.l2_table_enable')
+ reader.skip(1)
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_set_l2_table_request.l2_table_priority')
+ reader.skip(4)
+ return 'of_bsn_set_l2_table_request'
+end
+of_bsn_header_v1_dissectors[12] = dissect_of_bsn_set_l2_table_request_v1
+
+-- child class of_bsn_set_mirroring
+-- Child of of_bsn_header
+function dissect_of_bsn_set_mirroring_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_mirroring.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_mirroring.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_set_mirroring.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_mirroring.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_mirroring.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_mirroring.subtype')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_mirroring.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_set_mirroring'
+end
+of_bsn_header_v1_dissectors[3] = dissect_of_bsn_set_mirroring_v1
+
+-- child class of_bsn_set_pktin_suppression_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_set_pktin_suppression_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_reply.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_reply.status')
+ return 'of_bsn_set_pktin_suppression_reply'
+end
+of_bsn_header_v1_dissectors[25] = dissect_of_bsn_set_pktin_suppression_reply_v1
+
+-- child class of_bsn_set_pktin_suppression_request
+-- Child of of_bsn_header
+function dissect_of_bsn_set_pktin_suppression_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_request.subtype')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_request.enabled')
+ reader.skip(1)
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_request.idle_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_request.hard_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_request.priority')
+ read_uint64_t(reader, 1, subtree, 'of10.bsn_set_pktin_suppression_request.cookie')
+ return 'of_bsn_set_pktin_suppression_request'
+end
+of_bsn_header_v1_dissectors[11] = dissect_of_bsn_set_pktin_suppression_request_v1
+
+-- child class of_bsn_shell_command
+-- Child of of_bsn_header
+function dissect_of_bsn_shell_command_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_shell_command.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_shell_command.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_shell_command.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_shell_command.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_shell_command.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_shell_command.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_shell_command.service')
+ read_of_octets_t(reader, 1, subtree, 'of10.bsn_shell_command.data')
+ return 'of_bsn_shell_command'
+end
+of_bsn_header_v1_dissectors[6] = dissect_of_bsn_shell_command_v1
+
+-- child class of_bsn_shell_output
+-- Child of of_bsn_header
+function dissect_of_bsn_shell_output_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_shell_output.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_shell_output.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_shell_output.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_shell_output.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_shell_output.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_shell_output.subtype')
+ read_of_octets_t(reader, 1, subtree, 'of10.bsn_shell_output.data')
+ return 'of_bsn_shell_output'
+end
+of_bsn_header_v1_dissectors[7] = dissect_of_bsn_shell_output_v1
+
+-- child class of_bsn_shell_status
+-- Child of of_bsn_header
+function dissect_of_bsn_shell_status_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_shell_status.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_shell_status.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_shell_status.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_shell_status.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_shell_status.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_shell_status.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_shell_status.status')
+ return 'of_bsn_shell_status'
+end
+of_bsn_header_v1_dissectors[8] = dissect_of_bsn_shell_status_v1
+
+-- virtual child class of_experimenter_stats_reply
+-- Child of of_stats_reply
+-- Discriminator is experimenter
+function dissect_of_experimenter_stats_reply_v1(reader, subtree)
+ return of_experimenter_stats_reply_v1_dissectors[reader.peek(12,4):uint()](reader, subtree)
+end
+of_stats_reply_v1_dissectors[65535] = dissect_of_experimenter_stats_reply_v1
+
+-- virtual child class of_bsn_stats_reply
+-- Child of of_experimenter_stats_reply
+-- Discriminator is subtype
+function dissect_of_bsn_stats_reply_v1(reader, subtree)
+ return of_bsn_stats_reply_v1_dissectors[reader.peek(20,4):uint()](reader, subtree)
+end
+of_experimenter_stats_reply_v1_dissectors[6035143] = dissect_of_bsn_stats_reply_v1
+
+-- virtual child class of_experimenter_stats_request
+-- Child of of_stats_request
+-- Discriminator is experimenter
+function dissect_of_experimenter_stats_request_v1(reader, subtree)
+ return of_experimenter_stats_request_v1_dissectors[reader.peek(12,4):uint()](reader, subtree)
+end
+of_stats_request_v1_dissectors[65535] = dissect_of_experimenter_stats_request_v1
+
+-- virtual child class of_bsn_stats_request
+-- Child of of_experimenter_stats_request
+-- Discriminator is subtype
+function dissect_of_bsn_stats_request_v1(reader, subtree)
+ return of_bsn_stats_request_v1_dissectors[reader.peek(20,4):uint()](reader, subtree)
+end
+of_experimenter_stats_request_v1_dissectors[6035143] = dissect_of_bsn_stats_request_v1
+
+-- child class of_bsn_virtual_port_create_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_create_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_reply.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_reply.status')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_reply.vport_no')
+ return 'of_bsn_virtual_port_create_reply'
+end
+of_bsn_header_v1_dissectors[16] = dissect_of_bsn_virtual_port_create_reply_v1
+
+-- virtual top-level class of_bsn_vport
+-- Discriminator is type
+function dissect_of_bsn_vport_v1(reader, subtree)
+ return of_bsn_vport_v1_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_bsn_virtual_port_create_request
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_create_request_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_request.subtype')
+ read_of_bsn_vport_t(reader, 1, subtree, 'of10.bsn_virtual_port_create_request.vport')
+ return 'of_bsn_virtual_port_create_request'
+end
+of_bsn_header_v1_dissectors[15] = dissect_of_bsn_virtual_port_create_request_v1
+
+-- child class of_bsn_virtual_port_remove_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_remove_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_reply.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_reply.status')
+ return 'of_bsn_virtual_port_remove_reply'
+end
+of_bsn_header_v1_dissectors[26] = dissect_of_bsn_virtual_port_remove_reply_v1
+
+-- child class of_bsn_virtual_port_remove_request
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_remove_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_request.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_virtual_port_remove_request.vport_no')
+ return 'of_bsn_virtual_port_remove_request'
+end
+of_bsn_header_v1_dissectors[17] = dissect_of_bsn_virtual_port_remove_request_v1
+
+-- child class of_bsn_vport_l2gre
+-- Child of of_bsn_vport
+function dissect_of_bsn_vport_l2gre_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.flags')
+ read_of_port_no_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.port_no')
+ read_of_port_no_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.loopback_port_no')
+ read_of_mac_addr_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.local_mac')
+ read_of_mac_addr_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.nh_mac')
+ read_of_ipv4_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.src_ip')
+ read_of_ipv4_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.dst_ip')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.dscp')
+ read_uint8_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.ttl')
+ reader.skip(2)
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.vpn')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.rate_limit')
+ read_of_port_name_t(reader, 1, subtree, 'of10.bsn_vport_l2gre.if_name')
+ return 'of_bsn_vport_l2gre'
+end
+of_bsn_vport_v1_dissectors[1] = dissect_of_bsn_vport_l2gre_v1
+
+-- child class of_bsn_vport_q_in_q
+-- Child of of_bsn_vport
+function dissect_of_bsn_vport_q_in_q_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_vport_q_in_q.type')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_vport_q_in_q.length')
+ read_uint32_t(reader, 1, subtree, 'of10.bsn_vport_q_in_q.port_no')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_vport_q_in_q.ingress_tpid')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_vport_q_in_q.ingress_vlan_id')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_vport_q_in_q.egress_tpid')
+ read_uint16_t(reader, 1, subtree, 'of10.bsn_vport_q_in_q.egress_vlan_id')
+ read_of_port_name_t(reader, 1, subtree, 'of10.bsn_vport_q_in_q.if_name')
+ return 'of_bsn_vport_q_in_q'
+end
+of_bsn_vport_v1_dissectors[0] = dissect_of_bsn_vport_q_in_q_v1
+
+-- child class of_desc_stats_reply
+-- Child of of_stats_reply
+function dissect_of_desc_stats_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.desc_stats_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.desc_stats_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.desc_stats_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.desc_stats_reply.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.desc_stats_reply.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.desc_stats_reply.flags')
+ read_of_desc_str_t(reader, 1, subtree, 'of10.desc_stats_reply.mfr_desc')
+ read_of_desc_str_t(reader, 1, subtree, 'of10.desc_stats_reply.hw_desc')
+ read_of_desc_str_t(reader, 1, subtree, 'of10.desc_stats_reply.sw_desc')
+ read_of_serial_num_t(reader, 1, subtree, 'of10.desc_stats_reply.serial_num')
+ read_of_desc_str_t(reader, 1, subtree, 'of10.desc_stats_reply.dp_desc')
+ return 'of_desc_stats_reply'
+end
+of_stats_reply_v1_dissectors[0] = dissect_of_desc_stats_reply_v1
+
+-- child class of_desc_stats_request
+-- Child of of_stats_request
+function dissect_of_desc_stats_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.desc_stats_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.desc_stats_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.desc_stats_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.desc_stats_request.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.desc_stats_request.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.desc_stats_request.flags')
+ return 'of_desc_stats_request'
+end
+of_stats_request_v1_dissectors[0] = dissect_of_desc_stats_request_v1
+
+-- child class of_echo_reply
+-- Child of of_header
+function dissect_of_echo_reply_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.echo_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.echo_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.echo_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.echo_reply.xid')
+ read_of_octets_t(reader, 1, subtree, 'of10.echo_reply.data')
+ return 'of_echo_reply'
+end
+of_header_v1_dissectors[3] = dissect_of_echo_reply_v1
+
+-- child class of_echo_request
+-- Child of of_header
+function dissect_of_echo_request_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.echo_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.echo_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.echo_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.echo_request.xid')
+ read_of_octets_t(reader, 1, subtree, 'of10.echo_request.data')
+ return 'of_echo_request'
+end
+of_header_v1_dissectors[2] = dissect_of_echo_request_v1
+
+-- child class of_features_reply
+-- Child of of_header
+function dissect_of_features_reply_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.features_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.features_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.features_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.features_reply.xid')
+ read_uint64_t(reader, 1, subtree, 'of10.features_reply.datapath_id')
+ read_uint32_t(reader, 1, subtree, 'of10.features_reply.n_buffers')
+ read_uint8_t(reader, 1, subtree, 'of10.features_reply.n_tables')
+ reader.skip(3)
+ read_uint32_t(reader, 1, subtree, 'of10.features_reply.capabilities')
+ read_uint32_t(reader, 1, subtree, 'of10.features_reply.actions')
+ read_list(reader, dissect_of_port_desc_v1, subtree, 'of_port_desc')
+ return 'of_features_reply'
+end
+of_header_v1_dissectors[6] = dissect_of_features_reply_v1
+
+-- child class of_features_request
+-- Child of of_header
+function dissect_of_features_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.features_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.features_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.features_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.features_request.xid')
+ return 'of_features_request'
+end
+of_header_v1_dissectors[5] = dissect_of_features_request_v1
+
+-- virtual child class of_flow_mod
+-- Child of of_header
+-- Discriminator is _command
+function dissect_of_flow_mod_v1(reader, subtree)
+ return of_flow_mod_v1_dissectors[reader.peek(56,2):uint()](reader, subtree)
+end
+of_header_v1_dissectors[14] = dissect_of_flow_mod_v1
+
+-- child class of_flow_add
+-- Child of of_flow_mod
+function dissect_of_flow_add_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.flow_add.version')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_add.type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_add.length')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_add.xid')
+ read_of_match_t(reader, 1, subtree, 'of10.flow_add.match')
+ read_uint64_t(reader, 1, subtree, 'of10.flow_add.cookie')
+ read_of_fm_cmd_t(reader, 1, subtree, 'of10.flow_add._command')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_add.idle_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_add.hard_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_add.priority')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_add.buffer_id')
+ read_of_port_no_t(reader, 1, subtree, 'of10.flow_add.out_port')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_add.flags')
+ read_list(reader, dissect_of_action_v1, subtree, 'of_action')
+ return 'of_flow_add'
+end
+of_flow_mod_v1_dissectors[0] = dissect_of_flow_add_v1
+
+-- child class of_flow_delete
+-- Child of of_flow_mod
+function dissect_of_flow_delete_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.flow_delete.version')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_delete.type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_delete.length')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_delete.xid')
+ read_of_match_t(reader, 1, subtree, 'of10.flow_delete.match')
+ read_uint64_t(reader, 1, subtree, 'of10.flow_delete.cookie')
+ read_of_fm_cmd_t(reader, 1, subtree, 'of10.flow_delete._command')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_delete.idle_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_delete.hard_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_delete.priority')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_delete.buffer_id')
+ read_of_port_no_t(reader, 1, subtree, 'of10.flow_delete.out_port')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_delete.flags')
+ read_list(reader, dissect_of_action_v1, subtree, 'of_action')
+ return 'of_flow_delete'
+end
+of_flow_mod_v1_dissectors[3] = dissect_of_flow_delete_v1
+
+-- child class of_flow_delete_strict
+-- Child of of_flow_mod
+function dissect_of_flow_delete_strict_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.flow_delete_strict.version')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_delete_strict.type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_delete_strict.length')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_delete_strict.xid')
+ read_of_match_t(reader, 1, subtree, 'of10.flow_delete_strict.match')
+ read_uint64_t(reader, 1, subtree, 'of10.flow_delete_strict.cookie')
+ read_of_fm_cmd_t(reader, 1, subtree, 'of10.flow_delete_strict._command')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_delete_strict.idle_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_delete_strict.hard_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_delete_strict.priority')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_delete_strict.buffer_id')
+ read_of_port_no_t(reader, 1, subtree, 'of10.flow_delete_strict.out_port')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_delete_strict.flags')
+ read_list(reader, dissect_of_action_v1, subtree, 'of_action')
+ return 'of_flow_delete_strict'
+end
+of_flow_mod_v1_dissectors[4] = dissect_of_flow_delete_strict_v1
+
+-- child class of_flow_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_flow_mod_failed_error_msg_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.flow_mod_failed_error_msg.version')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_mod_failed_error_msg.type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_mod_failed_error_msg.length')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_mod_failed_error_msg.code')
+ read_openflow(reader, 1, subtree, 'of10.flow_mod_failed_error_msg.data')
+ return 'of_flow_mod_failed_error_msg'
+end
+of_error_msg_v1_dissectors[3] = dissect_of_flow_mod_failed_error_msg_v1
+
+-- child class of_flow_modify
+-- Child of of_flow_mod
+function dissect_of_flow_modify_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.flow_modify.version')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_modify.type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_modify.length')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_modify.xid')
+ read_of_match_t(reader, 1, subtree, 'of10.flow_modify.match')
+ read_uint64_t(reader, 1, subtree, 'of10.flow_modify.cookie')
+ read_of_fm_cmd_t(reader, 1, subtree, 'of10.flow_modify._command')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_modify.idle_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_modify.hard_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_modify.priority')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_modify.buffer_id')
+ read_of_port_no_t(reader, 1, subtree, 'of10.flow_modify.out_port')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_modify.flags')
+ read_list(reader, dissect_of_action_v1, subtree, 'of_action')
+ return 'of_flow_modify'
+end
+of_flow_mod_v1_dissectors[1] = dissect_of_flow_modify_v1
+
+-- child class of_flow_modify_strict
+-- Child of of_flow_mod
+function dissect_of_flow_modify_strict_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.flow_modify_strict.version')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_modify_strict.type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_modify_strict.length')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_modify_strict.xid')
+ read_of_match_t(reader, 1, subtree, 'of10.flow_modify_strict.match')
+ read_uint64_t(reader, 1, subtree, 'of10.flow_modify_strict.cookie')
+ read_of_fm_cmd_t(reader, 1, subtree, 'of10.flow_modify_strict._command')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_modify_strict.idle_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_modify_strict.hard_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_modify_strict.priority')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_modify_strict.buffer_id')
+ read_of_port_no_t(reader, 1, subtree, 'of10.flow_modify_strict.out_port')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_modify_strict.flags')
+ read_list(reader, dissect_of_action_v1, subtree, 'of_action')
+ return 'of_flow_modify_strict'
+end
+of_flow_mod_v1_dissectors[2] = dissect_of_flow_modify_strict_v1
+
+-- child class of_flow_removed
+-- Child of of_header
+function dissect_of_flow_removed_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.flow_removed.version')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_removed.type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_removed.length')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_removed.xid')
+ read_of_match_t(reader, 1, subtree, 'of10.flow_removed.match')
+ read_uint64_t(reader, 1, subtree, 'of10.flow_removed.cookie')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_removed.priority')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_removed.reason')
+ reader.skip(1)
+ read_uint32_t(reader, 1, subtree, 'of10.flow_removed.duration_sec')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_removed.duration_nsec')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_removed.idle_timeout')
+ reader.skip(2)
+ read_uint64_t(reader, 1, subtree, 'of10.flow_removed.packet_count')
+ read_uint64_t(reader, 1, subtree, 'of10.flow_removed.byte_count')
+ return 'of_flow_removed'
+end
+of_header_v1_dissectors[11] = dissect_of_flow_removed_v1
+
+-- top-level class of_flow_stats_entry
+function dissect_of_flow_stats_entry_v1(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 1, subtree, 'of10.flow_stats_entry.length')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_stats_entry.table_id')
+ reader.skip(1)
+ read_of_match_t(reader, 1, subtree, 'of10.flow_stats_entry.match')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_stats_entry.duration_sec')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_stats_entry.duration_nsec')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_stats_entry.priority')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_stats_entry.idle_timeout')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_stats_entry.hard_timeout')
+ reader.skip(6)
+ read_uint64_t(reader, 1, subtree, 'of10.flow_stats_entry.cookie')
+ read_uint64_t(reader, 1, subtree, 'of10.flow_stats_entry.packet_count')
+ read_uint64_t(reader, 1, subtree, 'of10.flow_stats_entry.byte_count')
+ read_list(reader, dissect_of_action_v1, subtree, 'of_action')
+ return 'of_flow_stats_entry'
+end
+-- child class of_flow_stats_reply
+-- Child of of_stats_reply
+function dissect_of_flow_stats_reply_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.flow_stats_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_stats_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_stats_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_stats_reply.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_stats_reply.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_stats_reply.flags')
+ read_list(reader, dissect_of_flow_stats_entry_v1, subtree, 'of_flow_stats_entry')
+ return 'of_flow_stats_reply'
+end
+of_stats_reply_v1_dissectors[1] = dissect_of_flow_stats_reply_v1
+
+-- child class of_flow_stats_request
+-- Child of of_stats_request
+function dissect_of_flow_stats_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.flow_stats_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_stats_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_stats_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.flow_stats_request.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_stats_request.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.flow_stats_request.flags')
+ read_of_match_t(reader, 1, subtree, 'of10.flow_stats_request.match')
+ read_uint8_t(reader, 1, subtree, 'of10.flow_stats_request.table_id')
+ reader.skip(1)
+ read_of_port_no_t(reader, 1, subtree, 'of10.flow_stats_request.out_port')
+ return 'of_flow_stats_request'
+end
+of_stats_request_v1_dissectors[1] = dissect_of_flow_stats_request_v1
+
+-- child class of_get_config_reply
+-- Child of of_header
+function dissect_of_get_config_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.get_config_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.get_config_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.get_config_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.get_config_reply.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.get_config_reply.flags')
+ read_uint16_t(reader, 1, subtree, 'of10.get_config_reply.miss_send_len')
+ return 'of_get_config_reply'
+end
+of_header_v1_dissectors[8] = dissect_of_get_config_reply_v1
+
+-- child class of_get_config_request
+-- Child of of_header
+function dissect_of_get_config_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.get_config_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.get_config_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.get_config_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.get_config_request.xid')
+ return 'of_get_config_request'
+end
+of_header_v1_dissectors[7] = dissect_of_get_config_request_v1
+
+-- child class of_hello
+-- Child of of_header
+function dissect_of_hello_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.hello.version')
+ read_uint8_t(reader, 1, subtree, 'of10.hello.type')
+ read_uint16_t(reader, 1, subtree, 'of10.hello.length')
+ read_uint32_t(reader, 1, subtree, 'of10.hello.xid')
+ return 'of_hello'
+end
+of_header_v1_dissectors[0] = dissect_of_hello_v1
+
+-- child class of_hello_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_hello_failed_error_msg_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.hello_failed_error_msg.version')
+ read_uint8_t(reader, 1, subtree, 'of10.hello_failed_error_msg.type')
+ read_uint16_t(reader, 1, subtree, 'of10.hello_failed_error_msg.length')
+ read_uint32_t(reader, 1, subtree, 'of10.hello_failed_error_msg.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.hello_failed_error_msg.err_type')
+ read_uint16_t(reader, 1, subtree, 'of10.hello_failed_error_msg.code')
+ read_openflow(reader, 1, subtree, 'of10.hello_failed_error_msg.data')
+ return 'of_hello_failed_error_msg'
+end
+of_error_msg_v1_dissectors[0] = dissect_of_hello_failed_error_msg_v1
+
+-- top-level class of_match_v1
+function dissect_of_match_v1_v1(reader, subtree)
+ read_of_wc_bmap_t(reader, 1, subtree, 'of10.match_v1.wildcards')
+ read_of_port_no_t(reader, 1, subtree, 'of10.match_v1.in_port')
+ read_of_mac_addr_t(reader, 1, subtree, 'of10.match_v1.eth_src')
+ read_of_mac_addr_t(reader, 1, subtree, 'of10.match_v1.eth_dst')
+ read_uint16_t(reader, 1, subtree, 'of10.match_v1.vlan_vid')
+ read_uint8_t(reader, 1, subtree, 'of10.match_v1.vlan_pcp')
+ reader.skip(1)
+ read_uint16_t(reader, 1, subtree, 'of10.match_v1.eth_type')
+ read_uint8_t(reader, 1, subtree, 'of10.match_v1.ip_dscp')
+ read_uint8_t(reader, 1, subtree, 'of10.match_v1.ip_proto')
+ reader.skip(2)
+ read_of_ipv4_t(reader, 1, subtree, 'of10.match_v1.ipv4_src')
+ read_of_ipv4_t(reader, 1, subtree, 'of10.match_v1.ipv4_dst')
+ read_uint16_t(reader, 1, subtree, 'of10.match_v1.tcp_src')
+ read_uint16_t(reader, 1, subtree, 'of10.match_v1.tcp_dst')
+ return 'of_match_v1'
+end
+-- virtual child class of_nicira_header
+-- Child of of_experimenter
+-- Discriminator is subtype
+function dissect_of_nicira_header_v1(reader, subtree)
+ return of_nicira_header_v1_dissectors[reader.peek(12,4):uint()](reader, subtree)
+end
+of_experimenter_v1_dissectors[8992] = dissect_of_nicira_header_v1
+
+-- child class of_nicira_controller_role_reply
+-- Child of of_nicira_header
+function dissect_of_nicira_controller_role_reply_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.nicira_controller_role_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.nicira_controller_role_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.nicira_controller_role_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.nicira_controller_role_reply.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.nicira_controller_role_reply.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.nicira_controller_role_reply.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.nicira_controller_role_reply.role')
+ return 'of_nicira_controller_role_reply'
+end
+of_nicira_header_v1_dissectors[11] = dissect_of_nicira_controller_role_reply_v1
+
+-- child class of_nicira_controller_role_request
+-- Child of of_nicira_header
+function dissect_of_nicira_controller_role_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.nicira_controller_role_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.nicira_controller_role_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.nicira_controller_role_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.nicira_controller_role_request.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.nicira_controller_role_request.experimenter')
+ read_uint32_t(reader, 1, subtree, 'of10.nicira_controller_role_request.subtype')
+ read_uint32_t(reader, 1, subtree, 'of10.nicira_controller_role_request.role')
+ return 'of_nicira_controller_role_request'
+end
+of_nicira_header_v1_dissectors[10] = dissect_of_nicira_controller_role_request_v1
+
+-- child class of_packet_in
+-- Child of of_header
+function dissect_of_packet_in_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.packet_in.version')
+ read_uint8_t(reader, 1, subtree, 'of10.packet_in.type')
+ read_uint16_t(reader, 1, subtree, 'of10.packet_in.length')
+ read_uint32_t(reader, 1, subtree, 'of10.packet_in.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.packet_in.buffer_id')
+ read_uint16_t(reader, 1, subtree, 'of10.packet_in.total_len')
+ read_of_port_no_t(reader, 1, subtree, 'of10.packet_in.in_port')
+ read_uint8_t(reader, 1, subtree, 'of10.packet_in.reason')
+ reader.skip(1)
+ read_ethernet(reader, 1, subtree, 'of10.packet_in.data')
+ return 'of_packet_in'
+end
+of_header_v1_dissectors[10] = dissect_of_packet_in_v1
+
+-- child class of_packet_out
+-- Child of of_header
+function dissect_of_packet_out_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.packet_out.version')
+ read_uint8_t(reader, 1, subtree, 'of10.packet_out.type')
+ read_uint16_t(reader, 1, subtree, 'of10.packet_out.length')
+ read_uint32_t(reader, 1, subtree, 'of10.packet_out.xid')
+ read_uint32_t(reader, 1, subtree, 'of10.packet_out.buffer_id')
+ read_of_port_no_t(reader, 1, subtree, 'of10.packet_out.in_port')
+ local _actions_length = reader.peek(0, 2):uint()
+ read_uint16_t(reader, 1, subtree, 'of10.packet_out.actions_len')
+ read_list(reader.slice(_actions_length), dissect_of_action_v1, subtree, 'of_action')
+ read_ethernet(reader, 1, subtree, 'of10.packet_out.data')
+ return 'of_packet_out'
+end
+of_header_v1_dissectors[13] = dissect_of_packet_out_v1
+
+-- top-level class of_packet_queue
+function dissect_of_packet_queue_v1(reader, subtree)
+ local _length = reader.peek(4, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint32_t(reader, 1, subtree, 'of10.packet_queue.queue_id')
+ read_uint16_t(reader, 1, subtree, 'of10.packet_queue.len')
+ reader.skip(2)
+ read_list(reader, dissect_of_queue_prop_v1, subtree, 'of_queue_prop')
+ return 'of_packet_queue'
+end
+-- top-level class of_port_desc
+function dissect_of_port_desc_v1(reader, subtree)
+ read_of_port_no_t(reader, 1, subtree, 'of10.port_desc.port_no')
+ read_of_mac_addr_t(reader, 1, subtree, 'of10.port_desc.hw_addr')
+ read_of_port_name_t(reader, 1, subtree, 'of10.port_desc.name')
+ read_uint32_t(reader, 1, subtree, 'of10.port_desc.config')
+ read_uint32_t(reader, 1, subtree, 'of10.port_desc.state')
+ read_uint32_t(reader, 1, subtree, 'of10.port_desc.curr')
+ read_uint32_t(reader, 1, subtree, 'of10.port_desc.advertised')
+ read_uint32_t(reader, 1, subtree, 'of10.port_desc.supported')
+ read_uint32_t(reader, 1, subtree, 'of10.port_desc.peer')
+ return 'of_port_desc'
+end
+-- child class of_port_mod
+-- Child of of_header
+function dissect_of_port_mod_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.port_mod.version')
+ read_uint8_t(reader, 1, subtree, 'of10.port_mod.type')
+ read_uint16_t(reader, 1, subtree, 'of10.port_mod.length')
+ read_uint32_t(reader, 1, subtree, 'of10.port_mod.xid')
+ read_of_port_no_t(reader, 1, subtree, 'of10.port_mod.port_no')
+ read_of_mac_addr_t(reader, 1, subtree, 'of10.port_mod.hw_addr')
+ read_uint32_t(reader, 1, subtree, 'of10.port_mod.config')
+ read_uint32_t(reader, 1, subtree, 'of10.port_mod.mask')
+ read_uint32_t(reader, 1, subtree, 'of10.port_mod.advertise')
+ reader.skip(4)
+ return 'of_port_mod'
+end
+of_header_v1_dissectors[15] = dissect_of_port_mod_v1
+
+-- child class of_port_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_port_mod_failed_error_msg_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.port_mod_failed_error_msg.version')
+ read_uint8_t(reader, 1, subtree, 'of10.port_mod_failed_error_msg.type')
+ read_uint16_t(reader, 1, subtree, 'of10.port_mod_failed_error_msg.length')
+ read_uint32_t(reader, 1, subtree, 'of10.port_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.port_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 1, subtree, 'of10.port_mod_failed_error_msg.code')
+ read_openflow(reader, 1, subtree, 'of10.port_mod_failed_error_msg.data')
+ return 'of_port_mod_failed_error_msg'
+end
+of_error_msg_v1_dissectors[4] = dissect_of_port_mod_failed_error_msg_v1
+
+-- top-level class of_port_stats_entry
+function dissect_of_port_stats_entry_v1(reader, subtree)
+ read_of_port_no_t(reader, 1, subtree, 'of10.port_stats_entry.port_no')
+ reader.skip(6)
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.rx_packets')
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.tx_packets')
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.rx_bytes')
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.tx_bytes')
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.rx_dropped')
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.tx_dropped')
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.rx_errors')
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.tx_errors')
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.rx_frame_err')
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.rx_over_err')
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.rx_crc_err')
+ read_uint64_t(reader, 1, subtree, 'of10.port_stats_entry.collisions')
+ return 'of_port_stats_entry'
+end
+-- child class of_port_stats_reply
+-- Child of of_stats_reply
+function dissect_of_port_stats_reply_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.port_stats_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.port_stats_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.port_stats_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.port_stats_reply.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.port_stats_reply.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.port_stats_reply.flags')
+ read_list(reader, dissect_of_port_stats_entry_v1, subtree, 'of_port_stats_entry')
+ return 'of_port_stats_reply'
+end
+of_stats_reply_v1_dissectors[4] = dissect_of_port_stats_reply_v1
+
+-- child class of_port_stats_request
+-- Child of of_stats_request
+function dissect_of_port_stats_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.port_stats_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.port_stats_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.port_stats_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.port_stats_request.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.port_stats_request.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.port_stats_request.flags')
+ read_of_port_no_t(reader, 1, subtree, 'of10.port_stats_request.port_no')
+ reader.skip(6)
+ return 'of_port_stats_request'
+end
+of_stats_request_v1_dissectors[4] = dissect_of_port_stats_request_v1
+
+-- child class of_port_status
+-- Child of of_header
+function dissect_of_port_status_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.port_status.version')
+ read_uint8_t(reader, 1, subtree, 'of10.port_status.type')
+ read_uint16_t(reader, 1, subtree, 'of10.port_status.length')
+ read_uint32_t(reader, 1, subtree, 'of10.port_status.xid')
+ read_uint8_t(reader, 1, subtree, 'of10.port_status.reason')
+ reader.skip(7)
+ read_of_port_desc_t(reader, 1, subtree, 'of10.port_status.desc')
+ return 'of_port_status'
+end
+of_header_v1_dissectors[12] = dissect_of_port_status_v1
+
+-- child class of_queue_get_config_reply
+-- Child of of_header
+function dissect_of_queue_get_config_reply_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.queue_get_config_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.queue_get_config_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_get_config_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.queue_get_config_reply.xid')
+ read_of_port_no_t(reader, 1, subtree, 'of10.queue_get_config_reply.port')
+ reader.skip(6)
+ read_list(reader, dissect_of_packet_queue_v1, subtree, 'of_packet_queue')
+ return 'of_queue_get_config_reply'
+end
+of_header_v1_dissectors[21] = dissect_of_queue_get_config_reply_v1
+
+-- child class of_queue_get_config_request
+-- Child of of_header
+function dissect_of_queue_get_config_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.queue_get_config_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.queue_get_config_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_get_config_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.queue_get_config_request.xid')
+ read_of_port_no_t(reader, 1, subtree, 'of10.queue_get_config_request.port')
+ reader.skip(2)
+ return 'of_queue_get_config_request'
+end
+of_header_v1_dissectors[20] = dissect_of_queue_get_config_request_v1
+
+-- child class of_queue_op_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_queue_op_failed_error_msg_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.queue_op_failed_error_msg.version')
+ read_uint8_t(reader, 1, subtree, 'of10.queue_op_failed_error_msg.type')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_op_failed_error_msg.length')
+ read_uint32_t(reader, 1, subtree, 'of10.queue_op_failed_error_msg.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_op_failed_error_msg.err_type')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_op_failed_error_msg.code')
+ read_openflow(reader, 1, subtree, 'of10.queue_op_failed_error_msg.data')
+ return 'of_queue_op_failed_error_msg'
+end
+of_error_msg_v1_dissectors[5] = dissect_of_queue_op_failed_error_msg_v1
+
+-- virtual top-level class of_queue_prop
+-- Discriminator is type
+function dissect_of_queue_prop_v1(reader, subtree)
+ return of_queue_prop_v1_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_queue_prop_min_rate
+-- Child of of_queue_prop
+function dissect_of_queue_prop_min_rate_v1(reader, subtree)
+ read_uint16_t(reader, 1, subtree, 'of10.queue_prop_min_rate.type')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_prop_min_rate.len')
+ reader.skip(4)
+ read_uint16_t(reader, 1, subtree, 'of10.queue_prop_min_rate.rate')
+ reader.skip(6)
+ return 'of_queue_prop_min_rate'
+end
+of_queue_prop_v1_dissectors[1] = dissect_of_queue_prop_min_rate_v1
+
+-- top-level class of_queue_stats_entry
+function dissect_of_queue_stats_entry_v1(reader, subtree)
+ read_of_port_no_t(reader, 1, subtree, 'of10.queue_stats_entry.port_no')
+ reader.skip(2)
+ read_uint32_t(reader, 1, subtree, 'of10.queue_stats_entry.queue_id')
+ read_uint64_t(reader, 1, subtree, 'of10.queue_stats_entry.tx_bytes')
+ read_uint64_t(reader, 1, subtree, 'of10.queue_stats_entry.tx_packets')
+ read_uint64_t(reader, 1, subtree, 'of10.queue_stats_entry.tx_errors')
+ return 'of_queue_stats_entry'
+end
+-- child class of_queue_stats_reply
+-- Child of of_stats_reply
+function dissect_of_queue_stats_reply_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.queue_stats_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.queue_stats_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_stats_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.queue_stats_reply.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_stats_reply.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_stats_reply.flags')
+ read_list(reader, dissect_of_queue_stats_entry_v1, subtree, 'of_queue_stats_entry')
+ return 'of_queue_stats_reply'
+end
+of_stats_reply_v1_dissectors[5] = dissect_of_queue_stats_reply_v1
+
+-- child class of_queue_stats_request
+-- Child of of_stats_request
+function dissect_of_queue_stats_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.queue_stats_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.queue_stats_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_stats_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.queue_stats_request.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_stats_request.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.queue_stats_request.flags')
+ read_of_port_no_t(reader, 1, subtree, 'of10.queue_stats_request.port_no')
+ reader.skip(2)
+ read_uint32_t(reader, 1, subtree, 'of10.queue_stats_request.queue_id')
+ return 'of_queue_stats_request'
+end
+of_stats_request_v1_dissectors[5] = dissect_of_queue_stats_request_v1
+
+-- child class of_set_config
+-- Child of of_header
+function dissect_of_set_config_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.set_config.version')
+ read_uint8_t(reader, 1, subtree, 'of10.set_config.type')
+ read_uint16_t(reader, 1, subtree, 'of10.set_config.length')
+ read_uint32_t(reader, 1, subtree, 'of10.set_config.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.set_config.flags')
+ read_uint16_t(reader, 1, subtree, 'of10.set_config.miss_send_len')
+ return 'of_set_config'
+end
+of_header_v1_dissectors[9] = dissect_of_set_config_v1
+
+-- child class of_table_mod
+-- Child of of_header
+function dissect_of_table_mod_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.table_mod.version')
+ read_uint8_t(reader, 1, subtree, 'of10.table_mod.type')
+ read_uint16_t(reader, 1, subtree, 'of10.table_mod.length')
+ read_uint32_t(reader, 1, subtree, 'of10.table_mod.xid')
+ read_uint8_t(reader, 1, subtree, 'of10.table_mod.table_id')
+ reader.skip(3)
+ read_uint32_t(reader, 1, subtree, 'of10.table_mod.config')
+ return 'of_table_mod'
+end
+of_header_v1_dissectors[22] = dissect_of_table_mod_v1
+
+-- top-level class of_table_stats_entry
+function dissect_of_table_stats_entry_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.table_stats_entry.table_id')
+ reader.skip(3)
+ read_of_table_name_t(reader, 1, subtree, 'of10.table_stats_entry.name')
+ read_of_wc_bmap_t(reader, 1, subtree, 'of10.table_stats_entry.wildcards')
+ read_uint32_t(reader, 1, subtree, 'of10.table_stats_entry.max_entries')
+ read_uint32_t(reader, 1, subtree, 'of10.table_stats_entry.active_count')
+ read_uint64_t(reader, 1, subtree, 'of10.table_stats_entry.lookup_count')
+ read_uint64_t(reader, 1, subtree, 'of10.table_stats_entry.matched_count')
+ return 'of_table_stats_entry'
+end
+-- child class of_table_stats_reply
+-- Child of of_stats_reply
+function dissect_of_table_stats_reply_v1(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 1, subtree, 'of10.table_stats_reply.version')
+ read_uint8_t(reader, 1, subtree, 'of10.table_stats_reply.type')
+ read_uint16_t(reader, 1, subtree, 'of10.table_stats_reply.length')
+ read_uint32_t(reader, 1, subtree, 'of10.table_stats_reply.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.table_stats_reply.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.table_stats_reply.flags')
+ read_list(reader, dissect_of_table_stats_entry_v1, subtree, 'of_table_stats_entry')
+ return 'of_table_stats_reply'
+end
+of_stats_reply_v1_dissectors[3] = dissect_of_table_stats_reply_v1
+
+-- child class of_table_stats_request
+-- Child of of_stats_request
+function dissect_of_table_stats_request_v1(reader, subtree)
+ read_uint8_t(reader, 1, subtree, 'of10.table_stats_request.version')
+ read_uint8_t(reader, 1, subtree, 'of10.table_stats_request.type')
+ read_uint16_t(reader, 1, subtree, 'of10.table_stats_request.length')
+ read_uint32_t(reader, 1, subtree, 'of10.table_stats_request.xid')
+ read_uint16_t(reader, 1, subtree, 'of10.table_stats_request.stats_type')
+ read_uint16_t(reader, 1, subtree, 'of10.table_stats_request.flags')
+ return 'of_table_stats_request'
+end
+of_stats_request_v1_dissectors[3] = dissect_of_table_stats_request_v1
+
+-- virtual top-level class of_action
+-- Discriminator is type
+function dissect_of_action_v2(reader, subtree)
+ return of_action_v2_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- virtual child class of_action_experimenter
+-- Child of of_action
+-- Discriminator is experimenter
+function dissect_of_action_experimenter_v2(reader, subtree)
+ return of_action_experimenter_v2_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_action_v2_dissectors[65535] = dissect_of_action_experimenter_v2
+
+-- virtual child class of_action_bsn
+-- Child of of_action_experimenter
+-- Discriminator is subtype
+function dissect_of_action_bsn_v2(reader, subtree)
+ return of_action_bsn_v2_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_action_experimenter_v2_dissectors[6035143] = dissect_of_action_bsn_v2
+
+-- child class of_action_bsn_checksum
+-- Child of of_action_bsn
+function dissect_of_action_bsn_checksum_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_bsn_checksum.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_bsn_checksum.len')
+ read_uint32_t(reader, 2, subtree, 'of11.action_bsn_checksum.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.action_bsn_checksum.subtype')
+ read_of_checksum_128_t(reader, 2, subtree, 'of11.action_bsn_checksum.checksum')
+ return 'of_action_bsn_checksum'
+end
+of_action_bsn_v2_dissectors[4] = dissect_of_action_bsn_checksum_v2
+
+-- child class of_action_bsn_mirror
+-- Child of of_action_bsn
+function dissect_of_action_bsn_mirror_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_bsn_mirror.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_bsn_mirror.len')
+ read_uint32_t(reader, 2, subtree, 'of11.action_bsn_mirror.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.action_bsn_mirror.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.action_bsn_mirror.dest_port')
+ read_uint32_t(reader, 2, subtree, 'of11.action_bsn_mirror.vlan_tag')
+ read_uint8_t(reader, 2, subtree, 'of11.action_bsn_mirror.copy_stage')
+ reader.skip(3)
+ return 'of_action_bsn_mirror'
+end
+of_action_bsn_v2_dissectors[1] = dissect_of_action_bsn_mirror_v2
+
+-- child class of_action_bsn_set_tunnel_dst
+-- Child of of_action_bsn
+function dissect_of_action_bsn_set_tunnel_dst_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_bsn_set_tunnel_dst.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_bsn_set_tunnel_dst.len')
+ read_uint32_t(reader, 2, subtree, 'of11.action_bsn_set_tunnel_dst.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.action_bsn_set_tunnel_dst.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.action_bsn_set_tunnel_dst.dst')
+ return 'of_action_bsn_set_tunnel_dst'
+end
+of_action_bsn_v2_dissectors[2] = dissect_of_action_bsn_set_tunnel_dst_v2
+
+-- child class of_action_copy_ttl_in
+-- Child of of_action
+function dissect_of_action_copy_ttl_in_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_copy_ttl_in.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_copy_ttl_in.len')
+ reader.skip(4)
+ return 'of_action_copy_ttl_in'
+end
+of_action_v2_dissectors[12] = dissect_of_action_copy_ttl_in_v2
+
+-- child class of_action_copy_ttl_out
+-- Child of of_action
+function dissect_of_action_copy_ttl_out_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_copy_ttl_out.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_copy_ttl_out.len')
+ reader.skip(4)
+ return 'of_action_copy_ttl_out'
+end
+of_action_v2_dissectors[11] = dissect_of_action_copy_ttl_out_v2
+
+-- child class of_action_dec_mpls_ttl
+-- Child of of_action
+function dissect_of_action_dec_mpls_ttl_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_dec_mpls_ttl.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_dec_mpls_ttl.len')
+ reader.skip(4)
+ return 'of_action_dec_mpls_ttl'
+end
+of_action_v2_dissectors[16] = dissect_of_action_dec_mpls_ttl_v2
+
+-- child class of_action_dec_nw_ttl
+-- Child of of_action
+function dissect_of_action_dec_nw_ttl_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_dec_nw_ttl.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_dec_nw_ttl.len')
+ reader.skip(4)
+ return 'of_action_dec_nw_ttl'
+end
+of_action_v2_dissectors[24] = dissect_of_action_dec_nw_ttl_v2
+
+-- child class of_action_group
+-- Child of of_action
+function dissect_of_action_group_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_group.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_group.len')
+ read_uint32_t(reader, 2, subtree, 'of11.action_group.group_id')
+ return 'of_action_group'
+end
+of_action_v2_dissectors[22] = dissect_of_action_group_v2
+
+-- virtual child class of_action_nicira
+-- Child of of_action_experimenter
+-- Discriminator is subtype
+function dissect_of_action_nicira_v2(reader, subtree)
+ return of_action_nicira_v2_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_action_experimenter_v2_dissectors[8992] = dissect_of_action_nicira_v2
+
+-- child class of_action_nicira_dec_ttl
+-- Child of of_action_nicira
+function dissect_of_action_nicira_dec_ttl_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_nicira_dec_ttl.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_nicira_dec_ttl.len')
+ read_uint32_t(reader, 2, subtree, 'of11.action_nicira_dec_ttl.experimenter')
+ read_uint16_t(reader, 2, subtree, 'of11.action_nicira_dec_ttl.subtype')
+ reader.skip(2)
+ reader.skip(4)
+ return 'of_action_nicira_dec_ttl'
+end
+of_action_nicira_v2_dissectors[18] = dissect_of_action_nicira_dec_ttl_v2
+
+-- child class of_action_output
+-- Child of of_action
+function dissect_of_action_output_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_output.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_output.len')
+ read_of_port_no_t(reader, 2, subtree, 'of11.action_output.port')
+ read_uint16_t(reader, 2, subtree, 'of11.action_output.max_len')
+ reader.skip(6)
+ return 'of_action_output'
+end
+of_action_v2_dissectors[0] = dissect_of_action_output_v2
+
+-- child class of_action_pop_mpls
+-- Child of of_action
+function dissect_of_action_pop_mpls_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_pop_mpls.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_pop_mpls.len')
+ read_uint16_t(reader, 2, subtree, 'of11.action_pop_mpls.ethertype')
+ reader.skip(2)
+ return 'of_action_pop_mpls'
+end
+of_action_v2_dissectors[20] = dissect_of_action_pop_mpls_v2
+
+-- child class of_action_pop_vlan
+-- Child of of_action
+function dissect_of_action_pop_vlan_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_pop_vlan.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_pop_vlan.len')
+ reader.skip(4)
+ return 'of_action_pop_vlan'
+end
+of_action_v2_dissectors[18] = dissect_of_action_pop_vlan_v2
+
+-- child class of_action_push_mpls
+-- Child of of_action
+function dissect_of_action_push_mpls_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_push_mpls.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_push_mpls.len')
+ read_uint16_t(reader, 2, subtree, 'of11.action_push_mpls.ethertype')
+ reader.skip(2)
+ return 'of_action_push_mpls'
+end
+of_action_v2_dissectors[19] = dissect_of_action_push_mpls_v2
+
+-- child class of_action_push_vlan
+-- Child of of_action
+function dissect_of_action_push_vlan_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_push_vlan.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_push_vlan.len')
+ read_uint16_t(reader, 2, subtree, 'of11.action_push_vlan.ethertype')
+ reader.skip(2)
+ return 'of_action_push_vlan'
+end
+of_action_v2_dissectors[17] = dissect_of_action_push_vlan_v2
+
+-- child class of_action_set_dl_dst
+-- Child of of_action
+function dissect_of_action_set_dl_dst_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_dl_dst.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_dl_dst.len')
+ read_of_mac_addr_t(reader, 2, subtree, 'of11.action_set_dl_dst.dl_addr')
+ reader.skip(6)
+ return 'of_action_set_dl_dst'
+end
+of_action_v2_dissectors[4] = dissect_of_action_set_dl_dst_v2
+
+-- child class of_action_set_dl_src
+-- Child of of_action
+function dissect_of_action_set_dl_src_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_dl_src.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_dl_src.len')
+ read_of_mac_addr_t(reader, 2, subtree, 'of11.action_set_dl_src.dl_addr')
+ reader.skip(6)
+ return 'of_action_set_dl_src'
+end
+of_action_v2_dissectors[3] = dissect_of_action_set_dl_src_v2
+
+-- child class of_action_set_mpls_label
+-- Child of of_action
+function dissect_of_action_set_mpls_label_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_mpls_label.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_mpls_label.len')
+ read_uint32_t(reader, 2, subtree, 'of11.action_set_mpls_label.mpls_label')
+ return 'of_action_set_mpls_label'
+end
+of_action_v2_dissectors[13] = dissect_of_action_set_mpls_label_v2
+
+-- child class of_action_set_mpls_tc
+-- Child of of_action
+function dissect_of_action_set_mpls_tc_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_mpls_tc.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_mpls_tc.len')
+ read_uint8_t(reader, 2, subtree, 'of11.action_set_mpls_tc.mpls_tc')
+ reader.skip(3)
+ return 'of_action_set_mpls_tc'
+end
+of_action_v2_dissectors[14] = dissect_of_action_set_mpls_tc_v2
+
+-- child class of_action_set_mpls_ttl
+-- Child of of_action
+function dissect_of_action_set_mpls_ttl_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_mpls_ttl.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_mpls_ttl.len')
+ read_uint8_t(reader, 2, subtree, 'of11.action_set_mpls_ttl.mpls_ttl')
+ reader.skip(3)
+ return 'of_action_set_mpls_ttl'
+end
+of_action_v2_dissectors[15] = dissect_of_action_set_mpls_ttl_v2
+
+-- child class of_action_set_nw_dst
+-- Child of of_action
+function dissect_of_action_set_nw_dst_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_nw_dst.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_nw_dst.len')
+ read_uint32_t(reader, 2, subtree, 'of11.action_set_nw_dst.nw_addr')
+ return 'of_action_set_nw_dst'
+end
+of_action_v2_dissectors[6] = dissect_of_action_set_nw_dst_v2
+
+-- child class of_action_set_nw_ecn
+-- Child of of_action
+function dissect_of_action_set_nw_ecn_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_nw_ecn.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_nw_ecn.len')
+ read_uint8_t(reader, 2, subtree, 'of11.action_set_nw_ecn.nw_ecn')
+ reader.skip(3)
+ return 'of_action_set_nw_ecn'
+end
+of_action_v2_dissectors[8] = dissect_of_action_set_nw_ecn_v2
+
+-- child class of_action_set_nw_src
+-- Child of of_action
+function dissect_of_action_set_nw_src_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_nw_src.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_nw_src.len')
+ read_uint32_t(reader, 2, subtree, 'of11.action_set_nw_src.nw_addr')
+ return 'of_action_set_nw_src'
+end
+of_action_v2_dissectors[5] = dissect_of_action_set_nw_src_v2
+
+-- child class of_action_set_nw_tos
+-- Child of of_action
+function dissect_of_action_set_nw_tos_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_nw_tos.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_nw_tos.len')
+ read_uint8_t(reader, 2, subtree, 'of11.action_set_nw_tos.nw_tos')
+ reader.skip(3)
+ return 'of_action_set_nw_tos'
+end
+of_action_v2_dissectors[7] = dissect_of_action_set_nw_tos_v2
+
+-- child class of_action_set_nw_ttl
+-- Child of of_action
+function dissect_of_action_set_nw_ttl_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_nw_ttl.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_nw_ttl.len')
+ read_uint8_t(reader, 2, subtree, 'of11.action_set_nw_ttl.nw_ttl')
+ reader.skip(3)
+ return 'of_action_set_nw_ttl'
+end
+of_action_v2_dissectors[23] = dissect_of_action_set_nw_ttl_v2
+
+-- child class of_action_set_queue
+-- Child of of_action
+function dissect_of_action_set_queue_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_queue.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_queue.len')
+ read_uint32_t(reader, 2, subtree, 'of11.action_set_queue.queue_id')
+ return 'of_action_set_queue'
+end
+of_action_v2_dissectors[21] = dissect_of_action_set_queue_v2
+
+-- child class of_action_set_tp_dst
+-- Child of of_action
+function dissect_of_action_set_tp_dst_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_tp_dst.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_tp_dst.len')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_tp_dst.tp_port')
+ reader.skip(2)
+ return 'of_action_set_tp_dst'
+end
+of_action_v2_dissectors[10] = dissect_of_action_set_tp_dst_v2
+
+-- child class of_action_set_tp_src
+-- Child of of_action
+function dissect_of_action_set_tp_src_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_tp_src.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_tp_src.len')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_tp_src.tp_port')
+ reader.skip(2)
+ return 'of_action_set_tp_src'
+end
+of_action_v2_dissectors[9] = dissect_of_action_set_tp_src_v2
+
+-- child class of_action_set_vlan_pcp
+-- Child of of_action
+function dissect_of_action_set_vlan_pcp_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_vlan_pcp.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_vlan_pcp.len')
+ read_uint8_t(reader, 2, subtree, 'of11.action_set_vlan_pcp.vlan_pcp')
+ reader.skip(3)
+ return 'of_action_set_vlan_pcp'
+end
+of_action_v2_dissectors[2] = dissect_of_action_set_vlan_pcp_v2
+
+-- child class of_action_set_vlan_vid
+-- Child of of_action
+function dissect_of_action_set_vlan_vid_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_vlan_vid.type')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_vlan_vid.len')
+ read_uint16_t(reader, 2, subtree, 'of11.action_set_vlan_vid.vlan_vid')
+ reader.skip(2)
+ return 'of_action_set_vlan_vid'
+end
+of_action_v2_dissectors[1] = dissect_of_action_set_vlan_vid_v2
+
+-- virtual top-level class of_header
+-- Discriminator is type
+function dissect_of_header_v2(reader, subtree)
+ return of_header_v2_dissectors[reader.peek(1,1):uint()](reader, subtree)
+end
+-- virtual child class of_stats_reply
+-- Child of of_header
+-- Discriminator is stats_type
+function dissect_of_stats_reply_v2(reader, subtree)
+ return of_stats_reply_v2_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v2_dissectors[19] = dissect_of_stats_reply_v2
+
+-- child class of_aggregate_stats_reply
+-- Child of of_stats_reply
+function dissect_of_aggregate_stats_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.aggregate_stats_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.aggregate_stats_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.aggregate_stats_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.aggregate_stats_reply.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.aggregate_stats_reply.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.aggregate_stats_reply.flags')
+ reader.skip(4)
+ read_uint64_t(reader, 2, subtree, 'of11.aggregate_stats_reply.packet_count')
+ read_uint64_t(reader, 2, subtree, 'of11.aggregate_stats_reply.byte_count')
+ read_uint32_t(reader, 2, subtree, 'of11.aggregate_stats_reply.flow_count')
+ reader.skip(4)
+ return 'of_aggregate_stats_reply'
+end
+of_stats_reply_v2_dissectors[2] = dissect_of_aggregate_stats_reply_v2
+
+-- virtual child class of_stats_request
+-- Child of of_header
+-- Discriminator is stats_type
+function dissect_of_stats_request_v2(reader, subtree)
+ return of_stats_request_v2_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v2_dissectors[18] = dissect_of_stats_request_v2
+
+-- child class of_aggregate_stats_request
+-- Child of of_stats_request
+function dissect_of_aggregate_stats_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.aggregate_stats_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.aggregate_stats_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.aggregate_stats_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.aggregate_stats_request.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.aggregate_stats_request.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.aggregate_stats_request.flags')
+ reader.skip(4)
+ read_uint8_t(reader, 2, subtree, 'of11.aggregate_stats_request.table_id')
+ reader.skip(3)
+ read_of_port_no_t(reader, 2, subtree, 'of11.aggregate_stats_request.out_port')
+ read_uint32_t(reader, 2, subtree, 'of11.aggregate_stats_request.out_group')
+ reader.skip(4)
+ read_uint64_t(reader, 2, subtree, 'of11.aggregate_stats_request.cookie')
+ read_uint64_t(reader, 2, subtree, 'of11.aggregate_stats_request.cookie_mask')
+ read_of_match_t(reader, 2, subtree, 'of11.aggregate_stats_request.match')
+ return 'of_aggregate_stats_request'
+end
+of_stats_request_v2_dissectors[2] = dissect_of_aggregate_stats_request_v2
+
+-- virtual child class of_error_msg
+-- Child of of_header
+-- Discriminator is err_type
+function dissect_of_error_msg_v2(reader, subtree)
+ return of_error_msg_v2_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v2_dissectors[1] = dissect_of_error_msg_v2
+
+-- child class of_bad_action_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_action_error_msg_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.bad_action_error_msg.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bad_action_error_msg.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_action_error_msg.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bad_action_error_msg.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_action_error_msg.err_type')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_action_error_msg.code')
+ read_openflow(reader, 2, subtree, 'of11.bad_action_error_msg.data')
+ return 'of_bad_action_error_msg'
+end
+of_error_msg_v2_dissectors[2] = dissect_of_bad_action_error_msg_v2
+
+-- child class of_bad_instruction_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_instruction_error_msg_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.bad_instruction_error_msg.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bad_instruction_error_msg.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_instruction_error_msg.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bad_instruction_error_msg.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_instruction_error_msg.err_type')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_instruction_error_msg.code')
+ read_openflow(reader, 2, subtree, 'of11.bad_instruction_error_msg.data')
+ return 'of_bad_instruction_error_msg'
+end
+of_error_msg_v2_dissectors[3] = dissect_of_bad_instruction_error_msg_v2
+
+-- child class of_bad_match_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_match_error_msg_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.bad_match_error_msg.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bad_match_error_msg.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_match_error_msg.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bad_match_error_msg.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_match_error_msg.err_type')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_match_error_msg.code')
+ read_openflow(reader, 2, subtree, 'of11.bad_match_error_msg.data')
+ return 'of_bad_match_error_msg'
+end
+of_error_msg_v2_dissectors[4] = dissect_of_bad_match_error_msg_v2
+
+-- child class of_bad_request_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_request_error_msg_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.bad_request_error_msg.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bad_request_error_msg.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_request_error_msg.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bad_request_error_msg.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_request_error_msg.err_type')
+ read_uint16_t(reader, 2, subtree, 'of11.bad_request_error_msg.code')
+ read_openflow(reader, 2, subtree, 'of11.bad_request_error_msg.data')
+ return 'of_bad_request_error_msg'
+end
+of_error_msg_v2_dissectors[1] = dissect_of_bad_request_error_msg_v2
+
+-- child class of_barrier_reply
+-- Child of of_header
+function dissect_of_barrier_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.barrier_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.barrier_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.barrier_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.barrier_reply.xid')
+ return 'of_barrier_reply'
+end
+of_header_v2_dissectors[21] = dissect_of_barrier_reply_v2
+
+-- child class of_barrier_request
+-- Child of of_header
+function dissect_of_barrier_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.barrier_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.barrier_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.barrier_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.barrier_request.xid')
+ return 'of_barrier_request'
+end
+of_header_v2_dissectors[20] = dissect_of_barrier_request_v2
+
+-- virtual child class of_experimenter
+-- Child of of_header
+-- Discriminator is experimenter
+function dissect_of_experimenter_v2(reader, subtree)
+ return of_experimenter_v2_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_header_v2_dissectors[4] = dissect_of_experimenter_v2
+
+-- virtual child class of_bsn_header
+-- Child of of_experimenter
+-- Discriminator is subtype
+function dissect_of_bsn_header_v2(reader, subtree)
+ return of_bsn_header_v2_dissectors[reader.peek(12,4):uint()](reader, subtree)
+end
+of_experimenter_v2_dissectors[6035143] = dissect_of_bsn_header_v2
+
+-- child class of_bsn_bw_clear_data_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_clear_data_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_reply.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_reply.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_reply.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_reply.status')
+ return 'of_bsn_bw_clear_data_reply'
+end
+of_bsn_header_v2_dissectors[22] = dissect_of_bsn_bw_clear_data_reply_v2
+
+-- child class of_bsn_bw_clear_data_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_clear_data_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_request.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_request.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_clear_data_request.subtype')
+ return 'of_bsn_bw_clear_data_request'
+end
+of_bsn_header_v2_dissectors[21] = dissect_of_bsn_bw_clear_data_request_v2
+
+-- child class of_bsn_bw_enable_get_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_get_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_reply.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_reply.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_reply.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_reply.enabled')
+ return 'of_bsn_bw_enable_get_reply'
+end
+of_bsn_header_v2_dissectors[20] = dissect_of_bsn_bw_enable_get_reply_v2
+
+-- child class of_bsn_bw_enable_get_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_get_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_request.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_request.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_get_request.subtype')
+ return 'of_bsn_bw_enable_get_request'
+end
+of_bsn_header_v2_dissectors[19] = dissect_of_bsn_bw_enable_get_request_v2
+
+-- child class of_bsn_bw_enable_set_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_set_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_reply.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_reply.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_reply.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_reply.enable')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_reply.status')
+ return 'of_bsn_bw_enable_set_reply'
+end
+of_bsn_header_v2_dissectors[23] = dissect_of_bsn_bw_enable_set_reply_v2
+
+-- child class of_bsn_bw_enable_set_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_set_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_request.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_request.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_request.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_bw_enable_set_request.enable')
+ return 'of_bsn_bw_enable_set_request'
+end
+of_bsn_header_v2_dissectors[18] = dissect_of_bsn_bw_enable_set_request_v2
+
+-- child class of_bsn_get_interfaces_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_interfaces_reply_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_get_interfaces_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_get_interfaces_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_get_interfaces_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_interfaces_reply.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_interfaces_reply.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_interfaces_reply.subtype')
+ read_list(reader, dissect_of_bsn_interface_v2, subtree, 'of_bsn_interface')
+ return 'of_bsn_get_interfaces_reply'
+end
+of_bsn_header_v2_dissectors[10] = dissect_of_bsn_get_interfaces_reply_v2
+
+-- child class of_bsn_get_interfaces_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_interfaces_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_get_interfaces_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_get_interfaces_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_get_interfaces_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_interfaces_request.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_interfaces_request.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_interfaces_request.subtype')
+ return 'of_bsn_get_interfaces_request'
+end
+of_bsn_header_v2_dissectors[9] = dissect_of_bsn_get_interfaces_request_v2
+
+-- child class of_bsn_get_mirroring_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_mirroring_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_get_mirroring_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_get_mirroring_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_get_mirroring_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_mirroring_reply.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_mirroring_reply.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_mirroring_reply.subtype')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_get_mirroring_reply.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_get_mirroring_reply'
+end
+of_bsn_header_v2_dissectors[5] = dissect_of_bsn_get_mirroring_reply_v2
+
+-- child class of_bsn_get_mirroring_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_mirroring_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_get_mirroring_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_get_mirroring_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_get_mirroring_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_mirroring_request.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_mirroring_request.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_get_mirroring_request.subtype')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_get_mirroring_request.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_get_mirroring_request'
+end
+of_bsn_header_v2_dissectors[4] = dissect_of_bsn_get_mirroring_request_v2
+
+-- top-level class of_bsn_interface
+function dissect_of_bsn_interface_v2(reader, subtree)
+ read_of_mac_addr_t(reader, 2, subtree, 'of11.bsn_interface.hw_addr')
+ reader.skip(2)
+ read_of_port_name_t(reader, 2, subtree, 'of11.bsn_interface.name')
+ read_of_ipv4_t(reader, 2, subtree, 'of11.bsn_interface.ipv4_addr')
+ read_of_ipv4_t(reader, 2, subtree, 'of11.bsn_interface.ipv4_netmask')
+ return 'of_bsn_interface'
+end
+-- child class of_bsn_pdu_rx_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_rx_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_rx_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_pdu_rx_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_rx_reply.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_rx_reply.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_rx_reply.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_rx_reply.status')
+ read_of_port_no_t(reader, 2, subtree, 'of11.bsn_pdu_rx_reply.port_no')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_rx_reply.slot_num')
+ return 'of_bsn_pdu_rx_reply'
+end
+of_bsn_header_v2_dissectors[34] = dissect_of_bsn_pdu_rx_reply_v2
+
+-- child class of_bsn_pdu_rx_request
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_request_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_rx_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_rx_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_pdu_rx_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_rx_request.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_rx_request.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_rx_request.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_rx_request.timeout_ms')
+ read_of_port_no_t(reader, 2, subtree, 'of11.bsn_pdu_rx_request.port_no')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_rx_request.slot_num')
+ reader.skip(3)
+ read_ethernet(reader, 2, subtree, 'of11.bsn_pdu_rx_request.data')
+ return 'of_bsn_pdu_rx_request'
+end
+of_bsn_header_v2_dissectors[33] = dissect_of_bsn_pdu_rx_request_v2
+
+-- child class of_bsn_pdu_rx_timeout
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_timeout_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_rx_timeout.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_rx_timeout.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_pdu_rx_timeout.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_rx_timeout.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_rx_timeout.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_rx_timeout.subtype')
+ read_of_port_no_t(reader, 2, subtree, 'of11.bsn_pdu_rx_timeout.port_no')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_rx_timeout.slot_num')
+ return 'of_bsn_pdu_rx_timeout'
+end
+of_bsn_header_v2_dissectors[35] = dissect_of_bsn_pdu_rx_timeout_v2
+
+-- child class of_bsn_pdu_tx_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_tx_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_tx_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_tx_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_pdu_tx_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_tx_reply.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_tx_reply.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_tx_reply.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_tx_reply.status')
+ read_of_port_no_t(reader, 2, subtree, 'of11.bsn_pdu_tx_reply.port_no')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_tx_reply.slot_num')
+ return 'of_bsn_pdu_tx_reply'
+end
+of_bsn_header_v2_dissectors[32] = dissect_of_bsn_pdu_tx_reply_v2
+
+-- child class of_bsn_pdu_tx_request
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_tx_request_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_tx_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_tx_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_pdu_tx_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_tx_request.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_tx_request.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_tx_request.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_pdu_tx_request.tx_interval_ms')
+ read_of_port_no_t(reader, 2, subtree, 'of11.bsn_pdu_tx_request.port_no')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_pdu_tx_request.slot_num')
+ reader.skip(3)
+ read_ethernet(reader, 2, subtree, 'of11.bsn_pdu_tx_request.data')
+ return 'of_bsn_pdu_tx_request'
+end
+of_bsn_header_v2_dissectors[31] = dissect_of_bsn_pdu_tx_request_v2
+
+-- child class of_bsn_set_mirroring
+-- Child of of_bsn_header
+function dissect_of_bsn_set_mirroring_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_set_mirroring.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_set_mirroring.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_set_mirroring.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_set_mirroring.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_set_mirroring.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_set_mirroring.subtype')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_set_mirroring.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_set_mirroring'
+end
+of_bsn_header_v2_dissectors[3] = dissect_of_bsn_set_mirroring_v2
+
+-- child class of_bsn_set_pktin_suppression_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_set_pktin_suppression_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_reply.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_reply.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_reply.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_reply.status')
+ return 'of_bsn_set_pktin_suppression_reply'
+end
+of_bsn_header_v2_dissectors[25] = dissect_of_bsn_set_pktin_suppression_reply_v2
+
+-- child class of_bsn_set_pktin_suppression_request
+-- Child of of_bsn_header
+function dissect_of_bsn_set_pktin_suppression_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_request.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_request.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_request.subtype')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_request.enabled')
+ reader.skip(1)
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_request.idle_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_request.hard_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_request.priority')
+ read_uint64_t(reader, 2, subtree, 'of11.bsn_set_pktin_suppression_request.cookie')
+ return 'of_bsn_set_pktin_suppression_request'
+end
+of_bsn_header_v2_dissectors[11] = dissect_of_bsn_set_pktin_suppression_request_v2
+
+-- virtual child class of_experimenter_stats_reply
+-- Child of of_stats_reply
+-- Discriminator is experimenter
+function dissect_of_experimenter_stats_reply_v2(reader, subtree)
+ return of_experimenter_stats_reply_v2_dissectors[reader.peek(16,4):uint()](reader, subtree)
+end
+of_stats_reply_v2_dissectors[65535] = dissect_of_experimenter_stats_reply_v2
+
+-- virtual child class of_bsn_stats_reply
+-- Child of of_experimenter_stats_reply
+-- Discriminator is subtype
+function dissect_of_bsn_stats_reply_v2(reader, subtree)
+ return of_bsn_stats_reply_v2_dissectors[reader.peek(20,4):uint()](reader, subtree)
+end
+of_experimenter_stats_reply_v2_dissectors[6035143] = dissect_of_bsn_stats_reply_v2
+
+-- virtual child class of_experimenter_stats_request
+-- Child of of_stats_request
+-- Discriminator is experimenter
+function dissect_of_experimenter_stats_request_v2(reader, subtree)
+ return of_experimenter_stats_request_v2_dissectors[reader.peek(16,4):uint()](reader, subtree)
+end
+of_stats_request_v2_dissectors[65535] = dissect_of_experimenter_stats_request_v2
+
+-- virtual child class of_bsn_stats_request
+-- Child of of_experimenter_stats_request
+-- Discriminator is subtype
+function dissect_of_bsn_stats_request_v2(reader, subtree)
+ return of_bsn_stats_request_v2_dissectors[reader.peek(20,4):uint()](reader, subtree)
+end
+of_experimenter_stats_request_v2_dissectors[6035143] = dissect_of_bsn_stats_request_v2
+
+-- child class of_bsn_virtual_port_create_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_create_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_reply.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_reply.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_reply.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_reply.status')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_reply.vport_no')
+ return 'of_bsn_virtual_port_create_reply'
+end
+of_bsn_header_v2_dissectors[16] = dissect_of_bsn_virtual_port_create_reply_v2
+
+-- virtual top-level class of_bsn_vport
+-- Discriminator is type
+function dissect_of_bsn_vport_v2(reader, subtree)
+ return of_bsn_vport_v2_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_bsn_virtual_port_create_request
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_create_request_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_request.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_request.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_request.subtype')
+ read_of_bsn_vport_t(reader, 2, subtree, 'of11.bsn_virtual_port_create_request.vport')
+ return 'of_bsn_virtual_port_create_request'
+end
+of_bsn_header_v2_dissectors[15] = dissect_of_bsn_virtual_port_create_request_v2
+
+-- child class of_bsn_virtual_port_remove_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_remove_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_reply.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_reply.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_reply.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_reply.status')
+ return 'of_bsn_virtual_port_remove_reply'
+end
+of_bsn_header_v2_dissectors[26] = dissect_of_bsn_virtual_port_remove_reply_v2
+
+-- child class of_bsn_virtual_port_remove_request
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_remove_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_request.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_request.experimenter')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_request.subtype')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_virtual_port_remove_request.vport_no')
+ return 'of_bsn_virtual_port_remove_request'
+end
+of_bsn_header_v2_dissectors[17] = dissect_of_bsn_virtual_port_remove_request_v2
+
+-- child class of_bsn_vport_l2gre
+-- Child of of_bsn_vport
+function dissect_of_bsn_vport_l2gre_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.flags')
+ read_of_port_no_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.port_no')
+ read_of_port_no_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.loopback_port_no')
+ read_of_mac_addr_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.local_mac')
+ read_of_mac_addr_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.nh_mac')
+ read_of_ipv4_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.src_ip')
+ read_of_ipv4_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.dst_ip')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.dscp')
+ read_uint8_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.ttl')
+ reader.skip(2)
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.vpn')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.rate_limit')
+ read_of_port_name_t(reader, 2, subtree, 'of11.bsn_vport_l2gre.if_name')
+ return 'of_bsn_vport_l2gre'
+end
+of_bsn_vport_v2_dissectors[1] = dissect_of_bsn_vport_l2gre_v2
+
+-- child class of_bsn_vport_q_in_q
+-- Child of of_bsn_vport
+function dissect_of_bsn_vport_q_in_q_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_vport_q_in_q.type')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_vport_q_in_q.length')
+ read_uint32_t(reader, 2, subtree, 'of11.bsn_vport_q_in_q.port_no')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_vport_q_in_q.ingress_tpid')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_vport_q_in_q.ingress_vlan_id')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_vport_q_in_q.egress_tpid')
+ read_uint16_t(reader, 2, subtree, 'of11.bsn_vport_q_in_q.egress_vlan_id')
+ read_of_port_name_t(reader, 2, subtree, 'of11.bsn_vport_q_in_q.if_name')
+ return 'of_bsn_vport_q_in_q'
+end
+of_bsn_vport_v2_dissectors[0] = dissect_of_bsn_vport_q_in_q_v2
+
+-- top-level class of_bucket
+function dissect_of_bucket_v2(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 2, subtree, 'of11.bucket.len')
+ read_uint16_t(reader, 2, subtree, 'of11.bucket.weight')
+ read_of_port_no_t(reader, 2, subtree, 'of11.bucket.watch_port')
+ read_uint32_t(reader, 2, subtree, 'of11.bucket.watch_group')
+ reader.skip(4)
+ read_list(reader, dissect_of_action_v2, subtree, 'of_action')
+ return 'of_bucket'
+end
+-- top-level class of_bucket_counter
+function dissect_of_bucket_counter_v2(reader, subtree)
+ read_uint64_t(reader, 2, subtree, 'of11.bucket_counter.packet_count')
+ read_uint64_t(reader, 2, subtree, 'of11.bucket_counter.byte_count')
+ return 'of_bucket_counter'
+end
+-- child class of_desc_stats_reply
+-- Child of of_stats_reply
+function dissect_of_desc_stats_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.desc_stats_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.desc_stats_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.desc_stats_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.desc_stats_reply.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.desc_stats_reply.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.desc_stats_reply.flags')
+ reader.skip(4)
+ read_of_desc_str_t(reader, 2, subtree, 'of11.desc_stats_reply.mfr_desc')
+ read_of_desc_str_t(reader, 2, subtree, 'of11.desc_stats_reply.hw_desc')
+ read_of_desc_str_t(reader, 2, subtree, 'of11.desc_stats_reply.sw_desc')
+ read_of_serial_num_t(reader, 2, subtree, 'of11.desc_stats_reply.serial_num')
+ read_of_desc_str_t(reader, 2, subtree, 'of11.desc_stats_reply.dp_desc')
+ return 'of_desc_stats_reply'
+end
+of_stats_reply_v2_dissectors[0] = dissect_of_desc_stats_reply_v2
+
+-- child class of_desc_stats_request
+-- Child of of_stats_request
+function dissect_of_desc_stats_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.desc_stats_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.desc_stats_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.desc_stats_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.desc_stats_request.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.desc_stats_request.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.desc_stats_request.flags')
+ reader.skip(4)
+ return 'of_desc_stats_request'
+end
+of_stats_request_v2_dissectors[0] = dissect_of_desc_stats_request_v2
+
+-- child class of_echo_reply
+-- Child of of_header
+function dissect_of_echo_reply_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.echo_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.echo_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.echo_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.echo_reply.xid')
+ read_of_octets_t(reader, 2, subtree, 'of11.echo_reply.data')
+ return 'of_echo_reply'
+end
+of_header_v2_dissectors[3] = dissect_of_echo_reply_v2
+
+-- child class of_echo_request
+-- Child of of_header
+function dissect_of_echo_request_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.echo_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.echo_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.echo_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.echo_request.xid')
+ read_of_octets_t(reader, 2, subtree, 'of11.echo_request.data')
+ return 'of_echo_request'
+end
+of_header_v2_dissectors[2] = dissect_of_echo_request_v2
+
+-- child class of_features_reply
+-- Child of of_header
+function dissect_of_features_reply_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.features_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.features_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.features_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.features_reply.xid')
+ read_uint64_t(reader, 2, subtree, 'of11.features_reply.datapath_id')
+ read_uint32_t(reader, 2, subtree, 'of11.features_reply.n_buffers')
+ read_uint8_t(reader, 2, subtree, 'of11.features_reply.n_tables')
+ reader.skip(3)
+ read_uint32_t(reader, 2, subtree, 'of11.features_reply.capabilities')
+ read_uint32_t(reader, 2, subtree, 'of11.features_reply.reserved')
+ read_list(reader, dissect_of_port_desc_v2, subtree, 'of_port_desc')
+ return 'of_features_reply'
+end
+of_header_v2_dissectors[6] = dissect_of_features_reply_v2
+
+-- child class of_features_request
+-- Child of of_header
+function dissect_of_features_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.features_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.features_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.features_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.features_request.xid')
+ return 'of_features_request'
+end
+of_header_v2_dissectors[5] = dissect_of_features_request_v2
+
+-- virtual child class of_flow_mod
+-- Child of of_header
+-- Discriminator is _command
+function dissect_of_flow_mod_v2(reader, subtree)
+ return of_flow_mod_v2_dissectors[reader.peek(25,1):uint()](reader, subtree)
+end
+of_header_v2_dissectors[14] = dissect_of_flow_mod_v2
+
+-- child class of_flow_add
+-- Child of of_flow_mod
+function dissect_of_flow_add_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.flow_add.version')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_add.type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_add.length')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_add.xid')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_add.cookie')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_add.cookie_mask')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_add.table_id')
+ read_of_fm_cmd_t(reader, 2, subtree, 'of11.flow_add._command')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_add.idle_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_add.hard_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_add.priority')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_add.buffer_id')
+ read_of_port_no_t(reader, 2, subtree, 'of11.flow_add.out_port')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_add.out_group')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_add.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 2, subtree, 'of11.flow_add.match')
+ read_list(reader, dissect_of_instruction_v2, subtree, 'of_instruction')
+ return 'of_flow_add'
+end
+of_flow_mod_v2_dissectors[0] = dissect_of_flow_add_v2
+
+-- child class of_flow_delete
+-- Child of of_flow_mod
+function dissect_of_flow_delete_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.flow_delete.version')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_delete.type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_delete.length')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_delete.xid')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_delete.cookie')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_delete.cookie_mask')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_delete.table_id')
+ read_of_fm_cmd_t(reader, 2, subtree, 'of11.flow_delete._command')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_delete.idle_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_delete.hard_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_delete.priority')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_delete.buffer_id')
+ read_of_port_no_t(reader, 2, subtree, 'of11.flow_delete.out_port')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_delete.out_group')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_delete.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 2, subtree, 'of11.flow_delete.match')
+ read_list(reader, dissect_of_instruction_v2, subtree, 'of_instruction')
+ return 'of_flow_delete'
+end
+of_flow_mod_v2_dissectors[3] = dissect_of_flow_delete_v2
+
+-- child class of_flow_delete_strict
+-- Child of of_flow_mod
+function dissect_of_flow_delete_strict_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.flow_delete_strict.version')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_delete_strict.type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_delete_strict.length')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_delete_strict.xid')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_delete_strict.cookie')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_delete_strict.cookie_mask')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_delete_strict.table_id')
+ read_of_fm_cmd_t(reader, 2, subtree, 'of11.flow_delete_strict._command')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_delete_strict.idle_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_delete_strict.hard_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_delete_strict.priority')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_delete_strict.buffer_id')
+ read_of_port_no_t(reader, 2, subtree, 'of11.flow_delete_strict.out_port')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_delete_strict.out_group')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_delete_strict.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 2, subtree, 'of11.flow_delete_strict.match')
+ read_list(reader, dissect_of_instruction_v2, subtree, 'of_instruction')
+ return 'of_flow_delete_strict'
+end
+of_flow_mod_v2_dissectors[4] = dissect_of_flow_delete_strict_v2
+
+-- child class of_flow_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_flow_mod_failed_error_msg_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.flow_mod_failed_error_msg.version')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_mod_failed_error_msg.type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_mod_failed_error_msg.length')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_mod_failed_error_msg.code')
+ read_openflow(reader, 2, subtree, 'of11.flow_mod_failed_error_msg.data')
+ return 'of_flow_mod_failed_error_msg'
+end
+of_error_msg_v2_dissectors[5] = dissect_of_flow_mod_failed_error_msg_v2
+
+-- child class of_flow_modify
+-- Child of of_flow_mod
+function dissect_of_flow_modify_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.flow_modify.version')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_modify.type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_modify.length')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_modify.xid')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_modify.cookie')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_modify.cookie_mask')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_modify.table_id')
+ read_of_fm_cmd_t(reader, 2, subtree, 'of11.flow_modify._command')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_modify.idle_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_modify.hard_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_modify.priority')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_modify.buffer_id')
+ read_of_port_no_t(reader, 2, subtree, 'of11.flow_modify.out_port')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_modify.out_group')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_modify.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 2, subtree, 'of11.flow_modify.match')
+ read_list(reader, dissect_of_instruction_v2, subtree, 'of_instruction')
+ return 'of_flow_modify'
+end
+of_flow_mod_v2_dissectors[1] = dissect_of_flow_modify_v2
+
+-- child class of_flow_modify_strict
+-- Child of of_flow_mod
+function dissect_of_flow_modify_strict_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.flow_modify_strict.version')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_modify_strict.type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_modify_strict.length')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_modify_strict.xid')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_modify_strict.cookie')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_modify_strict.cookie_mask')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_modify_strict.table_id')
+ read_of_fm_cmd_t(reader, 2, subtree, 'of11.flow_modify_strict._command')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_modify_strict.idle_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_modify_strict.hard_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_modify_strict.priority')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_modify_strict.buffer_id')
+ read_of_port_no_t(reader, 2, subtree, 'of11.flow_modify_strict.out_port')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_modify_strict.out_group')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_modify_strict.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 2, subtree, 'of11.flow_modify_strict.match')
+ read_list(reader, dissect_of_instruction_v2, subtree, 'of_instruction')
+ return 'of_flow_modify_strict'
+end
+of_flow_mod_v2_dissectors[2] = dissect_of_flow_modify_strict_v2
+
+-- child class of_flow_removed
+-- Child of of_header
+function dissect_of_flow_removed_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.flow_removed.version')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_removed.type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_removed.length')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_removed.xid')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_removed.cookie')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_removed.priority')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_removed.reason')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_removed.table_id')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_removed.duration_sec')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_removed.duration_nsec')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_removed.idle_timeout')
+ reader.skip(2)
+ read_uint64_t(reader, 2, subtree, 'of11.flow_removed.packet_count')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_removed.byte_count')
+ read_of_match_t(reader, 2, subtree, 'of11.flow_removed.match')
+ return 'of_flow_removed'
+end
+of_header_v2_dissectors[11] = dissect_of_flow_removed_v2
+
+-- top-level class of_flow_stats_entry
+function dissect_of_flow_stats_entry_v2(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 2, subtree, 'of11.flow_stats_entry.length')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_stats_entry.table_id')
+ reader.skip(1)
+ read_uint32_t(reader, 2, subtree, 'of11.flow_stats_entry.duration_sec')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_stats_entry.duration_nsec')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_stats_entry.priority')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_stats_entry.idle_timeout')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_stats_entry.hard_timeout')
+ reader.skip(6)
+ read_uint64_t(reader, 2, subtree, 'of11.flow_stats_entry.cookie')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_stats_entry.packet_count')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_stats_entry.byte_count')
+ read_of_match_t(reader, 2, subtree, 'of11.flow_stats_entry.match')
+ read_list(reader, dissect_of_instruction_v2, subtree, 'of_instruction')
+ return 'of_flow_stats_entry'
+end
+-- child class of_flow_stats_reply
+-- Child of of_stats_reply
+function dissect_of_flow_stats_reply_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.flow_stats_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_stats_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_stats_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_stats_reply.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_stats_reply.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_flow_stats_entry_v2, subtree, 'of_flow_stats_entry')
+ return 'of_flow_stats_reply'
+end
+of_stats_reply_v2_dissectors[1] = dissect_of_flow_stats_reply_v2
+
+-- child class of_flow_stats_request
+-- Child of of_stats_request
+function dissect_of_flow_stats_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.flow_stats_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.flow_stats_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_stats_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_stats_request.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_stats_request.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.flow_stats_request.flags')
+ reader.skip(4)
+ read_uint8_t(reader, 2, subtree, 'of11.flow_stats_request.table_id')
+ reader.skip(3)
+ read_of_port_no_t(reader, 2, subtree, 'of11.flow_stats_request.out_port')
+ read_uint32_t(reader, 2, subtree, 'of11.flow_stats_request.out_group')
+ reader.skip(4)
+ read_uint64_t(reader, 2, subtree, 'of11.flow_stats_request.cookie')
+ read_uint64_t(reader, 2, subtree, 'of11.flow_stats_request.cookie_mask')
+ read_of_match_t(reader, 2, subtree, 'of11.flow_stats_request.match')
+ return 'of_flow_stats_request'
+end
+of_stats_request_v2_dissectors[1] = dissect_of_flow_stats_request_v2
+
+-- child class of_get_config_reply
+-- Child of of_header
+function dissect_of_get_config_reply_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.get_config_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.get_config_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.get_config_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.get_config_reply.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.get_config_reply.flags')
+ read_uint16_t(reader, 2, subtree, 'of11.get_config_reply.miss_send_len')
+ return 'of_get_config_reply'
+end
+of_header_v2_dissectors[8] = dissect_of_get_config_reply_v2
+
+-- child class of_get_config_request
+-- Child of of_header
+function dissect_of_get_config_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.get_config_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.get_config_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.get_config_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.get_config_request.xid')
+ return 'of_get_config_request'
+end
+of_header_v2_dissectors[7] = dissect_of_get_config_request_v2
+
+-- virtual child class of_group_mod
+-- Child of of_header
+-- Discriminator is command
+function dissect_of_group_mod_v2(reader, subtree)
+ return of_group_mod_v2_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v2_dissectors[15] = dissect_of_group_mod_v2
+
+-- child class of_group_add
+-- Child of of_group_mod
+function dissect_of_group_add_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.group_add.version')
+ read_uint8_t(reader, 2, subtree, 'of11.group_add.type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_add.length')
+ read_uint32_t(reader, 2, subtree, 'of11.group_add.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.group_add.command')
+ read_uint8_t(reader, 2, subtree, 'of11.group_add.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 2, subtree, 'of11.group_add.group_id')
+ read_list(reader, dissect_of_bucket_v2, subtree, 'of_bucket')
+ return 'of_group_add'
+end
+of_group_mod_v2_dissectors[0] = dissect_of_group_add_v2
+
+-- child class of_group_delete
+-- Child of of_group_mod
+function dissect_of_group_delete_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.group_delete.version')
+ read_uint8_t(reader, 2, subtree, 'of11.group_delete.type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_delete.length')
+ read_uint32_t(reader, 2, subtree, 'of11.group_delete.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.group_delete.command')
+ read_uint8_t(reader, 2, subtree, 'of11.group_delete.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 2, subtree, 'of11.group_delete.group_id')
+ read_list(reader, dissect_of_bucket_v2, subtree, 'of_bucket')
+ return 'of_group_delete'
+end
+of_group_mod_v2_dissectors[2] = dissect_of_group_delete_v2
+
+-- top-level class of_group_desc_stats_entry
+function dissect_of_group_desc_stats_entry_v2(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 2, subtree, 'of11.group_desc_stats_entry.length')
+ read_uint8_t(reader, 2, subtree, 'of11.group_desc_stats_entry.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 2, subtree, 'of11.group_desc_stats_entry.group_id')
+ read_list(reader, dissect_of_bucket_v2, subtree, 'of_bucket')
+ return 'of_group_desc_stats_entry'
+end
+-- child class of_group_desc_stats_reply
+-- Child of of_stats_reply
+function dissect_of_group_desc_stats_reply_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.group_desc_stats_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.group_desc_stats_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_desc_stats_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.group_desc_stats_reply.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.group_desc_stats_reply.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_desc_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_group_desc_stats_entry_v2, subtree, 'of_group_desc_stats_entry')
+ return 'of_group_desc_stats_reply'
+end
+of_stats_reply_v2_dissectors[7] = dissect_of_group_desc_stats_reply_v2
+
+-- child class of_group_desc_stats_request
+-- Child of of_stats_request
+function dissect_of_group_desc_stats_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.group_desc_stats_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.group_desc_stats_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_desc_stats_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.group_desc_stats_request.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.group_desc_stats_request.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_desc_stats_request.flags')
+ reader.skip(4)
+ return 'of_group_desc_stats_request'
+end
+of_stats_request_v2_dissectors[7] = dissect_of_group_desc_stats_request_v2
+
+-- child class of_group_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_group_mod_failed_error_msg_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.group_mod_failed_error_msg.version')
+ read_uint8_t(reader, 2, subtree, 'of11.group_mod_failed_error_msg.type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_mod_failed_error_msg.length')
+ read_uint32_t(reader, 2, subtree, 'of11.group_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.group_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_mod_failed_error_msg.code')
+ read_openflow(reader, 2, subtree, 'of11.group_mod_failed_error_msg.data')
+ return 'of_group_mod_failed_error_msg'
+end
+of_error_msg_v2_dissectors[6] = dissect_of_group_mod_failed_error_msg_v2
+
+-- child class of_group_modify
+-- Child of of_group_mod
+function dissect_of_group_modify_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.group_modify.version')
+ read_uint8_t(reader, 2, subtree, 'of11.group_modify.type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_modify.length')
+ read_uint32_t(reader, 2, subtree, 'of11.group_modify.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.group_modify.command')
+ read_uint8_t(reader, 2, subtree, 'of11.group_modify.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 2, subtree, 'of11.group_modify.group_id')
+ read_list(reader, dissect_of_bucket_v2, subtree, 'of_bucket')
+ return 'of_group_modify'
+end
+of_group_mod_v2_dissectors[1] = dissect_of_group_modify_v2
+
+-- top-level class of_group_stats_entry
+function dissect_of_group_stats_entry_v2(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 2, subtree, 'of11.group_stats_entry.length')
+ reader.skip(2)
+ read_uint32_t(reader, 2, subtree, 'of11.group_stats_entry.group_id')
+ read_uint32_t(reader, 2, subtree, 'of11.group_stats_entry.ref_count')
+ reader.skip(4)
+ read_uint64_t(reader, 2, subtree, 'of11.group_stats_entry.packet_count')
+ read_uint64_t(reader, 2, subtree, 'of11.group_stats_entry.byte_count')
+ read_list(reader, dissect_of_bucket_counter_v2, subtree, 'of_bucket_counter')
+ return 'of_group_stats_entry'
+end
+-- child class of_group_stats_reply
+-- Child of of_stats_reply
+function dissect_of_group_stats_reply_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.group_stats_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.group_stats_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_stats_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.group_stats_reply.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.group_stats_reply.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_group_stats_entry_v2, subtree, 'of_group_stats_entry')
+ return 'of_group_stats_reply'
+end
+of_stats_reply_v2_dissectors[6] = dissect_of_group_stats_reply_v2
+
+-- child class of_group_stats_request
+-- Child of of_stats_request
+function dissect_of_group_stats_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.group_stats_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.group_stats_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_stats_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.group_stats_request.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.group_stats_request.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.group_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 2, subtree, 'of11.group_stats_request.group_id')
+ reader.skip(4)
+ return 'of_group_stats_request'
+end
+of_stats_request_v2_dissectors[6] = dissect_of_group_stats_request_v2
+
+-- child class of_hello
+-- Child of of_header
+function dissect_of_hello_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.hello.version')
+ read_uint8_t(reader, 2, subtree, 'of11.hello.type')
+ read_uint16_t(reader, 2, subtree, 'of11.hello.length')
+ read_uint32_t(reader, 2, subtree, 'of11.hello.xid')
+ return 'of_hello'
+end
+of_header_v2_dissectors[0] = dissect_of_hello_v2
+
+-- child class of_hello_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_hello_failed_error_msg_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.hello_failed_error_msg.version')
+ read_uint8_t(reader, 2, subtree, 'of11.hello_failed_error_msg.type')
+ read_uint16_t(reader, 2, subtree, 'of11.hello_failed_error_msg.length')
+ read_uint32_t(reader, 2, subtree, 'of11.hello_failed_error_msg.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.hello_failed_error_msg.err_type')
+ read_uint16_t(reader, 2, subtree, 'of11.hello_failed_error_msg.code')
+ read_openflow(reader, 2, subtree, 'of11.hello_failed_error_msg.data')
+ return 'of_hello_failed_error_msg'
+end
+of_error_msg_v2_dissectors[0] = dissect_of_hello_failed_error_msg_v2
+
+-- virtual top-level class of_instruction
+-- Discriminator is type
+function dissect_of_instruction_v2(reader, subtree)
+ return of_instruction_v2_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_instruction_apply_actions
+-- Child of of_instruction
+function dissect_of_instruction_apply_actions_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 2, subtree, 'of11.instruction_apply_actions.type')
+ read_uint16_t(reader, 2, subtree, 'of11.instruction_apply_actions.len')
+ reader.skip(4)
+ read_list(reader, dissect_of_action_v2, subtree, 'of_action')
+ return 'of_instruction_apply_actions'
+end
+of_instruction_v2_dissectors[4] = dissect_of_instruction_apply_actions_v2
+
+-- child class of_instruction_clear_actions
+-- Child of of_instruction
+function dissect_of_instruction_clear_actions_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.instruction_clear_actions.type')
+ read_uint16_t(reader, 2, subtree, 'of11.instruction_clear_actions.len')
+ reader.skip(4)
+ return 'of_instruction_clear_actions'
+end
+of_instruction_v2_dissectors[5] = dissect_of_instruction_clear_actions_v2
+
+-- virtual child class of_instruction_experimenter
+-- Child of of_instruction
+-- Discriminator is experimenter
+function dissect_of_instruction_experimenter_v2(reader, subtree)
+ return of_instruction_experimenter_v2_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_instruction_v2_dissectors[65535] = dissect_of_instruction_experimenter_v2
+
+-- child class of_instruction_goto_table
+-- Child of of_instruction
+function dissect_of_instruction_goto_table_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.instruction_goto_table.type')
+ read_uint16_t(reader, 2, subtree, 'of11.instruction_goto_table.len')
+ read_uint8_t(reader, 2, subtree, 'of11.instruction_goto_table.table_id')
+ reader.skip(3)
+ return 'of_instruction_goto_table'
+end
+of_instruction_v2_dissectors[1] = dissect_of_instruction_goto_table_v2
+
+-- child class of_instruction_write_actions
+-- Child of of_instruction
+function dissect_of_instruction_write_actions_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 2, subtree, 'of11.instruction_write_actions.type')
+ read_uint16_t(reader, 2, subtree, 'of11.instruction_write_actions.len')
+ reader.skip(4)
+ read_list(reader, dissect_of_action_v2, subtree, 'of_action')
+ return 'of_instruction_write_actions'
+end
+of_instruction_v2_dissectors[3] = dissect_of_instruction_write_actions_v2
+
+-- child class of_instruction_write_metadata
+-- Child of of_instruction
+function dissect_of_instruction_write_metadata_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.instruction_write_metadata.type')
+ read_uint16_t(reader, 2, subtree, 'of11.instruction_write_metadata.len')
+ reader.skip(4)
+ read_uint64_t(reader, 2, subtree, 'of11.instruction_write_metadata.metadata')
+ read_uint64_t(reader, 2, subtree, 'of11.instruction_write_metadata.metadata_mask')
+ return 'of_instruction_write_metadata'
+end
+of_instruction_v2_dissectors[2] = dissect_of_instruction_write_metadata_v2
+
+-- top-level class of_match_v2
+function dissect_of_match_v2_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.match_v2.type')
+ read_uint16_t(reader, 2, subtree, 'of11.match_v2.length')
+ read_of_port_no_t(reader, 2, subtree, 'of11.match_v2.in_port')
+ read_of_wc_bmap_t(reader, 2, subtree, 'of11.match_v2.wildcards')
+ read_of_mac_addr_t(reader, 2, subtree, 'of11.match_v2.eth_src')
+ read_of_mac_addr_t(reader, 2, subtree, 'of11.match_v2.eth_src_mask')
+ read_of_mac_addr_t(reader, 2, subtree, 'of11.match_v2.eth_dst')
+ read_of_mac_addr_t(reader, 2, subtree, 'of11.match_v2.eth_dst_mask')
+ read_uint16_t(reader, 2, subtree, 'of11.match_v2.vlan_vid')
+ read_uint8_t(reader, 2, subtree, 'of11.match_v2.vlan_pcp')
+ reader.skip(1)
+ read_uint16_t(reader, 2, subtree, 'of11.match_v2.eth_type')
+ read_uint8_t(reader, 2, subtree, 'of11.match_v2.ip_dscp')
+ read_uint8_t(reader, 2, subtree, 'of11.match_v2.ip_proto')
+ read_of_ipv4_t(reader, 2, subtree, 'of11.match_v2.ipv4_src')
+ read_of_ipv4_t(reader, 2, subtree, 'of11.match_v2.ipv4_src_mask')
+ read_of_ipv4_t(reader, 2, subtree, 'of11.match_v2.ipv4_dst')
+ read_of_ipv4_t(reader, 2, subtree, 'of11.match_v2.ipv4_dst_mask')
+ read_uint16_t(reader, 2, subtree, 'of11.match_v2.tcp_src')
+ read_uint16_t(reader, 2, subtree, 'of11.match_v2.tcp_dst')
+ read_uint32_t(reader, 2, subtree, 'of11.match_v2.mpls_label')
+ read_uint8_t(reader, 2, subtree, 'of11.match_v2.mpls_tc')
+ reader.skip(3)
+ read_uint64_t(reader, 2, subtree, 'of11.match_v2.metadata')
+ read_uint64_t(reader, 2, subtree, 'of11.match_v2.metadata_mask')
+ return 'of_match_v2'
+end
+-- virtual child class of_nicira_header
+-- Child of of_experimenter
+-- Discriminator is subtype
+function dissect_of_nicira_header_v2(reader, subtree)
+ return of_nicira_header_v2_dissectors[reader.peek(12,4):uint()](reader, subtree)
+end
+of_experimenter_v2_dissectors[8992] = dissect_of_nicira_header_v2
+
+-- child class of_packet_in
+-- Child of of_header
+function dissect_of_packet_in_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.packet_in.version')
+ read_uint8_t(reader, 2, subtree, 'of11.packet_in.type')
+ read_uint16_t(reader, 2, subtree, 'of11.packet_in.length')
+ read_uint32_t(reader, 2, subtree, 'of11.packet_in.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.packet_in.buffer_id')
+ read_of_port_no_t(reader, 2, subtree, 'of11.packet_in.in_port')
+ read_of_port_no_t(reader, 2, subtree, 'of11.packet_in.in_phy_port')
+ read_uint16_t(reader, 2, subtree, 'of11.packet_in.total_len')
+ read_uint8_t(reader, 2, subtree, 'of11.packet_in.reason')
+ read_uint8_t(reader, 2, subtree, 'of11.packet_in.table_id')
+ read_ethernet(reader, 2, subtree, 'of11.packet_in.data')
+ return 'of_packet_in'
+end
+of_header_v2_dissectors[10] = dissect_of_packet_in_v2
+
+-- child class of_packet_out
+-- Child of of_header
+function dissect_of_packet_out_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.packet_out.version')
+ read_uint8_t(reader, 2, subtree, 'of11.packet_out.type')
+ read_uint16_t(reader, 2, subtree, 'of11.packet_out.length')
+ read_uint32_t(reader, 2, subtree, 'of11.packet_out.xid')
+ read_uint32_t(reader, 2, subtree, 'of11.packet_out.buffer_id')
+ read_of_port_no_t(reader, 2, subtree, 'of11.packet_out.in_port')
+ local _actions_length = reader.peek(0, 2):uint()
+ read_uint16_t(reader, 2, subtree, 'of11.packet_out.actions_len')
+ reader.skip(6)
+ read_list(reader.slice(_actions_length), dissect_of_action_v2, subtree, 'of_action')
+ read_ethernet(reader, 2, subtree, 'of11.packet_out.data')
+ return 'of_packet_out'
+end
+of_header_v2_dissectors[13] = dissect_of_packet_out_v2
+
+-- top-level class of_packet_queue
+function dissect_of_packet_queue_v2(reader, subtree)
+ local _length = reader.peek(4, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint32_t(reader, 2, subtree, 'of11.packet_queue.queue_id')
+ read_uint16_t(reader, 2, subtree, 'of11.packet_queue.len')
+ reader.skip(2)
+ read_list(reader, dissect_of_queue_prop_v2, subtree, 'of_queue_prop')
+ return 'of_packet_queue'
+end
+-- top-level class of_port_desc
+function dissect_of_port_desc_v2(reader, subtree)
+ read_of_port_no_t(reader, 2, subtree, 'of11.port_desc.port_no')
+ reader.skip(4)
+ read_of_mac_addr_t(reader, 2, subtree, 'of11.port_desc.hw_addr')
+ reader.skip(2)
+ read_of_port_name_t(reader, 2, subtree, 'of11.port_desc.name')
+ read_uint32_t(reader, 2, subtree, 'of11.port_desc.config')
+ read_uint32_t(reader, 2, subtree, 'of11.port_desc.state')
+ read_uint32_t(reader, 2, subtree, 'of11.port_desc.curr')
+ read_uint32_t(reader, 2, subtree, 'of11.port_desc.advertised')
+ read_uint32_t(reader, 2, subtree, 'of11.port_desc.supported')
+ read_uint32_t(reader, 2, subtree, 'of11.port_desc.peer')
+ read_uint32_t(reader, 2, subtree, 'of11.port_desc.curr_speed')
+ read_uint32_t(reader, 2, subtree, 'of11.port_desc.max_speed')
+ return 'of_port_desc'
+end
+-- child class of_port_mod
+-- Child of of_header
+function dissect_of_port_mod_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.port_mod.version')
+ read_uint8_t(reader, 2, subtree, 'of11.port_mod.type')
+ read_uint16_t(reader, 2, subtree, 'of11.port_mod.length')
+ read_uint32_t(reader, 2, subtree, 'of11.port_mod.xid')
+ read_of_port_no_t(reader, 2, subtree, 'of11.port_mod.port_no')
+ reader.skip(4)
+ read_of_mac_addr_t(reader, 2, subtree, 'of11.port_mod.hw_addr')
+ reader.skip(2)
+ read_uint32_t(reader, 2, subtree, 'of11.port_mod.config')
+ read_uint32_t(reader, 2, subtree, 'of11.port_mod.mask')
+ read_uint32_t(reader, 2, subtree, 'of11.port_mod.advertise')
+ reader.skip(4)
+ return 'of_port_mod'
+end
+of_header_v2_dissectors[16] = dissect_of_port_mod_v2
+
+-- child class of_port_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_port_mod_failed_error_msg_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.port_mod_failed_error_msg.version')
+ read_uint8_t(reader, 2, subtree, 'of11.port_mod_failed_error_msg.type')
+ read_uint16_t(reader, 2, subtree, 'of11.port_mod_failed_error_msg.length')
+ read_uint32_t(reader, 2, subtree, 'of11.port_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.port_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 2, subtree, 'of11.port_mod_failed_error_msg.code')
+ read_openflow(reader, 2, subtree, 'of11.port_mod_failed_error_msg.data')
+ return 'of_port_mod_failed_error_msg'
+end
+of_error_msg_v2_dissectors[7] = dissect_of_port_mod_failed_error_msg_v2
+
+-- top-level class of_port_stats_entry
+function dissect_of_port_stats_entry_v2(reader, subtree)
+ read_of_port_no_t(reader, 2, subtree, 'of11.port_stats_entry.port_no')
+ reader.skip(4)
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.rx_packets')
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.tx_packets')
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.rx_bytes')
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.tx_bytes')
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.rx_dropped')
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.tx_dropped')
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.rx_errors')
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.tx_errors')
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.rx_frame_err')
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.rx_over_err')
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.rx_crc_err')
+ read_uint64_t(reader, 2, subtree, 'of11.port_stats_entry.collisions')
+ return 'of_port_stats_entry'
+end
+-- child class of_port_stats_reply
+-- Child of of_stats_reply
+function dissect_of_port_stats_reply_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.port_stats_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.port_stats_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.port_stats_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.port_stats_reply.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.port_stats_reply.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.port_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_port_stats_entry_v2, subtree, 'of_port_stats_entry')
+ return 'of_port_stats_reply'
+end
+of_stats_reply_v2_dissectors[4] = dissect_of_port_stats_reply_v2
+
+-- child class of_port_stats_request
+-- Child of of_stats_request
+function dissect_of_port_stats_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.port_stats_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.port_stats_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.port_stats_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.port_stats_request.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.port_stats_request.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.port_stats_request.flags')
+ reader.skip(4)
+ read_of_port_no_t(reader, 2, subtree, 'of11.port_stats_request.port_no')
+ reader.skip(4)
+ return 'of_port_stats_request'
+end
+of_stats_request_v2_dissectors[4] = dissect_of_port_stats_request_v2
+
+-- child class of_port_status
+-- Child of of_header
+function dissect_of_port_status_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.port_status.version')
+ read_uint8_t(reader, 2, subtree, 'of11.port_status.type')
+ read_uint16_t(reader, 2, subtree, 'of11.port_status.length')
+ read_uint32_t(reader, 2, subtree, 'of11.port_status.xid')
+ read_uint8_t(reader, 2, subtree, 'of11.port_status.reason')
+ reader.skip(7)
+ read_of_port_desc_t(reader, 2, subtree, 'of11.port_status.desc')
+ return 'of_port_status'
+end
+of_header_v2_dissectors[12] = dissect_of_port_status_v2
+
+-- child class of_queue_get_config_reply
+-- Child of of_header
+function dissect_of_queue_get_config_reply_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.queue_get_config_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.queue_get_config_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_get_config_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.queue_get_config_reply.xid')
+ read_of_port_no_t(reader, 2, subtree, 'of11.queue_get_config_reply.port')
+ reader.skip(4)
+ read_list(reader, dissect_of_packet_queue_v2, subtree, 'of_packet_queue')
+ return 'of_queue_get_config_reply'
+end
+of_header_v2_dissectors[23] = dissect_of_queue_get_config_reply_v2
+
+-- child class of_queue_get_config_request
+-- Child of of_header
+function dissect_of_queue_get_config_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.queue_get_config_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.queue_get_config_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_get_config_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.queue_get_config_request.xid')
+ read_of_port_no_t(reader, 2, subtree, 'of11.queue_get_config_request.port')
+ reader.skip(4)
+ return 'of_queue_get_config_request'
+end
+of_header_v2_dissectors[22] = dissect_of_queue_get_config_request_v2
+
+-- child class of_queue_op_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_queue_op_failed_error_msg_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.queue_op_failed_error_msg.version')
+ read_uint8_t(reader, 2, subtree, 'of11.queue_op_failed_error_msg.type')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_op_failed_error_msg.length')
+ read_uint32_t(reader, 2, subtree, 'of11.queue_op_failed_error_msg.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_op_failed_error_msg.err_type')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_op_failed_error_msg.code')
+ read_openflow(reader, 2, subtree, 'of11.queue_op_failed_error_msg.data')
+ return 'of_queue_op_failed_error_msg'
+end
+of_error_msg_v2_dissectors[9] = dissect_of_queue_op_failed_error_msg_v2
+
+-- virtual top-level class of_queue_prop
+-- Discriminator is type
+function dissect_of_queue_prop_v2(reader, subtree)
+ return of_queue_prop_v2_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_queue_prop_min_rate
+-- Child of of_queue_prop
+function dissect_of_queue_prop_min_rate_v2(reader, subtree)
+ read_uint16_t(reader, 2, subtree, 'of11.queue_prop_min_rate.type')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_prop_min_rate.len')
+ reader.skip(4)
+ read_uint16_t(reader, 2, subtree, 'of11.queue_prop_min_rate.rate')
+ reader.skip(6)
+ return 'of_queue_prop_min_rate'
+end
+of_queue_prop_v2_dissectors[1] = dissect_of_queue_prop_min_rate_v2
+
+-- top-level class of_queue_stats_entry
+function dissect_of_queue_stats_entry_v2(reader, subtree)
+ read_of_port_no_t(reader, 2, subtree, 'of11.queue_stats_entry.port_no')
+ read_uint32_t(reader, 2, subtree, 'of11.queue_stats_entry.queue_id')
+ read_uint64_t(reader, 2, subtree, 'of11.queue_stats_entry.tx_bytes')
+ read_uint64_t(reader, 2, subtree, 'of11.queue_stats_entry.tx_packets')
+ read_uint64_t(reader, 2, subtree, 'of11.queue_stats_entry.tx_errors')
+ return 'of_queue_stats_entry'
+end
+-- child class of_queue_stats_reply
+-- Child of of_stats_reply
+function dissect_of_queue_stats_reply_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.queue_stats_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.queue_stats_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_stats_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.queue_stats_reply.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_stats_reply.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_queue_stats_entry_v2, subtree, 'of_queue_stats_entry')
+ return 'of_queue_stats_reply'
+end
+of_stats_reply_v2_dissectors[5] = dissect_of_queue_stats_reply_v2
+
+-- child class of_queue_stats_request
+-- Child of of_stats_request
+function dissect_of_queue_stats_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.queue_stats_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.queue_stats_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_stats_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.queue_stats_request.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_stats_request.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.queue_stats_request.flags')
+ reader.skip(4)
+ read_of_port_no_t(reader, 2, subtree, 'of11.queue_stats_request.port_no')
+ read_uint32_t(reader, 2, subtree, 'of11.queue_stats_request.queue_id')
+ return 'of_queue_stats_request'
+end
+of_stats_request_v2_dissectors[5] = dissect_of_queue_stats_request_v2
+
+-- child class of_set_config
+-- Child of of_header
+function dissect_of_set_config_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.set_config.version')
+ read_uint8_t(reader, 2, subtree, 'of11.set_config.type')
+ read_uint16_t(reader, 2, subtree, 'of11.set_config.length')
+ read_uint32_t(reader, 2, subtree, 'of11.set_config.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.set_config.flags')
+ read_uint16_t(reader, 2, subtree, 'of11.set_config.miss_send_len')
+ return 'of_set_config'
+end
+of_header_v2_dissectors[9] = dissect_of_set_config_v2
+
+-- child class of_switch_config_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_switch_config_failed_error_msg_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.switch_config_failed_error_msg.version')
+ read_uint8_t(reader, 2, subtree, 'of11.switch_config_failed_error_msg.type')
+ read_uint16_t(reader, 2, subtree, 'of11.switch_config_failed_error_msg.length')
+ read_uint32_t(reader, 2, subtree, 'of11.switch_config_failed_error_msg.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.switch_config_failed_error_msg.err_type')
+ read_uint16_t(reader, 2, subtree, 'of11.switch_config_failed_error_msg.code')
+ read_openflow(reader, 2, subtree, 'of11.switch_config_failed_error_msg.data')
+ return 'of_switch_config_failed_error_msg'
+end
+of_error_msg_v2_dissectors[10] = dissect_of_switch_config_failed_error_msg_v2
+
+-- child class of_table_mod
+-- Child of of_header
+function dissect_of_table_mod_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.table_mod.version')
+ read_uint8_t(reader, 2, subtree, 'of11.table_mod.type')
+ read_uint16_t(reader, 2, subtree, 'of11.table_mod.length')
+ read_uint32_t(reader, 2, subtree, 'of11.table_mod.xid')
+ read_uint8_t(reader, 2, subtree, 'of11.table_mod.table_id')
+ reader.skip(3)
+ read_uint32_t(reader, 2, subtree, 'of11.table_mod.config')
+ return 'of_table_mod'
+end
+of_header_v2_dissectors[17] = dissect_of_table_mod_v2
+
+-- child class of_table_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_table_mod_failed_error_msg_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.table_mod_failed_error_msg.version')
+ read_uint8_t(reader, 2, subtree, 'of11.table_mod_failed_error_msg.type')
+ read_uint16_t(reader, 2, subtree, 'of11.table_mod_failed_error_msg.length')
+ read_uint32_t(reader, 2, subtree, 'of11.table_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.table_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 2, subtree, 'of11.table_mod_failed_error_msg.code')
+ read_openflow(reader, 2, subtree, 'of11.table_mod_failed_error_msg.data')
+ return 'of_table_mod_failed_error_msg'
+end
+of_error_msg_v2_dissectors[8] = dissect_of_table_mod_failed_error_msg_v2
+
+-- top-level class of_table_stats_entry
+function dissect_of_table_stats_entry_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.table_stats_entry.table_id')
+ reader.skip(7)
+ read_of_table_name_t(reader, 2, subtree, 'of11.table_stats_entry.name')
+ read_of_wc_bmap_t(reader, 2, subtree, 'of11.table_stats_entry.wildcards')
+ read_of_match_bmap_t(reader, 2, subtree, 'of11.table_stats_entry.match')
+ read_uint32_t(reader, 2, subtree, 'of11.table_stats_entry.instructions')
+ read_uint32_t(reader, 2, subtree, 'of11.table_stats_entry.write_actions')
+ read_uint32_t(reader, 2, subtree, 'of11.table_stats_entry.apply_actions')
+ read_uint32_t(reader, 2, subtree, 'of11.table_stats_entry.config')
+ read_uint32_t(reader, 2, subtree, 'of11.table_stats_entry.max_entries')
+ read_uint32_t(reader, 2, subtree, 'of11.table_stats_entry.active_count')
+ read_uint64_t(reader, 2, subtree, 'of11.table_stats_entry.lookup_count')
+ read_uint64_t(reader, 2, subtree, 'of11.table_stats_entry.matched_count')
+ return 'of_table_stats_entry'
+end
+-- child class of_table_stats_reply
+-- Child of of_stats_reply
+function dissect_of_table_stats_reply_v2(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 2, subtree, 'of11.table_stats_reply.version')
+ read_uint8_t(reader, 2, subtree, 'of11.table_stats_reply.type')
+ read_uint16_t(reader, 2, subtree, 'of11.table_stats_reply.length')
+ read_uint32_t(reader, 2, subtree, 'of11.table_stats_reply.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.table_stats_reply.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.table_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_table_stats_entry_v2, subtree, 'of_table_stats_entry')
+ return 'of_table_stats_reply'
+end
+of_stats_reply_v2_dissectors[3] = dissect_of_table_stats_reply_v2
+
+-- child class of_table_stats_request
+-- Child of of_stats_request
+function dissect_of_table_stats_request_v2(reader, subtree)
+ read_uint8_t(reader, 2, subtree, 'of11.table_stats_request.version')
+ read_uint8_t(reader, 2, subtree, 'of11.table_stats_request.type')
+ read_uint16_t(reader, 2, subtree, 'of11.table_stats_request.length')
+ read_uint32_t(reader, 2, subtree, 'of11.table_stats_request.xid')
+ read_uint16_t(reader, 2, subtree, 'of11.table_stats_request.stats_type')
+ read_uint16_t(reader, 2, subtree, 'of11.table_stats_request.flags')
+ reader.skip(4)
+ return 'of_table_stats_request'
+end
+of_stats_request_v2_dissectors[3] = dissect_of_table_stats_request_v2
+
+-- virtual top-level class of_action
+-- Discriminator is type
+function dissect_of_action_v3(reader, subtree)
+ return of_action_v3_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- virtual child class of_action_experimenter
+-- Child of of_action
+-- Discriminator is experimenter
+function dissect_of_action_experimenter_v3(reader, subtree)
+ return of_action_experimenter_v3_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_action_v3_dissectors[65535] = dissect_of_action_experimenter_v3
+
+-- virtual child class of_action_bsn
+-- Child of of_action_experimenter
+-- Discriminator is subtype
+function dissect_of_action_bsn_v3(reader, subtree)
+ return of_action_bsn_v3_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_action_experimenter_v3_dissectors[6035143] = dissect_of_action_bsn_v3
+
+-- child class of_action_bsn_checksum
+-- Child of of_action_bsn
+function dissect_of_action_bsn_checksum_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_bsn_checksum.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_bsn_checksum.len')
+ read_uint32_t(reader, 3, subtree, 'of12.action_bsn_checksum.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.action_bsn_checksum.subtype')
+ read_of_checksum_128_t(reader, 3, subtree, 'of12.action_bsn_checksum.checksum')
+ return 'of_action_bsn_checksum'
+end
+of_action_bsn_v3_dissectors[4] = dissect_of_action_bsn_checksum_v3
+
+-- child class of_action_bsn_mirror
+-- Child of of_action_bsn
+function dissect_of_action_bsn_mirror_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_bsn_mirror.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_bsn_mirror.len')
+ read_uint32_t(reader, 3, subtree, 'of12.action_bsn_mirror.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.action_bsn_mirror.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.action_bsn_mirror.dest_port')
+ read_uint32_t(reader, 3, subtree, 'of12.action_bsn_mirror.vlan_tag')
+ read_uint8_t(reader, 3, subtree, 'of12.action_bsn_mirror.copy_stage')
+ reader.skip(3)
+ return 'of_action_bsn_mirror'
+end
+of_action_bsn_v3_dissectors[1] = dissect_of_action_bsn_mirror_v3
+
+-- child class of_action_bsn_set_tunnel_dst
+-- Child of of_action_bsn
+function dissect_of_action_bsn_set_tunnel_dst_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_bsn_set_tunnel_dst.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_bsn_set_tunnel_dst.len')
+ read_uint32_t(reader, 3, subtree, 'of12.action_bsn_set_tunnel_dst.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.action_bsn_set_tunnel_dst.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.action_bsn_set_tunnel_dst.dst')
+ return 'of_action_bsn_set_tunnel_dst'
+end
+of_action_bsn_v3_dissectors[2] = dissect_of_action_bsn_set_tunnel_dst_v3
+
+-- child class of_action_copy_ttl_in
+-- Child of of_action
+function dissect_of_action_copy_ttl_in_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_copy_ttl_in.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_copy_ttl_in.len')
+ reader.skip(4)
+ return 'of_action_copy_ttl_in'
+end
+of_action_v3_dissectors[12] = dissect_of_action_copy_ttl_in_v3
+
+-- child class of_action_copy_ttl_out
+-- Child of of_action
+function dissect_of_action_copy_ttl_out_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_copy_ttl_out.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_copy_ttl_out.len')
+ reader.skip(4)
+ return 'of_action_copy_ttl_out'
+end
+of_action_v3_dissectors[11] = dissect_of_action_copy_ttl_out_v3
+
+-- child class of_action_dec_mpls_ttl
+-- Child of of_action
+function dissect_of_action_dec_mpls_ttl_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_dec_mpls_ttl.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_dec_mpls_ttl.len')
+ reader.skip(4)
+ return 'of_action_dec_mpls_ttl'
+end
+of_action_v3_dissectors[16] = dissect_of_action_dec_mpls_ttl_v3
+
+-- child class of_action_dec_nw_ttl
+-- Child of of_action
+function dissect_of_action_dec_nw_ttl_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_dec_nw_ttl.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_dec_nw_ttl.len')
+ reader.skip(4)
+ return 'of_action_dec_nw_ttl'
+end
+of_action_v3_dissectors[24] = dissect_of_action_dec_nw_ttl_v3
+
+-- child class of_action_group
+-- Child of of_action
+function dissect_of_action_group_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_group.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_group.len')
+ read_uint32_t(reader, 3, subtree, 'of12.action_group.group_id')
+ return 'of_action_group'
+end
+of_action_v3_dissectors[22] = dissect_of_action_group_v3
+
+-- virtual child class of_action_nicira
+-- Child of of_action_experimenter
+-- Discriminator is subtype
+function dissect_of_action_nicira_v3(reader, subtree)
+ return of_action_nicira_v3_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_action_experimenter_v3_dissectors[8992] = dissect_of_action_nicira_v3
+
+-- child class of_action_nicira_dec_ttl
+-- Child of of_action_nicira
+function dissect_of_action_nicira_dec_ttl_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_nicira_dec_ttl.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_nicira_dec_ttl.len')
+ read_uint32_t(reader, 3, subtree, 'of12.action_nicira_dec_ttl.experimenter')
+ read_uint16_t(reader, 3, subtree, 'of12.action_nicira_dec_ttl.subtype')
+ reader.skip(2)
+ reader.skip(4)
+ return 'of_action_nicira_dec_ttl'
+end
+of_action_nicira_v3_dissectors[18] = dissect_of_action_nicira_dec_ttl_v3
+
+-- child class of_action_output
+-- Child of of_action
+function dissect_of_action_output_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_output.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_output.len')
+ read_of_port_no_t(reader, 3, subtree, 'of12.action_output.port')
+ read_uint16_t(reader, 3, subtree, 'of12.action_output.max_len')
+ reader.skip(6)
+ return 'of_action_output'
+end
+of_action_v3_dissectors[0] = dissect_of_action_output_v3
+
+-- child class of_action_pop_mpls
+-- Child of of_action
+function dissect_of_action_pop_mpls_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_pop_mpls.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_pop_mpls.len')
+ read_uint16_t(reader, 3, subtree, 'of12.action_pop_mpls.ethertype')
+ reader.skip(2)
+ return 'of_action_pop_mpls'
+end
+of_action_v3_dissectors[20] = dissect_of_action_pop_mpls_v3
+
+-- child class of_action_pop_vlan
+-- Child of of_action
+function dissect_of_action_pop_vlan_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_pop_vlan.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_pop_vlan.len')
+ reader.skip(4)
+ return 'of_action_pop_vlan'
+end
+of_action_v3_dissectors[18] = dissect_of_action_pop_vlan_v3
+
+-- child class of_action_push_mpls
+-- Child of of_action
+function dissect_of_action_push_mpls_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_push_mpls.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_push_mpls.len')
+ read_uint16_t(reader, 3, subtree, 'of12.action_push_mpls.ethertype')
+ reader.skip(2)
+ return 'of_action_push_mpls'
+end
+of_action_v3_dissectors[19] = dissect_of_action_push_mpls_v3
+
+-- child class of_action_push_vlan
+-- Child of of_action
+function dissect_of_action_push_vlan_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_push_vlan.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_push_vlan.len')
+ read_uint16_t(reader, 3, subtree, 'of12.action_push_vlan.ethertype')
+ reader.skip(2)
+ return 'of_action_push_vlan'
+end
+of_action_v3_dissectors[17] = dissect_of_action_push_vlan_v3
+
+-- virtual top-level class of_oxm
+-- Discriminator is type_len
+function dissect_of_oxm_v3(reader, subtree)
+ return of_oxm_v3_dissectors[reader.peek(0,4):uint()](reader, subtree)
+end
+-- child class of_action_set_field
+-- Child of of_action
+function dissect_of_action_set_field_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 3, subtree, 'of12.action_set_field.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_set_field.len')
+ read_of_oxm_t(reader, 3, subtree, 'of12.action_set_field.field')
+ return 'of_action_set_field'
+end
+of_action_v3_dissectors[25] = dissect_of_action_set_field_v3
+
+-- child class of_action_set_mpls_ttl
+-- Child of of_action
+function dissect_of_action_set_mpls_ttl_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_set_mpls_ttl.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_set_mpls_ttl.len')
+ read_uint8_t(reader, 3, subtree, 'of12.action_set_mpls_ttl.mpls_ttl')
+ reader.skip(3)
+ return 'of_action_set_mpls_ttl'
+end
+of_action_v3_dissectors[15] = dissect_of_action_set_mpls_ttl_v3
+
+-- child class of_action_set_nw_ttl
+-- Child of of_action
+function dissect_of_action_set_nw_ttl_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_set_nw_ttl.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_set_nw_ttl.len')
+ read_uint8_t(reader, 3, subtree, 'of12.action_set_nw_ttl.nw_ttl')
+ reader.skip(3)
+ return 'of_action_set_nw_ttl'
+end
+of_action_v3_dissectors[23] = dissect_of_action_set_nw_ttl_v3
+
+-- child class of_action_set_queue
+-- Child of of_action
+function dissect_of_action_set_queue_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.action_set_queue.type')
+ read_uint16_t(reader, 3, subtree, 'of12.action_set_queue.len')
+ read_uint32_t(reader, 3, subtree, 'of12.action_set_queue.queue_id')
+ return 'of_action_set_queue'
+end
+of_action_v3_dissectors[21] = dissect_of_action_set_queue_v3
+
+-- virtual top-level class of_header
+-- Discriminator is type
+function dissect_of_header_v3(reader, subtree)
+ return of_header_v3_dissectors[reader.peek(1,1):uint()](reader, subtree)
+end
+-- virtual child class of_stats_reply
+-- Child of of_header
+-- Discriminator is stats_type
+function dissect_of_stats_reply_v3(reader, subtree)
+ return of_stats_reply_v3_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v3_dissectors[19] = dissect_of_stats_reply_v3
+
+-- child class of_aggregate_stats_reply
+-- Child of of_stats_reply
+function dissect_of_aggregate_stats_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.aggregate_stats_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.aggregate_stats_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.aggregate_stats_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.aggregate_stats_reply.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.aggregate_stats_reply.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.aggregate_stats_reply.flags')
+ reader.skip(4)
+ read_uint64_t(reader, 3, subtree, 'of12.aggregate_stats_reply.packet_count')
+ read_uint64_t(reader, 3, subtree, 'of12.aggregate_stats_reply.byte_count')
+ read_uint32_t(reader, 3, subtree, 'of12.aggregate_stats_reply.flow_count')
+ reader.skip(4)
+ return 'of_aggregate_stats_reply'
+end
+of_stats_reply_v3_dissectors[2] = dissect_of_aggregate_stats_reply_v3
+
+-- virtual child class of_stats_request
+-- Child of of_header
+-- Discriminator is stats_type
+function dissect_of_stats_request_v3(reader, subtree)
+ return of_stats_request_v3_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v3_dissectors[18] = dissect_of_stats_request_v3
+
+-- child class of_aggregate_stats_request
+-- Child of of_stats_request
+function dissect_of_aggregate_stats_request_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.aggregate_stats_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.aggregate_stats_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.aggregate_stats_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.aggregate_stats_request.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.aggregate_stats_request.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.aggregate_stats_request.flags')
+ reader.skip(4)
+ read_uint8_t(reader, 3, subtree, 'of12.aggregate_stats_request.table_id')
+ reader.skip(3)
+ read_of_port_no_t(reader, 3, subtree, 'of12.aggregate_stats_request.out_port')
+ read_uint32_t(reader, 3, subtree, 'of12.aggregate_stats_request.out_group')
+ reader.skip(4)
+ read_uint64_t(reader, 3, subtree, 'of12.aggregate_stats_request.cookie')
+ read_uint64_t(reader, 3, subtree, 'of12.aggregate_stats_request.cookie_mask')
+ read_of_match_t(reader, 3, subtree, 'of12.aggregate_stats_request.match')
+ return 'of_aggregate_stats_request'
+end
+of_stats_request_v3_dissectors[2] = dissect_of_aggregate_stats_request_v3
+
+-- virtual child class of_error_msg
+-- Child of of_header
+-- Discriminator is err_type
+function dissect_of_error_msg_v3(reader, subtree)
+ return of_error_msg_v3_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v3_dissectors[1] = dissect_of_error_msg_v3
+
+-- child class of_bad_action_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_action_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.bad_action_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bad_action_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_action_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bad_action_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_action_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_action_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.bad_action_error_msg.data')
+ return 'of_bad_action_error_msg'
+end
+of_error_msg_v3_dissectors[2] = dissect_of_bad_action_error_msg_v3
+
+-- child class of_bad_instruction_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_instruction_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.bad_instruction_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bad_instruction_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_instruction_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bad_instruction_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_instruction_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_instruction_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.bad_instruction_error_msg.data')
+ return 'of_bad_instruction_error_msg'
+end
+of_error_msg_v3_dissectors[3] = dissect_of_bad_instruction_error_msg_v3
+
+-- child class of_bad_match_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_match_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.bad_match_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bad_match_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_match_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bad_match_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_match_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_match_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.bad_match_error_msg.data')
+ return 'of_bad_match_error_msg'
+end
+of_error_msg_v3_dissectors[4] = dissect_of_bad_match_error_msg_v3
+
+-- child class of_bad_request_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_request_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.bad_request_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bad_request_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_request_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bad_request_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_request_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.bad_request_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.bad_request_error_msg.data')
+ return 'of_bad_request_error_msg'
+end
+of_error_msg_v3_dissectors[1] = dissect_of_bad_request_error_msg_v3
+
+-- child class of_barrier_reply
+-- Child of of_header
+function dissect_of_barrier_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.barrier_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.barrier_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.barrier_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.barrier_reply.xid')
+ return 'of_barrier_reply'
+end
+of_header_v3_dissectors[21] = dissect_of_barrier_reply_v3
+
+-- child class of_barrier_request
+-- Child of of_header
+function dissect_of_barrier_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.barrier_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.barrier_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.barrier_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.barrier_request.xid')
+ return 'of_barrier_request'
+end
+of_header_v3_dissectors[20] = dissect_of_barrier_request_v3
+
+-- virtual child class of_experimenter
+-- Child of of_header
+-- Discriminator is experimenter
+function dissect_of_experimenter_v3(reader, subtree)
+ return of_experimenter_v3_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_header_v3_dissectors[4] = dissect_of_experimenter_v3
+
+-- virtual child class of_bsn_header
+-- Child of of_experimenter
+-- Discriminator is subtype
+function dissect_of_bsn_header_v3(reader, subtree)
+ return of_bsn_header_v3_dissectors[reader.peek(12,4):uint()](reader, subtree)
+end
+of_experimenter_v3_dissectors[6035143] = dissect_of_bsn_header_v3
+
+-- child class of_bsn_bw_clear_data_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_clear_data_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_reply.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_reply.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_reply.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_reply.status')
+ return 'of_bsn_bw_clear_data_reply'
+end
+of_bsn_header_v3_dissectors[22] = dissect_of_bsn_bw_clear_data_reply_v3
+
+-- child class of_bsn_bw_clear_data_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_clear_data_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_request.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_request.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_clear_data_request.subtype')
+ return 'of_bsn_bw_clear_data_request'
+end
+of_bsn_header_v3_dissectors[21] = dissect_of_bsn_bw_clear_data_request_v3
+
+-- child class of_bsn_bw_enable_get_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_get_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_reply.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_reply.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_reply.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_reply.enabled')
+ return 'of_bsn_bw_enable_get_reply'
+end
+of_bsn_header_v3_dissectors[20] = dissect_of_bsn_bw_enable_get_reply_v3
+
+-- child class of_bsn_bw_enable_get_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_get_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_request.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_request.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_get_request.subtype')
+ return 'of_bsn_bw_enable_get_request'
+end
+of_bsn_header_v3_dissectors[19] = dissect_of_bsn_bw_enable_get_request_v3
+
+-- child class of_bsn_bw_enable_set_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_set_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_reply.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_reply.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_reply.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_reply.enable')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_reply.status')
+ return 'of_bsn_bw_enable_set_reply'
+end
+of_bsn_header_v3_dissectors[23] = dissect_of_bsn_bw_enable_set_reply_v3
+
+-- child class of_bsn_bw_enable_set_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_set_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_request.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_request.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_request.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_bw_enable_set_request.enable')
+ return 'of_bsn_bw_enable_set_request'
+end
+of_bsn_header_v3_dissectors[18] = dissect_of_bsn_bw_enable_set_request_v3
+
+-- child class of_bsn_get_interfaces_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_interfaces_reply_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_get_interfaces_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_get_interfaces_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_get_interfaces_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_interfaces_reply.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_interfaces_reply.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_interfaces_reply.subtype')
+ read_list(reader, dissect_of_bsn_interface_v3, subtree, 'of_bsn_interface')
+ return 'of_bsn_get_interfaces_reply'
+end
+of_bsn_header_v3_dissectors[10] = dissect_of_bsn_get_interfaces_reply_v3
+
+-- child class of_bsn_get_interfaces_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_interfaces_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_get_interfaces_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_get_interfaces_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_get_interfaces_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_interfaces_request.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_interfaces_request.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_interfaces_request.subtype')
+ return 'of_bsn_get_interfaces_request'
+end
+of_bsn_header_v3_dissectors[9] = dissect_of_bsn_get_interfaces_request_v3
+
+-- child class of_bsn_get_mirroring_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_mirroring_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_get_mirroring_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_get_mirroring_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_get_mirroring_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_mirroring_reply.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_mirroring_reply.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_mirroring_reply.subtype')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_get_mirroring_reply.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_get_mirroring_reply'
+end
+of_bsn_header_v3_dissectors[5] = dissect_of_bsn_get_mirroring_reply_v3
+
+-- child class of_bsn_get_mirroring_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_mirroring_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_get_mirroring_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_get_mirroring_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_get_mirroring_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_mirroring_request.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_mirroring_request.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_get_mirroring_request.subtype')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_get_mirroring_request.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_get_mirroring_request'
+end
+of_bsn_header_v3_dissectors[4] = dissect_of_bsn_get_mirroring_request_v3
+
+-- top-level class of_bsn_interface
+function dissect_of_bsn_interface_v3(reader, subtree)
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.bsn_interface.hw_addr')
+ reader.skip(2)
+ read_of_port_name_t(reader, 3, subtree, 'of12.bsn_interface.name')
+ read_of_ipv4_t(reader, 3, subtree, 'of12.bsn_interface.ipv4_addr')
+ read_of_ipv4_t(reader, 3, subtree, 'of12.bsn_interface.ipv4_netmask')
+ return 'of_bsn_interface'
+end
+-- child class of_bsn_pdu_rx_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_rx_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_rx_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_pdu_rx_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_rx_reply.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_rx_reply.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_rx_reply.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_rx_reply.status')
+ read_of_port_no_t(reader, 3, subtree, 'of12.bsn_pdu_rx_reply.port_no')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_rx_reply.slot_num')
+ return 'of_bsn_pdu_rx_reply'
+end
+of_bsn_header_v3_dissectors[34] = dissect_of_bsn_pdu_rx_reply_v3
+
+-- child class of_bsn_pdu_rx_request
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_request_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_rx_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_rx_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_pdu_rx_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_rx_request.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_rx_request.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_rx_request.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_rx_request.timeout_ms')
+ read_of_port_no_t(reader, 3, subtree, 'of12.bsn_pdu_rx_request.port_no')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_rx_request.slot_num')
+ reader.skip(3)
+ read_ethernet(reader, 3, subtree, 'of12.bsn_pdu_rx_request.data')
+ return 'of_bsn_pdu_rx_request'
+end
+of_bsn_header_v3_dissectors[33] = dissect_of_bsn_pdu_rx_request_v3
+
+-- child class of_bsn_pdu_rx_timeout
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_timeout_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_rx_timeout.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_rx_timeout.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_pdu_rx_timeout.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_rx_timeout.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_rx_timeout.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_rx_timeout.subtype')
+ read_of_port_no_t(reader, 3, subtree, 'of12.bsn_pdu_rx_timeout.port_no')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_rx_timeout.slot_num')
+ return 'of_bsn_pdu_rx_timeout'
+end
+of_bsn_header_v3_dissectors[35] = dissect_of_bsn_pdu_rx_timeout_v3
+
+-- child class of_bsn_pdu_tx_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_tx_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_tx_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_tx_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_pdu_tx_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_tx_reply.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_tx_reply.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_tx_reply.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_tx_reply.status')
+ read_of_port_no_t(reader, 3, subtree, 'of12.bsn_pdu_tx_reply.port_no')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_tx_reply.slot_num')
+ return 'of_bsn_pdu_tx_reply'
+end
+of_bsn_header_v3_dissectors[32] = dissect_of_bsn_pdu_tx_reply_v3
+
+-- child class of_bsn_pdu_tx_request
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_tx_request_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_tx_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_tx_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_pdu_tx_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_tx_request.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_tx_request.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_tx_request.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_pdu_tx_request.tx_interval_ms')
+ read_of_port_no_t(reader, 3, subtree, 'of12.bsn_pdu_tx_request.port_no')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_pdu_tx_request.slot_num')
+ reader.skip(3)
+ read_ethernet(reader, 3, subtree, 'of12.bsn_pdu_tx_request.data')
+ return 'of_bsn_pdu_tx_request'
+end
+of_bsn_header_v3_dissectors[31] = dissect_of_bsn_pdu_tx_request_v3
+
+-- child class of_bsn_set_mirroring
+-- Child of of_bsn_header
+function dissect_of_bsn_set_mirroring_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_set_mirroring.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_set_mirroring.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_set_mirroring.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_set_mirroring.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_set_mirroring.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_set_mirroring.subtype')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_set_mirroring.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_set_mirroring'
+end
+of_bsn_header_v3_dissectors[3] = dissect_of_bsn_set_mirroring_v3
+
+-- child class of_bsn_set_pktin_suppression_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_set_pktin_suppression_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_reply.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_reply.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_reply.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_reply.status')
+ return 'of_bsn_set_pktin_suppression_reply'
+end
+of_bsn_header_v3_dissectors[25] = dissect_of_bsn_set_pktin_suppression_reply_v3
+
+-- child class of_bsn_set_pktin_suppression_request
+-- Child of of_bsn_header
+function dissect_of_bsn_set_pktin_suppression_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_request.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_request.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_request.subtype')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_request.enabled')
+ reader.skip(1)
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_request.idle_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_request.hard_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_request.priority')
+ read_uint64_t(reader, 3, subtree, 'of12.bsn_set_pktin_suppression_request.cookie')
+ return 'of_bsn_set_pktin_suppression_request'
+end
+of_bsn_header_v3_dissectors[11] = dissect_of_bsn_set_pktin_suppression_request_v3
+
+-- virtual child class of_experimenter_stats_reply
+-- Child of of_stats_reply
+-- Discriminator is experimenter
+function dissect_of_experimenter_stats_reply_v3(reader, subtree)
+ return of_experimenter_stats_reply_v3_dissectors[reader.peek(16,4):uint()](reader, subtree)
+end
+of_stats_reply_v3_dissectors[65535] = dissect_of_experimenter_stats_reply_v3
+
+-- virtual child class of_bsn_stats_reply
+-- Child of of_experimenter_stats_reply
+-- Discriminator is subtype
+function dissect_of_bsn_stats_reply_v3(reader, subtree)
+ return of_bsn_stats_reply_v3_dissectors[reader.peek(20,4):uint()](reader, subtree)
+end
+of_experimenter_stats_reply_v3_dissectors[6035143] = dissect_of_bsn_stats_reply_v3
+
+-- virtual child class of_experimenter_stats_request
+-- Child of of_stats_request
+-- Discriminator is experimenter
+function dissect_of_experimenter_stats_request_v3(reader, subtree)
+ return of_experimenter_stats_request_v3_dissectors[reader.peek(16,4):uint()](reader, subtree)
+end
+of_stats_request_v3_dissectors[65535] = dissect_of_experimenter_stats_request_v3
+
+-- virtual child class of_bsn_stats_request
+-- Child of of_experimenter_stats_request
+-- Discriminator is subtype
+function dissect_of_bsn_stats_request_v3(reader, subtree)
+ return of_bsn_stats_request_v3_dissectors[reader.peek(20,4):uint()](reader, subtree)
+end
+of_experimenter_stats_request_v3_dissectors[6035143] = dissect_of_bsn_stats_request_v3
+
+-- child class of_bsn_virtual_port_create_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_create_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_reply.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_reply.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_reply.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_reply.status')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_reply.vport_no')
+ return 'of_bsn_virtual_port_create_reply'
+end
+of_bsn_header_v3_dissectors[16] = dissect_of_bsn_virtual_port_create_reply_v3
+
+-- virtual top-level class of_bsn_vport
+-- Discriminator is type
+function dissect_of_bsn_vport_v3(reader, subtree)
+ return of_bsn_vport_v3_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_bsn_virtual_port_create_request
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_create_request_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_request.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_request.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_request.subtype')
+ read_of_bsn_vport_t(reader, 3, subtree, 'of12.bsn_virtual_port_create_request.vport')
+ return 'of_bsn_virtual_port_create_request'
+end
+of_bsn_header_v3_dissectors[15] = dissect_of_bsn_virtual_port_create_request_v3
+
+-- child class of_bsn_virtual_port_remove_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_remove_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_reply.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_reply.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_reply.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_reply.status')
+ return 'of_bsn_virtual_port_remove_reply'
+end
+of_bsn_header_v3_dissectors[26] = dissect_of_bsn_virtual_port_remove_reply_v3
+
+-- child class of_bsn_virtual_port_remove_request
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_remove_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_request.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_request.experimenter')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_request.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_virtual_port_remove_request.vport_no')
+ return 'of_bsn_virtual_port_remove_request'
+end
+of_bsn_header_v3_dissectors[17] = dissect_of_bsn_virtual_port_remove_request_v3
+
+-- child class of_bsn_vport_l2gre
+-- Child of of_bsn_vport
+function dissect_of_bsn_vport_l2gre_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.flags')
+ read_of_port_no_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.port_no')
+ read_of_port_no_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.loopback_port_no')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.local_mac')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.nh_mac')
+ read_of_ipv4_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.src_ip')
+ read_of_ipv4_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.dst_ip')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.dscp')
+ read_uint8_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.ttl')
+ reader.skip(2)
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.vpn')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.rate_limit')
+ read_of_port_name_t(reader, 3, subtree, 'of12.bsn_vport_l2gre.if_name')
+ return 'of_bsn_vport_l2gre'
+end
+of_bsn_vport_v3_dissectors[1] = dissect_of_bsn_vport_l2gre_v3
+
+-- child class of_bsn_vport_q_in_q
+-- Child of of_bsn_vport
+function dissect_of_bsn_vport_q_in_q_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_vport_q_in_q.type')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_vport_q_in_q.length')
+ read_uint32_t(reader, 3, subtree, 'of12.bsn_vport_q_in_q.port_no')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_vport_q_in_q.ingress_tpid')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_vport_q_in_q.ingress_vlan_id')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_vport_q_in_q.egress_tpid')
+ read_uint16_t(reader, 3, subtree, 'of12.bsn_vport_q_in_q.egress_vlan_id')
+ read_of_port_name_t(reader, 3, subtree, 'of12.bsn_vport_q_in_q.if_name')
+ return 'of_bsn_vport_q_in_q'
+end
+of_bsn_vport_v3_dissectors[0] = dissect_of_bsn_vport_q_in_q_v3
+
+-- top-level class of_bucket
+function dissect_of_bucket_v3(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 3, subtree, 'of12.bucket.len')
+ read_uint16_t(reader, 3, subtree, 'of12.bucket.weight')
+ read_of_port_no_t(reader, 3, subtree, 'of12.bucket.watch_port')
+ read_uint32_t(reader, 3, subtree, 'of12.bucket.watch_group')
+ reader.skip(4)
+ read_list(reader, dissect_of_action_v3, subtree, 'of_action')
+ return 'of_bucket'
+end
+-- top-level class of_bucket_counter
+function dissect_of_bucket_counter_v3(reader, subtree)
+ read_uint64_t(reader, 3, subtree, 'of12.bucket_counter.packet_count')
+ read_uint64_t(reader, 3, subtree, 'of12.bucket_counter.byte_count')
+ return 'of_bucket_counter'
+end
+-- child class of_desc_stats_reply
+-- Child of of_stats_reply
+function dissect_of_desc_stats_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.desc_stats_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.desc_stats_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.desc_stats_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.desc_stats_reply.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.desc_stats_reply.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.desc_stats_reply.flags')
+ reader.skip(4)
+ read_of_desc_str_t(reader, 3, subtree, 'of12.desc_stats_reply.mfr_desc')
+ read_of_desc_str_t(reader, 3, subtree, 'of12.desc_stats_reply.hw_desc')
+ read_of_desc_str_t(reader, 3, subtree, 'of12.desc_stats_reply.sw_desc')
+ read_of_serial_num_t(reader, 3, subtree, 'of12.desc_stats_reply.serial_num')
+ read_of_desc_str_t(reader, 3, subtree, 'of12.desc_stats_reply.dp_desc')
+ return 'of_desc_stats_reply'
+end
+of_stats_reply_v3_dissectors[0] = dissect_of_desc_stats_reply_v3
+
+-- child class of_desc_stats_request
+-- Child of of_stats_request
+function dissect_of_desc_stats_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.desc_stats_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.desc_stats_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.desc_stats_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.desc_stats_request.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.desc_stats_request.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.desc_stats_request.flags')
+ reader.skip(4)
+ return 'of_desc_stats_request'
+end
+of_stats_request_v3_dissectors[0] = dissect_of_desc_stats_request_v3
+
+-- child class of_echo_reply
+-- Child of of_header
+function dissect_of_echo_reply_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.echo_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.echo_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.echo_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.echo_reply.xid')
+ read_of_octets_t(reader, 3, subtree, 'of12.echo_reply.data')
+ return 'of_echo_reply'
+end
+of_header_v3_dissectors[3] = dissect_of_echo_reply_v3
+
+-- child class of_echo_request
+-- Child of of_header
+function dissect_of_echo_request_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.echo_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.echo_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.echo_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.echo_request.xid')
+ read_of_octets_t(reader, 3, subtree, 'of12.echo_request.data')
+ return 'of_echo_request'
+end
+of_header_v3_dissectors[2] = dissect_of_echo_request_v3
+
+-- child class of_experimenter_error_msg
+-- Child of of_error_msg
+function dissect_of_experimenter_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.experimenter_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.experimenter_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.experimenter_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.experimenter_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.experimenter_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.experimenter_error_msg.subtype')
+ read_uint32_t(reader, 3, subtree, 'of12.experimenter_error_msg.experimenter')
+ read_of_octets_t(reader, 3, subtree, 'of12.experimenter_error_msg.data')
+ return 'of_experimenter_error_msg'
+end
+of_error_msg_v3_dissectors[65535] = dissect_of_experimenter_error_msg_v3
+
+-- child class of_features_reply
+-- Child of of_header
+function dissect_of_features_reply_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.features_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.features_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.features_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.features_reply.xid')
+ read_uint64_t(reader, 3, subtree, 'of12.features_reply.datapath_id')
+ read_uint32_t(reader, 3, subtree, 'of12.features_reply.n_buffers')
+ read_uint8_t(reader, 3, subtree, 'of12.features_reply.n_tables')
+ reader.skip(3)
+ read_uint32_t(reader, 3, subtree, 'of12.features_reply.capabilities')
+ read_uint32_t(reader, 3, subtree, 'of12.features_reply.reserved')
+ read_list(reader, dissect_of_port_desc_v3, subtree, 'of_port_desc')
+ return 'of_features_reply'
+end
+of_header_v3_dissectors[6] = dissect_of_features_reply_v3
+
+-- child class of_features_request
+-- Child of of_header
+function dissect_of_features_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.features_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.features_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.features_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.features_request.xid')
+ return 'of_features_request'
+end
+of_header_v3_dissectors[5] = dissect_of_features_request_v3
+
+-- virtual child class of_flow_mod
+-- Child of of_header
+-- Discriminator is _command
+function dissect_of_flow_mod_v3(reader, subtree)
+ return of_flow_mod_v3_dissectors[reader.peek(25,1):uint()](reader, subtree)
+end
+of_header_v3_dissectors[14] = dissect_of_flow_mod_v3
+
+-- child class of_flow_add
+-- Child of of_flow_mod
+function dissect_of_flow_add_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.flow_add.version')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_add.type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_add.length')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_add.xid')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_add.cookie')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_add.cookie_mask')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_add.table_id')
+ read_of_fm_cmd_t(reader, 3, subtree, 'of12.flow_add._command')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_add.idle_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_add.hard_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_add.priority')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_add.buffer_id')
+ read_of_port_no_t(reader, 3, subtree, 'of12.flow_add.out_port')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_add.out_group')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_add.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 3, subtree, 'of12.flow_add.match')
+ read_list(reader, dissect_of_instruction_v3, subtree, 'of_instruction')
+ return 'of_flow_add'
+end
+of_flow_mod_v3_dissectors[0] = dissect_of_flow_add_v3
+
+-- child class of_flow_delete
+-- Child of of_flow_mod
+function dissect_of_flow_delete_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.flow_delete.version')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_delete.type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_delete.length')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_delete.xid')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_delete.cookie')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_delete.cookie_mask')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_delete.table_id')
+ read_of_fm_cmd_t(reader, 3, subtree, 'of12.flow_delete._command')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_delete.idle_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_delete.hard_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_delete.priority')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_delete.buffer_id')
+ read_of_port_no_t(reader, 3, subtree, 'of12.flow_delete.out_port')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_delete.out_group')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_delete.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 3, subtree, 'of12.flow_delete.match')
+ read_list(reader, dissect_of_instruction_v3, subtree, 'of_instruction')
+ return 'of_flow_delete'
+end
+of_flow_mod_v3_dissectors[3] = dissect_of_flow_delete_v3
+
+-- child class of_flow_delete_strict
+-- Child of of_flow_mod
+function dissect_of_flow_delete_strict_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.flow_delete_strict.version')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_delete_strict.type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_delete_strict.length')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_delete_strict.xid')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_delete_strict.cookie')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_delete_strict.cookie_mask')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_delete_strict.table_id')
+ read_of_fm_cmd_t(reader, 3, subtree, 'of12.flow_delete_strict._command')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_delete_strict.idle_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_delete_strict.hard_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_delete_strict.priority')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_delete_strict.buffer_id')
+ read_of_port_no_t(reader, 3, subtree, 'of12.flow_delete_strict.out_port')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_delete_strict.out_group')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_delete_strict.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 3, subtree, 'of12.flow_delete_strict.match')
+ read_list(reader, dissect_of_instruction_v3, subtree, 'of_instruction')
+ return 'of_flow_delete_strict'
+end
+of_flow_mod_v3_dissectors[4] = dissect_of_flow_delete_strict_v3
+
+-- child class of_flow_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_flow_mod_failed_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.flow_mod_failed_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_mod_failed_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_mod_failed_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_mod_failed_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.flow_mod_failed_error_msg.data')
+ return 'of_flow_mod_failed_error_msg'
+end
+of_error_msg_v3_dissectors[5] = dissect_of_flow_mod_failed_error_msg_v3
+
+-- child class of_flow_modify
+-- Child of of_flow_mod
+function dissect_of_flow_modify_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.flow_modify.version')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_modify.type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_modify.length')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_modify.xid')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_modify.cookie')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_modify.cookie_mask')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_modify.table_id')
+ read_of_fm_cmd_t(reader, 3, subtree, 'of12.flow_modify._command')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_modify.idle_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_modify.hard_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_modify.priority')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_modify.buffer_id')
+ read_of_port_no_t(reader, 3, subtree, 'of12.flow_modify.out_port')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_modify.out_group')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_modify.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 3, subtree, 'of12.flow_modify.match')
+ read_list(reader, dissect_of_instruction_v3, subtree, 'of_instruction')
+ return 'of_flow_modify'
+end
+of_flow_mod_v3_dissectors[1] = dissect_of_flow_modify_v3
+
+-- child class of_flow_modify_strict
+-- Child of of_flow_mod
+function dissect_of_flow_modify_strict_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.flow_modify_strict.version')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_modify_strict.type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_modify_strict.length')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_modify_strict.xid')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_modify_strict.cookie')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_modify_strict.cookie_mask')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_modify_strict.table_id')
+ read_of_fm_cmd_t(reader, 3, subtree, 'of12.flow_modify_strict._command')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_modify_strict.idle_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_modify_strict.hard_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_modify_strict.priority')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_modify_strict.buffer_id')
+ read_of_port_no_t(reader, 3, subtree, 'of12.flow_modify_strict.out_port')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_modify_strict.out_group')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_modify_strict.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 3, subtree, 'of12.flow_modify_strict.match')
+ read_list(reader, dissect_of_instruction_v3, subtree, 'of_instruction')
+ return 'of_flow_modify_strict'
+end
+of_flow_mod_v3_dissectors[2] = dissect_of_flow_modify_strict_v3
+
+-- child class of_flow_removed
+-- Child of of_header
+function dissect_of_flow_removed_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.flow_removed.version')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_removed.type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_removed.length')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_removed.xid')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_removed.cookie')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_removed.priority')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_removed.reason')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_removed.table_id')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_removed.duration_sec')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_removed.duration_nsec')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_removed.idle_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_removed.hard_timeout')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_removed.packet_count')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_removed.byte_count')
+ read_of_match_t(reader, 3, subtree, 'of12.flow_removed.match')
+ return 'of_flow_removed'
+end
+of_header_v3_dissectors[11] = dissect_of_flow_removed_v3
+
+-- top-level class of_flow_stats_entry
+function dissect_of_flow_stats_entry_v3(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 3, subtree, 'of12.flow_stats_entry.length')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_stats_entry.table_id')
+ reader.skip(1)
+ read_uint32_t(reader, 3, subtree, 'of12.flow_stats_entry.duration_sec')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_stats_entry.duration_nsec')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_stats_entry.priority')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_stats_entry.idle_timeout')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_stats_entry.hard_timeout')
+ reader.skip(6)
+ read_uint64_t(reader, 3, subtree, 'of12.flow_stats_entry.cookie')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_stats_entry.packet_count')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_stats_entry.byte_count')
+ read_of_match_t(reader, 3, subtree, 'of12.flow_stats_entry.match')
+ read_list(reader, dissect_of_instruction_v3, subtree, 'of_instruction')
+ return 'of_flow_stats_entry'
+end
+-- child class of_flow_stats_reply
+-- Child of of_stats_reply
+function dissect_of_flow_stats_reply_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.flow_stats_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_stats_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_stats_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_stats_reply.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_stats_reply.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_flow_stats_entry_v3, subtree, 'of_flow_stats_entry')
+ return 'of_flow_stats_reply'
+end
+of_stats_reply_v3_dissectors[1] = dissect_of_flow_stats_reply_v3
+
+-- child class of_flow_stats_request
+-- Child of of_stats_request
+function dissect_of_flow_stats_request_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.flow_stats_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.flow_stats_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_stats_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_stats_request.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_stats_request.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.flow_stats_request.flags')
+ reader.skip(4)
+ read_uint8_t(reader, 3, subtree, 'of12.flow_stats_request.table_id')
+ reader.skip(3)
+ read_of_port_no_t(reader, 3, subtree, 'of12.flow_stats_request.out_port')
+ read_uint32_t(reader, 3, subtree, 'of12.flow_stats_request.out_group')
+ reader.skip(4)
+ read_uint64_t(reader, 3, subtree, 'of12.flow_stats_request.cookie')
+ read_uint64_t(reader, 3, subtree, 'of12.flow_stats_request.cookie_mask')
+ read_of_match_t(reader, 3, subtree, 'of12.flow_stats_request.match')
+ return 'of_flow_stats_request'
+end
+of_stats_request_v3_dissectors[1] = dissect_of_flow_stats_request_v3
+
+-- child class of_get_config_reply
+-- Child of of_header
+function dissect_of_get_config_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.get_config_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.get_config_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.get_config_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.get_config_reply.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.get_config_reply.flags')
+ read_uint16_t(reader, 3, subtree, 'of12.get_config_reply.miss_send_len')
+ return 'of_get_config_reply'
+end
+of_header_v3_dissectors[8] = dissect_of_get_config_reply_v3
+
+-- child class of_get_config_request
+-- Child of of_header
+function dissect_of_get_config_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.get_config_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.get_config_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.get_config_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.get_config_request.xid')
+ return 'of_get_config_request'
+end
+of_header_v3_dissectors[7] = dissect_of_get_config_request_v3
+
+-- virtual child class of_group_mod
+-- Child of of_header
+-- Discriminator is command
+function dissect_of_group_mod_v3(reader, subtree)
+ return of_group_mod_v3_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v3_dissectors[15] = dissect_of_group_mod_v3
+
+-- child class of_group_add
+-- Child of of_group_mod
+function dissect_of_group_add_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.group_add.version')
+ read_uint8_t(reader, 3, subtree, 'of12.group_add.type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_add.length')
+ read_uint32_t(reader, 3, subtree, 'of12.group_add.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.group_add.command')
+ read_uint8_t(reader, 3, subtree, 'of12.group_add.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 3, subtree, 'of12.group_add.group_id')
+ read_list(reader, dissect_of_bucket_v3, subtree, 'of_bucket')
+ return 'of_group_add'
+end
+of_group_mod_v3_dissectors[0] = dissect_of_group_add_v3
+
+-- child class of_group_delete
+-- Child of of_group_mod
+function dissect_of_group_delete_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.group_delete.version')
+ read_uint8_t(reader, 3, subtree, 'of12.group_delete.type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_delete.length')
+ read_uint32_t(reader, 3, subtree, 'of12.group_delete.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.group_delete.command')
+ read_uint8_t(reader, 3, subtree, 'of12.group_delete.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 3, subtree, 'of12.group_delete.group_id')
+ read_list(reader, dissect_of_bucket_v3, subtree, 'of_bucket')
+ return 'of_group_delete'
+end
+of_group_mod_v3_dissectors[2] = dissect_of_group_delete_v3
+
+-- top-level class of_group_desc_stats_entry
+function dissect_of_group_desc_stats_entry_v3(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 3, subtree, 'of12.group_desc_stats_entry.length')
+ read_uint8_t(reader, 3, subtree, 'of12.group_desc_stats_entry.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 3, subtree, 'of12.group_desc_stats_entry.group_id')
+ read_list(reader, dissect_of_bucket_v3, subtree, 'of_bucket')
+ return 'of_group_desc_stats_entry'
+end
+-- child class of_group_desc_stats_reply
+-- Child of of_stats_reply
+function dissect_of_group_desc_stats_reply_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.group_desc_stats_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.group_desc_stats_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_desc_stats_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.group_desc_stats_reply.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.group_desc_stats_reply.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_desc_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_group_desc_stats_entry_v3, subtree, 'of_group_desc_stats_entry')
+ return 'of_group_desc_stats_reply'
+end
+of_stats_reply_v3_dissectors[7] = dissect_of_group_desc_stats_reply_v3
+
+-- child class of_group_desc_stats_request
+-- Child of of_stats_request
+function dissect_of_group_desc_stats_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.group_desc_stats_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.group_desc_stats_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_desc_stats_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.group_desc_stats_request.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.group_desc_stats_request.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_desc_stats_request.flags')
+ reader.skip(4)
+ return 'of_group_desc_stats_request'
+end
+of_stats_request_v3_dissectors[7] = dissect_of_group_desc_stats_request_v3
+
+-- child class of_group_features_stats_reply
+-- Child of of_stats_reply
+function dissect_of_group_features_stats_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.group_features_stats_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.group_features_stats_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_features_stats_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_reply.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.group_features_stats_reply.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_features_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_reply.types')
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_reply.capabilities')
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_reply.max_groups_all')
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_reply.max_groups_select')
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_reply.max_groups_indirect')
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_reply.max_groups_ff')
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_reply.actions_all')
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_reply.actions_select')
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_reply.actions_indirect')
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_reply.actions_ff')
+ return 'of_group_features_stats_reply'
+end
+of_stats_reply_v3_dissectors[8] = dissect_of_group_features_stats_reply_v3
+
+-- child class of_group_features_stats_request
+-- Child of of_stats_request
+function dissect_of_group_features_stats_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.group_features_stats_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.group_features_stats_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_features_stats_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.group_features_stats_request.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.group_features_stats_request.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_features_stats_request.flags')
+ reader.skip(4)
+ return 'of_group_features_stats_request'
+end
+of_stats_request_v3_dissectors[8] = dissect_of_group_features_stats_request_v3
+
+-- child class of_group_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_group_mod_failed_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.group_mod_failed_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.group_mod_failed_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_mod_failed_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.group_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.group_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_mod_failed_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.group_mod_failed_error_msg.data')
+ return 'of_group_mod_failed_error_msg'
+end
+of_error_msg_v3_dissectors[6] = dissect_of_group_mod_failed_error_msg_v3
+
+-- child class of_group_modify
+-- Child of of_group_mod
+function dissect_of_group_modify_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.group_modify.version')
+ read_uint8_t(reader, 3, subtree, 'of12.group_modify.type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_modify.length')
+ read_uint32_t(reader, 3, subtree, 'of12.group_modify.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.group_modify.command')
+ read_uint8_t(reader, 3, subtree, 'of12.group_modify.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 3, subtree, 'of12.group_modify.group_id')
+ read_list(reader, dissect_of_bucket_v3, subtree, 'of_bucket')
+ return 'of_group_modify'
+end
+of_group_mod_v3_dissectors[1] = dissect_of_group_modify_v3
+
+-- top-level class of_group_stats_entry
+function dissect_of_group_stats_entry_v3(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 3, subtree, 'of12.group_stats_entry.length')
+ reader.skip(2)
+ read_uint32_t(reader, 3, subtree, 'of12.group_stats_entry.group_id')
+ read_uint32_t(reader, 3, subtree, 'of12.group_stats_entry.ref_count')
+ reader.skip(4)
+ read_uint64_t(reader, 3, subtree, 'of12.group_stats_entry.packet_count')
+ read_uint64_t(reader, 3, subtree, 'of12.group_stats_entry.byte_count')
+ read_list(reader, dissect_of_bucket_counter_v3, subtree, 'of_bucket_counter')
+ return 'of_group_stats_entry'
+end
+-- child class of_group_stats_reply
+-- Child of of_stats_reply
+function dissect_of_group_stats_reply_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.group_stats_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.group_stats_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_stats_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.group_stats_reply.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.group_stats_reply.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_group_stats_entry_v3, subtree, 'of_group_stats_entry')
+ return 'of_group_stats_reply'
+end
+of_stats_reply_v3_dissectors[6] = dissect_of_group_stats_reply_v3
+
+-- child class of_group_stats_request
+-- Child of of_stats_request
+function dissect_of_group_stats_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.group_stats_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.group_stats_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_stats_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.group_stats_request.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.group_stats_request.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.group_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 3, subtree, 'of12.group_stats_request.group_id')
+ reader.skip(4)
+ return 'of_group_stats_request'
+end
+of_stats_request_v3_dissectors[6] = dissect_of_group_stats_request_v3
+
+-- child class of_hello
+-- Child of of_header
+function dissect_of_hello_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.hello.version')
+ read_uint8_t(reader, 3, subtree, 'of12.hello.type')
+ read_uint16_t(reader, 3, subtree, 'of12.hello.length')
+ read_uint32_t(reader, 3, subtree, 'of12.hello.xid')
+ return 'of_hello'
+end
+of_header_v3_dissectors[0] = dissect_of_hello_v3
+
+-- child class of_hello_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_hello_failed_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.hello_failed_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.hello_failed_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.hello_failed_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.hello_failed_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.hello_failed_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.hello_failed_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.hello_failed_error_msg.data')
+ return 'of_hello_failed_error_msg'
+end
+of_error_msg_v3_dissectors[0] = dissect_of_hello_failed_error_msg_v3
+
+-- virtual top-level class of_instruction
+-- Discriminator is type
+function dissect_of_instruction_v3(reader, subtree)
+ return of_instruction_v3_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_instruction_apply_actions
+-- Child of of_instruction
+function dissect_of_instruction_apply_actions_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 3, subtree, 'of12.instruction_apply_actions.type')
+ read_uint16_t(reader, 3, subtree, 'of12.instruction_apply_actions.len')
+ reader.skip(4)
+ read_list(reader, dissect_of_action_v3, subtree, 'of_action')
+ return 'of_instruction_apply_actions'
+end
+of_instruction_v3_dissectors[4] = dissect_of_instruction_apply_actions_v3
+
+-- child class of_instruction_clear_actions
+-- Child of of_instruction
+function dissect_of_instruction_clear_actions_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.instruction_clear_actions.type')
+ read_uint16_t(reader, 3, subtree, 'of12.instruction_clear_actions.len')
+ reader.skip(4)
+ return 'of_instruction_clear_actions'
+end
+of_instruction_v3_dissectors[5] = dissect_of_instruction_clear_actions_v3
+
+-- virtual child class of_instruction_experimenter
+-- Child of of_instruction
+-- Discriminator is experimenter
+function dissect_of_instruction_experimenter_v3(reader, subtree)
+ return of_instruction_experimenter_v3_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_instruction_v3_dissectors[65535] = dissect_of_instruction_experimenter_v3
+
+-- child class of_instruction_goto_table
+-- Child of of_instruction
+function dissect_of_instruction_goto_table_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.instruction_goto_table.type')
+ read_uint16_t(reader, 3, subtree, 'of12.instruction_goto_table.len')
+ read_uint8_t(reader, 3, subtree, 'of12.instruction_goto_table.table_id')
+ reader.skip(3)
+ return 'of_instruction_goto_table'
+end
+of_instruction_v3_dissectors[1] = dissect_of_instruction_goto_table_v3
+
+-- child class of_instruction_write_actions
+-- Child of of_instruction
+function dissect_of_instruction_write_actions_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 3, subtree, 'of12.instruction_write_actions.type')
+ read_uint16_t(reader, 3, subtree, 'of12.instruction_write_actions.len')
+ reader.skip(4)
+ read_list(reader, dissect_of_action_v3, subtree, 'of_action')
+ return 'of_instruction_write_actions'
+end
+of_instruction_v3_dissectors[3] = dissect_of_instruction_write_actions_v3
+
+-- child class of_instruction_write_metadata
+-- Child of of_instruction
+function dissect_of_instruction_write_metadata_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.instruction_write_metadata.type')
+ read_uint16_t(reader, 3, subtree, 'of12.instruction_write_metadata.len')
+ reader.skip(4)
+ read_uint64_t(reader, 3, subtree, 'of12.instruction_write_metadata.metadata')
+ read_uint64_t(reader, 3, subtree, 'of12.instruction_write_metadata.metadata_mask')
+ return 'of_instruction_write_metadata'
+end
+of_instruction_v3_dissectors[2] = dissect_of_instruction_write_metadata_v3
+
+-- top-level class of_match_v3
+function dissect_of_match_v3_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 3, subtree, 'of12.match_v3.type')
+ read_uint16_t(reader, 3, subtree, 'of12.match_v3.length')
+ read_list(reader, dissect_of_oxm_v3, subtree, 'of_oxm')
+ orig_reader.skip_align()
+ return 'of_match_v3'
+end
+-- virtual child class of_nicira_header
+-- Child of of_experimenter
+-- Discriminator is subtype
+function dissect_of_nicira_header_v3(reader, subtree)
+ return of_nicira_header_v3_dissectors[reader.peek(12,4):uint()](reader, subtree)
+end
+of_experimenter_v3_dissectors[8992] = dissect_of_nicira_header_v3
+
+-- child class of_oxm_arp_op
+-- Child of of_oxm
+function dissect_of_oxm_arp_op_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_op.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_arp_op.value')
+ return 'of_oxm_arp_op'
+end
+of_oxm_v3_dissectors[2147494402] = dissect_of_oxm_arp_op_v3
+
+-- child class of_oxm_arp_op_masked
+-- Child of of_oxm
+function dissect_of_oxm_arp_op_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_op_masked.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_arp_op_masked.value')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_arp_op_masked.value_mask')
+ return 'of_oxm_arp_op_masked'
+end
+of_oxm_v3_dissectors[2147494660] = dissect_of_oxm_arp_op_masked_v3
+
+-- child class of_oxm_arp_sha
+-- Child of of_oxm
+function dissect_of_oxm_arp_sha_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_sha.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_arp_sha.value')
+ return 'of_oxm_arp_sha'
+end
+of_oxm_v3_dissectors[2147495942] = dissect_of_oxm_arp_sha_v3
+
+-- child class of_oxm_arp_sha_masked
+-- Child of of_oxm
+function dissect_of_oxm_arp_sha_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_sha_masked.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_arp_sha_masked.value')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_arp_sha_masked.value_mask')
+ return 'of_oxm_arp_sha_masked'
+end
+of_oxm_v3_dissectors[2147496204] = dissect_of_oxm_arp_sha_masked_v3
+
+-- child class of_oxm_arp_spa
+-- Child of of_oxm
+function dissect_of_oxm_arp_spa_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_spa.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_spa.value')
+ return 'of_oxm_arp_spa'
+end
+of_oxm_v3_dissectors[2147494916] = dissect_of_oxm_arp_spa_v3
+
+-- child class of_oxm_arp_spa_masked
+-- Child of of_oxm
+function dissect_of_oxm_arp_spa_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_spa_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_spa_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_spa_masked.value_mask')
+ return 'of_oxm_arp_spa_masked'
+end
+of_oxm_v3_dissectors[2147495176] = dissect_of_oxm_arp_spa_masked_v3
+
+-- child class of_oxm_arp_tha
+-- Child of of_oxm
+function dissect_of_oxm_arp_tha_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_tha.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_arp_tha.value')
+ return 'of_oxm_arp_tha'
+end
+of_oxm_v3_dissectors[2147496454] = dissect_of_oxm_arp_tha_v3
+
+-- child class of_oxm_arp_tha_masked
+-- Child of of_oxm
+function dissect_of_oxm_arp_tha_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_tha_masked.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_arp_tha_masked.value')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_arp_tha_masked.value_mask')
+ return 'of_oxm_arp_tha_masked'
+end
+of_oxm_v3_dissectors[2147496716] = dissect_of_oxm_arp_tha_masked_v3
+
+-- child class of_oxm_arp_tpa
+-- Child of of_oxm
+function dissect_of_oxm_arp_tpa_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_tpa.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_tpa.value')
+ return 'of_oxm_arp_tpa'
+end
+of_oxm_v3_dissectors[2147495428] = dissect_of_oxm_arp_tpa_v3
+
+-- child class of_oxm_arp_tpa_masked
+-- Child of of_oxm
+function dissect_of_oxm_arp_tpa_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_tpa_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_tpa_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_arp_tpa_masked.value_mask')
+ return 'of_oxm_arp_tpa_masked'
+end
+of_oxm_v3_dissectors[2147495688] = dissect_of_oxm_arp_tpa_masked_v3
+
+-- child class of_oxm_bsn_egr_port_group_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_egr_port_group_id_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_egr_port_group_id.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_egr_port_group_id.value')
+ return 'of_oxm_bsn_egr_port_group_id'
+end
+of_oxm_v3_dissectors[200196] = dissect_of_oxm_bsn_egr_port_group_id_v3
+
+-- child class of_oxm_bsn_egr_port_group_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_egr_port_group_id_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_egr_port_group_id_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_egr_port_group_id_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_egr_port_group_id_masked.value_mask')
+ return 'of_oxm_bsn_egr_port_group_id_masked'
+end
+of_oxm_v3_dissectors[200456] = dissect_of_oxm_bsn_egr_port_group_id_masked_v3
+
+-- child class of_oxm_bsn_global_vrf_allowed
+-- Child of of_oxm
+function dissect_of_oxm_bsn_global_vrf_allowed_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_global_vrf_allowed.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_bsn_global_vrf_allowed.value')
+ return 'of_oxm_bsn_global_vrf_allowed'
+end
+of_oxm_v3_dissectors[198145] = dissect_of_oxm_bsn_global_vrf_allowed_v3
+
+-- child class of_oxm_bsn_global_vrf_allowed_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_global_vrf_allowed_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_global_vrf_allowed_masked.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_bsn_global_vrf_allowed_masked.value')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_bsn_global_vrf_allowed_masked.value_mask')
+ return 'of_oxm_bsn_global_vrf_allowed_masked'
+end
+of_oxm_v3_dissectors[198402] = dissect_of_oxm_bsn_global_vrf_allowed_masked_v3
+
+-- child class of_oxm_bsn_in_ports_128
+-- Child of of_oxm
+function dissect_of_oxm_bsn_in_ports_128_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_in_ports_128.type_len')
+ read_of_bitmap_128_t(reader, 3, subtree, 'of12.oxm_bsn_in_ports_128.value')
+ return 'of_oxm_bsn_in_ports_128'
+end
+of_oxm_v3_dissectors[196624] = dissect_of_oxm_bsn_in_ports_128_v3
+
+-- child class of_oxm_bsn_in_ports_128_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_in_ports_128_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_in_ports_128_masked.type_len')
+ read_of_bitmap_128_t(reader, 3, subtree, 'of12.oxm_bsn_in_ports_128_masked.value')
+ read_of_bitmap_128_t(reader, 3, subtree, 'of12.oxm_bsn_in_ports_128_masked.value_mask')
+ return 'of_oxm_bsn_in_ports_128_masked'
+end
+of_oxm_v3_dissectors[196896] = dissect_of_oxm_bsn_in_ports_128_masked_v3
+
+-- child class of_oxm_bsn_l3_dst_class_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_dst_class_id_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_dst_class_id.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_dst_class_id.value')
+ return 'of_oxm_bsn_l3_dst_class_id'
+end
+of_oxm_v3_dissectors[199684] = dissect_of_oxm_bsn_l3_dst_class_id_v3
+
+-- child class of_oxm_bsn_l3_dst_class_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_dst_class_id_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_dst_class_id_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_dst_class_id_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_dst_class_id_masked.value_mask')
+ return 'of_oxm_bsn_l3_dst_class_id_masked'
+end
+of_oxm_v3_dissectors[199944] = dissect_of_oxm_bsn_l3_dst_class_id_masked_v3
+
+-- child class of_oxm_bsn_l3_interface_class_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_interface_class_id_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_interface_class_id.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_interface_class_id.value')
+ return 'of_oxm_bsn_l3_interface_class_id'
+end
+of_oxm_v3_dissectors[198660] = dissect_of_oxm_bsn_l3_interface_class_id_v3
+
+-- child class of_oxm_bsn_l3_interface_class_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_interface_class_id_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_interface_class_id_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_interface_class_id_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_interface_class_id_masked.value_mask')
+ return 'of_oxm_bsn_l3_interface_class_id_masked'
+end
+of_oxm_v3_dissectors[198920] = dissect_of_oxm_bsn_l3_interface_class_id_masked_v3
+
+-- child class of_oxm_bsn_l3_src_class_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_src_class_id_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_src_class_id.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_src_class_id.value')
+ return 'of_oxm_bsn_l3_src_class_id'
+end
+of_oxm_v3_dissectors[199172] = dissect_of_oxm_bsn_l3_src_class_id_v3
+
+-- child class of_oxm_bsn_l3_src_class_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_src_class_id_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_src_class_id_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_src_class_id_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l3_src_class_id_masked.value_mask')
+ return 'of_oxm_bsn_l3_src_class_id_masked'
+end
+of_oxm_v3_dissectors[199432] = dissect_of_oxm_bsn_l3_src_class_id_masked_v3
+
+-- child class of_oxm_bsn_lag_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_lag_id_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_lag_id.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_lag_id.value')
+ return 'of_oxm_bsn_lag_id'
+end
+of_oxm_v3_dissectors[197124] = dissect_of_oxm_bsn_lag_id_v3
+
+-- child class of_oxm_bsn_lag_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_lag_id_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_lag_id_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_lag_id_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_lag_id_masked.value_mask')
+ return 'of_oxm_bsn_lag_id_masked'
+end
+of_oxm_v3_dissectors[197384] = dissect_of_oxm_bsn_lag_id_masked_v3
+
+-- child class of_oxm_bsn_tcp_flags
+-- Child of of_oxm
+function dissect_of_oxm_bsn_tcp_flags_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_tcp_flags.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_bsn_tcp_flags.value')
+ return 'of_oxm_bsn_tcp_flags'
+end
+of_oxm_v3_dissectors[204802] = dissect_of_oxm_bsn_tcp_flags_v3
+
+-- child class of_oxm_bsn_tcp_flags_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_tcp_flags_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_tcp_flags_masked.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_bsn_tcp_flags_masked.value')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_bsn_tcp_flags_masked.value_mask')
+ return 'of_oxm_bsn_tcp_flags_masked'
+end
+of_oxm_v3_dissectors[205060] = dissect_of_oxm_bsn_tcp_flags_masked_v3
+
+-- child class of_oxm_bsn_udf0
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf0_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf0.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf0.value')
+ return 'of_oxm_bsn_udf0'
+end
+of_oxm_v3_dissectors[200708] = dissect_of_oxm_bsn_udf0_v3
+
+-- child class of_oxm_bsn_udf0_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf0_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf0_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf0_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf0_masked.value_mask')
+ return 'of_oxm_bsn_udf0_masked'
+end
+of_oxm_v3_dissectors[200968] = dissect_of_oxm_bsn_udf0_masked_v3
+
+-- child class of_oxm_bsn_udf1
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf1_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf1.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf1.value')
+ return 'of_oxm_bsn_udf1'
+end
+of_oxm_v3_dissectors[201220] = dissect_of_oxm_bsn_udf1_v3
+
+-- child class of_oxm_bsn_udf1_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf1_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf1_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf1_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf1_masked.value_mask')
+ return 'of_oxm_bsn_udf1_masked'
+end
+of_oxm_v3_dissectors[201480] = dissect_of_oxm_bsn_udf1_masked_v3
+
+-- child class of_oxm_bsn_udf2
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf2_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf2.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf2.value')
+ return 'of_oxm_bsn_udf2'
+end
+of_oxm_v3_dissectors[201732] = dissect_of_oxm_bsn_udf2_v3
+
+-- child class of_oxm_bsn_udf2_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf2_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf2_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf2_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf2_masked.value_mask')
+ return 'of_oxm_bsn_udf2_masked'
+end
+of_oxm_v3_dissectors[201992] = dissect_of_oxm_bsn_udf2_masked_v3
+
+-- child class of_oxm_bsn_udf3
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf3_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf3.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf3.value')
+ return 'of_oxm_bsn_udf3'
+end
+of_oxm_v3_dissectors[202244] = dissect_of_oxm_bsn_udf3_v3
+
+-- child class of_oxm_bsn_udf3_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf3_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf3_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf3_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf3_masked.value_mask')
+ return 'of_oxm_bsn_udf3_masked'
+end
+of_oxm_v3_dissectors[202504] = dissect_of_oxm_bsn_udf3_masked_v3
+
+-- child class of_oxm_bsn_udf4
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf4_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf4.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf4.value')
+ return 'of_oxm_bsn_udf4'
+end
+of_oxm_v3_dissectors[202756] = dissect_of_oxm_bsn_udf4_v3
+
+-- child class of_oxm_bsn_udf4_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf4_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf4_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf4_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf4_masked.value_mask')
+ return 'of_oxm_bsn_udf4_masked'
+end
+of_oxm_v3_dissectors[203016] = dissect_of_oxm_bsn_udf4_masked_v3
+
+-- child class of_oxm_bsn_udf5
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf5_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf5.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf5.value')
+ return 'of_oxm_bsn_udf5'
+end
+of_oxm_v3_dissectors[203268] = dissect_of_oxm_bsn_udf5_v3
+
+-- child class of_oxm_bsn_udf5_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf5_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf5_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf5_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf5_masked.value_mask')
+ return 'of_oxm_bsn_udf5_masked'
+end
+of_oxm_v3_dissectors[203528] = dissect_of_oxm_bsn_udf5_masked_v3
+
+-- child class of_oxm_bsn_udf6
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf6_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf6.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf6.value')
+ return 'of_oxm_bsn_udf6'
+end
+of_oxm_v3_dissectors[203780] = dissect_of_oxm_bsn_udf6_v3
+
+-- child class of_oxm_bsn_udf6_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf6_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf6_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf6_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf6_masked.value_mask')
+ return 'of_oxm_bsn_udf6_masked'
+end
+of_oxm_v3_dissectors[204040] = dissect_of_oxm_bsn_udf6_masked_v3
+
+-- child class of_oxm_bsn_udf7
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf7_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf7.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf7.value')
+ return 'of_oxm_bsn_udf7'
+end
+of_oxm_v3_dissectors[204292] = dissect_of_oxm_bsn_udf7_v3
+
+-- child class of_oxm_bsn_udf7_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf7_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf7_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf7_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_udf7_masked.value_mask')
+ return 'of_oxm_bsn_udf7_masked'
+end
+of_oxm_v3_dissectors[204552] = dissect_of_oxm_bsn_udf7_masked_v3
+
+-- child class of_oxm_bsn_vlan_xlate_port_group_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vlan_xlate_port_group_id_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_vlan_xlate_port_group_id.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_vlan_xlate_port_group_id.value')
+ return 'of_oxm_bsn_vlan_xlate_port_group_id'
+end
+of_oxm_v3_dissectors[205316] = dissect_of_oxm_bsn_vlan_xlate_port_group_id_v3
+
+-- child class of_oxm_bsn_vlan_xlate_port_group_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vlan_xlate_port_group_id_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_vlan_xlate_port_group_id_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_vlan_xlate_port_group_id_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask')
+ return 'of_oxm_bsn_vlan_xlate_port_group_id_masked'
+end
+of_oxm_v3_dissectors[205576] = dissect_of_oxm_bsn_vlan_xlate_port_group_id_masked_v3
+
+-- child class of_oxm_bsn_vrf
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vrf_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_vrf.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_vrf.value')
+ return 'of_oxm_bsn_vrf'
+end
+of_oxm_v3_dissectors[197636] = dissect_of_oxm_bsn_vrf_v3
+
+-- child class of_oxm_bsn_vrf_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vrf_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_vrf_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_vrf_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_vrf_masked.value_mask')
+ return 'of_oxm_bsn_vrf_masked'
+end
+of_oxm_v3_dissectors[197896] = dissect_of_oxm_bsn_vrf_masked_v3
+
+-- child class of_oxm_eth_dst
+-- Child of of_oxm
+function dissect_of_oxm_eth_dst_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_eth_dst.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_eth_dst.value')
+ return 'of_oxm_eth_dst'
+end
+of_oxm_v3_dissectors[2147485190] = dissect_of_oxm_eth_dst_v3
+
+-- child class of_oxm_eth_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_eth_dst_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_eth_dst_masked.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_eth_dst_masked.value')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_eth_dst_masked.value_mask')
+ return 'of_oxm_eth_dst_masked'
+end
+of_oxm_v3_dissectors[2147485452] = dissect_of_oxm_eth_dst_masked_v3
+
+-- child class of_oxm_eth_src
+-- Child of of_oxm
+function dissect_of_oxm_eth_src_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_eth_src.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_eth_src.value')
+ return 'of_oxm_eth_src'
+end
+of_oxm_v3_dissectors[2147485702] = dissect_of_oxm_eth_src_v3
+
+-- child class of_oxm_eth_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_eth_src_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_eth_src_masked.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_eth_src_masked.value')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_eth_src_masked.value_mask')
+ return 'of_oxm_eth_src_masked'
+end
+of_oxm_v3_dissectors[2147485964] = dissect_of_oxm_eth_src_masked_v3
+
+-- child class of_oxm_eth_type
+-- Child of of_oxm
+function dissect_of_oxm_eth_type_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_eth_type.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_eth_type.value')
+ return 'of_oxm_eth_type'
+end
+of_oxm_v3_dissectors[2147486210] = dissect_of_oxm_eth_type_v3
+
+-- child class of_oxm_eth_type_masked
+-- Child of of_oxm
+function dissect_of_oxm_eth_type_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_eth_type_masked.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_eth_type_masked.value')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_eth_type_masked.value_mask')
+ return 'of_oxm_eth_type_masked'
+end
+of_oxm_v3_dissectors[2147486468] = dissect_of_oxm_eth_type_masked_v3
+
+-- child class of_oxm_icmpv4_code
+-- Child of of_oxm
+function dissect_of_oxm_icmpv4_code_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_icmpv4_code.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv4_code.value')
+ return 'of_oxm_icmpv4_code'
+end
+of_oxm_v3_dissectors[2147493889] = dissect_of_oxm_icmpv4_code_v3
+
+-- child class of_oxm_icmpv4_code_masked
+-- Child of of_oxm
+function dissect_of_oxm_icmpv4_code_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_icmpv4_code_masked.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv4_code_masked.value')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv4_code_masked.value_mask')
+ return 'of_oxm_icmpv4_code_masked'
+end
+of_oxm_v3_dissectors[2147494146] = dissect_of_oxm_icmpv4_code_masked_v3
+
+-- child class of_oxm_icmpv4_type
+-- Child of of_oxm
+function dissect_of_oxm_icmpv4_type_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_icmpv4_type.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv4_type.value')
+ return 'of_oxm_icmpv4_type'
+end
+of_oxm_v3_dissectors[2147493377] = dissect_of_oxm_icmpv4_type_v3
+
+-- child class of_oxm_icmpv4_type_masked
+-- Child of of_oxm
+function dissect_of_oxm_icmpv4_type_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_icmpv4_type_masked.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv4_type_masked.value')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv4_type_masked.value_mask')
+ return 'of_oxm_icmpv4_type_masked'
+end
+of_oxm_v3_dissectors[2147493634] = dissect_of_oxm_icmpv4_type_masked_v3
+
+-- child class of_oxm_icmpv6_code
+-- Child of of_oxm
+function dissect_of_oxm_icmpv6_code_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_icmpv6_code.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv6_code.value')
+ return 'of_oxm_icmpv6_code'
+end
+of_oxm_v3_dissectors[2147499009] = dissect_of_oxm_icmpv6_code_v3
+
+-- child class of_oxm_icmpv6_code_masked
+-- Child of of_oxm
+function dissect_of_oxm_icmpv6_code_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_icmpv6_code_masked.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv6_code_masked.value')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv6_code_masked.value_mask')
+ return 'of_oxm_icmpv6_code_masked'
+end
+of_oxm_v3_dissectors[2147499266] = dissect_of_oxm_icmpv6_code_masked_v3
+
+-- child class of_oxm_icmpv6_type
+-- Child of of_oxm
+function dissect_of_oxm_icmpv6_type_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_icmpv6_type.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv6_type.value')
+ return 'of_oxm_icmpv6_type'
+end
+of_oxm_v3_dissectors[2147498497] = dissect_of_oxm_icmpv6_type_v3
+
+-- child class of_oxm_icmpv6_type_masked
+-- Child of of_oxm
+function dissect_of_oxm_icmpv6_type_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_icmpv6_type_masked.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv6_type_masked.value')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_icmpv6_type_masked.value_mask')
+ return 'of_oxm_icmpv6_type_masked'
+end
+of_oxm_v3_dissectors[2147498754] = dissect_of_oxm_icmpv6_type_masked_v3
+
+-- child class of_oxm_in_phy_port
+-- Child of of_oxm
+function dissect_of_oxm_in_phy_port_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_in_phy_port.type_len')
+ read_of_port_no_t(reader, 3, subtree, 'of12.oxm_in_phy_port.value')
+ return 'of_oxm_in_phy_port'
+end
+of_oxm_v3_dissectors[2147484164] = dissect_of_oxm_in_phy_port_v3
+
+-- child class of_oxm_in_phy_port_masked
+-- Child of of_oxm
+function dissect_of_oxm_in_phy_port_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_in_phy_port_masked.type_len')
+ read_of_port_no_t(reader, 3, subtree, 'of12.oxm_in_phy_port_masked.value')
+ read_of_port_no_t(reader, 3, subtree, 'of12.oxm_in_phy_port_masked.value_mask')
+ return 'of_oxm_in_phy_port_masked'
+end
+of_oxm_v3_dissectors[2147484424] = dissect_of_oxm_in_phy_port_masked_v3
+
+-- child class of_oxm_in_port
+-- Child of of_oxm
+function dissect_of_oxm_in_port_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_in_port.type_len')
+ read_of_port_no_t(reader, 3, subtree, 'of12.oxm_in_port.value')
+ return 'of_oxm_in_port'
+end
+of_oxm_v3_dissectors[2147483652] = dissect_of_oxm_in_port_v3
+
+-- child class of_oxm_in_port_masked
+-- Child of of_oxm
+function dissect_of_oxm_in_port_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_in_port_masked.type_len')
+ read_of_port_no_t(reader, 3, subtree, 'of12.oxm_in_port_masked.value')
+ read_of_port_no_t(reader, 3, subtree, 'of12.oxm_in_port_masked.value_mask')
+ return 'of_oxm_in_port_masked'
+end
+of_oxm_v3_dissectors[2147483912] = dissect_of_oxm_in_port_masked_v3
+
+-- child class of_oxm_ip_dscp
+-- Child of of_oxm
+function dissect_of_oxm_ip_dscp_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ip_dscp.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_ip_dscp.value')
+ return 'of_oxm_ip_dscp'
+end
+of_oxm_v3_dissectors[2147487745] = dissect_of_oxm_ip_dscp_v3
+
+-- child class of_oxm_ip_dscp_masked
+-- Child of of_oxm
+function dissect_of_oxm_ip_dscp_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ip_dscp_masked.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_ip_dscp_masked.value')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_ip_dscp_masked.value_mask')
+ return 'of_oxm_ip_dscp_masked'
+end
+of_oxm_v3_dissectors[2147488002] = dissect_of_oxm_ip_dscp_masked_v3
+
+-- child class of_oxm_ip_ecn
+-- Child of of_oxm
+function dissect_of_oxm_ip_ecn_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ip_ecn.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_ip_ecn.value')
+ return 'of_oxm_ip_ecn'
+end
+of_oxm_v3_dissectors[2147488257] = dissect_of_oxm_ip_ecn_v3
+
+-- child class of_oxm_ip_ecn_masked
+-- Child of of_oxm
+function dissect_of_oxm_ip_ecn_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ip_ecn_masked.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_ip_ecn_masked.value')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_ip_ecn_masked.value_mask')
+ return 'of_oxm_ip_ecn_masked'
+end
+of_oxm_v3_dissectors[2147488514] = dissect_of_oxm_ip_ecn_masked_v3
+
+-- child class of_oxm_ip_proto
+-- Child of of_oxm
+function dissect_of_oxm_ip_proto_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ip_proto.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_ip_proto.value')
+ return 'of_oxm_ip_proto'
+end
+of_oxm_v3_dissectors[2147488769] = dissect_of_oxm_ip_proto_v3
+
+-- child class of_oxm_ip_proto_masked
+-- Child of of_oxm
+function dissect_of_oxm_ip_proto_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ip_proto_masked.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_ip_proto_masked.value')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_ip_proto_masked.value_mask')
+ return 'of_oxm_ip_proto_masked'
+end
+of_oxm_v3_dissectors[2147489026] = dissect_of_oxm_ip_proto_masked_v3
+
+-- child class of_oxm_ipv4_dst
+-- Child of of_oxm
+function dissect_of_oxm_ipv4_dst_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv4_dst.type_len')
+ read_of_ipv4_t(reader, 3, subtree, 'of12.oxm_ipv4_dst.value')
+ return 'of_oxm_ipv4_dst'
+end
+of_oxm_v3_dissectors[2147489796] = dissect_of_oxm_ipv4_dst_v3
+
+-- child class of_oxm_ipv4_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv4_dst_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv4_dst_masked.type_len')
+ read_of_ipv4_t(reader, 3, subtree, 'of12.oxm_ipv4_dst_masked.value')
+ read_of_ipv4_t(reader, 3, subtree, 'of12.oxm_ipv4_dst_masked.value_mask')
+ return 'of_oxm_ipv4_dst_masked'
+end
+of_oxm_v3_dissectors[2147490056] = dissect_of_oxm_ipv4_dst_masked_v3
+
+-- child class of_oxm_ipv4_src
+-- Child of of_oxm
+function dissect_of_oxm_ipv4_src_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv4_src.type_len')
+ read_of_ipv4_t(reader, 3, subtree, 'of12.oxm_ipv4_src.value')
+ return 'of_oxm_ipv4_src'
+end
+of_oxm_v3_dissectors[2147489284] = dissect_of_oxm_ipv4_src_v3
+
+-- child class of_oxm_ipv4_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv4_src_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv4_src_masked.type_len')
+ read_of_ipv4_t(reader, 3, subtree, 'of12.oxm_ipv4_src_masked.value')
+ read_of_ipv4_t(reader, 3, subtree, 'of12.oxm_ipv4_src_masked.value_mask')
+ return 'of_oxm_ipv4_src_masked'
+end
+of_oxm_v3_dissectors[2147489544] = dissect_of_oxm_ipv4_src_masked_v3
+
+-- child class of_oxm_ipv6_dst
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_dst_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_dst.type_len')
+ read_of_ipv6_t(reader, 3, subtree, 'of12.oxm_ipv6_dst.value')
+ return 'of_oxm_ipv6_dst'
+end
+of_oxm_v3_dissectors[2147497488] = dissect_of_oxm_ipv6_dst_v3
+
+-- child class of_oxm_ipv6_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_dst_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_dst_masked.type_len')
+ read_of_ipv6_t(reader, 3, subtree, 'of12.oxm_ipv6_dst_masked.value')
+ read_of_ipv6_t(reader, 3, subtree, 'of12.oxm_ipv6_dst_masked.value_mask')
+ return 'of_oxm_ipv6_dst_masked'
+end
+of_oxm_v3_dissectors[2147497760] = dissect_of_oxm_ipv6_dst_masked_v3
+
+-- child class of_oxm_ipv6_flabel
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_flabel_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_flabel.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_flabel.value')
+ return 'of_oxm_ipv6_flabel'
+end
+of_oxm_v3_dissectors[2147497988] = dissect_of_oxm_ipv6_flabel_v3
+
+-- child class of_oxm_ipv6_flabel_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_flabel_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_flabel_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_flabel_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_flabel_masked.value_mask')
+ return 'of_oxm_ipv6_flabel_masked'
+end
+of_oxm_v3_dissectors[2147498248] = dissect_of_oxm_ipv6_flabel_masked_v3
+
+-- child class of_oxm_ipv6_nd_sll
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_sll_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_sll.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_sll.value')
+ return 'of_oxm_ipv6_nd_sll'
+end
+of_oxm_v3_dissectors[2147500038] = dissect_of_oxm_ipv6_nd_sll_v3
+
+-- child class of_oxm_ipv6_nd_sll_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_sll_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_sll_masked.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_sll_masked.value')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_sll_masked.value_mask')
+ return 'of_oxm_ipv6_nd_sll_masked'
+end
+of_oxm_v3_dissectors[2147500300] = dissect_of_oxm_ipv6_nd_sll_masked_v3
+
+-- child class of_oxm_ipv6_nd_target
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_target_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_target.type_len')
+ read_of_ipv6_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_target.value')
+ return 'of_oxm_ipv6_nd_target'
+end
+of_oxm_v3_dissectors[2147499536] = dissect_of_oxm_ipv6_nd_target_v3
+
+-- child class of_oxm_ipv6_nd_target_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_target_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_target_masked.type_len')
+ read_of_ipv6_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_target_masked.value')
+ read_of_ipv6_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_target_masked.value_mask')
+ return 'of_oxm_ipv6_nd_target_masked'
+end
+of_oxm_v3_dissectors[2147499808] = dissect_of_oxm_ipv6_nd_target_masked_v3
+
+-- child class of_oxm_ipv6_nd_tll
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_tll_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_tll.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_tll.value')
+ return 'of_oxm_ipv6_nd_tll'
+end
+of_oxm_v3_dissectors[2147500550] = dissect_of_oxm_ipv6_nd_tll_v3
+
+-- child class of_oxm_ipv6_nd_tll_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_tll_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_tll_masked.type_len')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_tll_masked.value')
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.oxm_ipv6_nd_tll_masked.value_mask')
+ return 'of_oxm_ipv6_nd_tll_masked'
+end
+of_oxm_v3_dissectors[2147500812] = dissect_of_oxm_ipv6_nd_tll_masked_v3
+
+-- child class of_oxm_ipv6_src
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_src_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_src.type_len')
+ read_of_ipv6_t(reader, 3, subtree, 'of12.oxm_ipv6_src.value')
+ return 'of_oxm_ipv6_src'
+end
+of_oxm_v3_dissectors[2147496976] = dissect_of_oxm_ipv6_src_v3
+
+-- child class of_oxm_ipv6_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_src_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_ipv6_src_masked.type_len')
+ read_of_ipv6_t(reader, 3, subtree, 'of12.oxm_ipv6_src_masked.value')
+ read_of_ipv6_t(reader, 3, subtree, 'of12.oxm_ipv6_src_masked.value_mask')
+ return 'of_oxm_ipv6_src_masked'
+end
+of_oxm_v3_dissectors[2147497248] = dissect_of_oxm_ipv6_src_masked_v3
+
+-- child class of_oxm_metadata
+-- Child of of_oxm
+function dissect_of_oxm_metadata_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_metadata.type_len')
+ read_uint64_t(reader, 3, subtree, 'of12.oxm_metadata.value')
+ return 'of_oxm_metadata'
+end
+of_oxm_v3_dissectors[2147484680] = dissect_of_oxm_metadata_v3
+
+-- child class of_oxm_metadata_masked
+-- Child of of_oxm
+function dissect_of_oxm_metadata_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_metadata_masked.type_len')
+ read_uint64_t(reader, 3, subtree, 'of12.oxm_metadata_masked.value')
+ read_uint64_t(reader, 3, subtree, 'of12.oxm_metadata_masked.value_mask')
+ return 'of_oxm_metadata_masked'
+end
+of_oxm_v3_dissectors[2147484944] = dissect_of_oxm_metadata_masked_v3
+
+-- child class of_oxm_mpls_label
+-- Child of of_oxm
+function dissect_of_oxm_mpls_label_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_mpls_label.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_mpls_label.value')
+ return 'of_oxm_mpls_label'
+end
+of_oxm_v3_dissectors[2147501060] = dissect_of_oxm_mpls_label_v3
+
+-- child class of_oxm_mpls_label_masked
+-- Child of of_oxm
+function dissect_of_oxm_mpls_label_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_mpls_label_masked.type_len')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_mpls_label_masked.value')
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_mpls_label_masked.value_mask')
+ return 'of_oxm_mpls_label_masked'
+end
+of_oxm_v3_dissectors[2147501320] = dissect_of_oxm_mpls_label_masked_v3
+
+-- child class of_oxm_mpls_tc
+-- Child of of_oxm
+function dissect_of_oxm_mpls_tc_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_mpls_tc.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_mpls_tc.value')
+ return 'of_oxm_mpls_tc'
+end
+of_oxm_v3_dissectors[2147501569] = dissect_of_oxm_mpls_tc_v3
+
+-- child class of_oxm_mpls_tc_masked
+-- Child of of_oxm
+function dissect_of_oxm_mpls_tc_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_mpls_tc_masked.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_mpls_tc_masked.value')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_mpls_tc_masked.value_mask')
+ return 'of_oxm_mpls_tc_masked'
+end
+of_oxm_v3_dissectors[2147501826] = dissect_of_oxm_mpls_tc_masked_v3
+
+-- child class of_oxm_sctp_dst
+-- Child of of_oxm
+function dissect_of_oxm_sctp_dst_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_sctp_dst.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_sctp_dst.value')
+ return 'of_oxm_sctp_dst'
+end
+of_oxm_v3_dissectors[2147492866] = dissect_of_oxm_sctp_dst_v3
+
+-- child class of_oxm_sctp_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_sctp_dst_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_sctp_dst_masked.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_sctp_dst_masked.value')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_sctp_dst_masked.value_mask')
+ return 'of_oxm_sctp_dst_masked'
+end
+of_oxm_v3_dissectors[2147493124] = dissect_of_oxm_sctp_dst_masked_v3
+
+-- child class of_oxm_sctp_src
+-- Child of of_oxm
+function dissect_of_oxm_sctp_src_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_sctp_src.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_sctp_src.value')
+ return 'of_oxm_sctp_src'
+end
+of_oxm_v3_dissectors[2147492354] = dissect_of_oxm_sctp_src_v3
+
+-- child class of_oxm_sctp_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_sctp_src_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_sctp_src_masked.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_sctp_src_masked.value')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_sctp_src_masked.value_mask')
+ return 'of_oxm_sctp_src_masked'
+end
+of_oxm_v3_dissectors[2147492612] = dissect_of_oxm_sctp_src_masked_v3
+
+-- child class of_oxm_tcp_dst
+-- Child of of_oxm
+function dissect_of_oxm_tcp_dst_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_tcp_dst.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_tcp_dst.value')
+ return 'of_oxm_tcp_dst'
+end
+of_oxm_v3_dissectors[2147490818] = dissect_of_oxm_tcp_dst_v3
+
+-- child class of_oxm_tcp_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_tcp_dst_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_tcp_dst_masked.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_tcp_dst_masked.value')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_tcp_dst_masked.value_mask')
+ return 'of_oxm_tcp_dst_masked'
+end
+of_oxm_v3_dissectors[2147491076] = dissect_of_oxm_tcp_dst_masked_v3
+
+-- child class of_oxm_tcp_src
+-- Child of of_oxm
+function dissect_of_oxm_tcp_src_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_tcp_src.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_tcp_src.value')
+ return 'of_oxm_tcp_src'
+end
+of_oxm_v3_dissectors[2147490306] = dissect_of_oxm_tcp_src_v3
+
+-- child class of_oxm_tcp_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_tcp_src_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_tcp_src_masked.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_tcp_src_masked.value')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_tcp_src_masked.value_mask')
+ return 'of_oxm_tcp_src_masked'
+end
+of_oxm_v3_dissectors[2147490564] = dissect_of_oxm_tcp_src_masked_v3
+
+-- child class of_oxm_udp_dst
+-- Child of of_oxm
+function dissect_of_oxm_udp_dst_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_udp_dst.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_udp_dst.value')
+ return 'of_oxm_udp_dst'
+end
+of_oxm_v3_dissectors[2147491842] = dissect_of_oxm_udp_dst_v3
+
+-- child class of_oxm_udp_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_udp_dst_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_udp_dst_masked.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_udp_dst_masked.value')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_udp_dst_masked.value_mask')
+ return 'of_oxm_udp_dst_masked'
+end
+of_oxm_v3_dissectors[2147492100] = dissect_of_oxm_udp_dst_masked_v3
+
+-- child class of_oxm_udp_src
+-- Child of of_oxm
+function dissect_of_oxm_udp_src_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_udp_src.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_udp_src.value')
+ return 'of_oxm_udp_src'
+end
+of_oxm_v3_dissectors[2147491330] = dissect_of_oxm_udp_src_v3
+
+-- child class of_oxm_udp_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_udp_src_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_udp_src_masked.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_udp_src_masked.value')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_udp_src_masked.value_mask')
+ return 'of_oxm_udp_src_masked'
+end
+of_oxm_v3_dissectors[2147491588] = dissect_of_oxm_udp_src_masked_v3
+
+-- child class of_oxm_vlan_pcp
+-- Child of of_oxm
+function dissect_of_oxm_vlan_pcp_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_vlan_pcp.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_vlan_pcp.value')
+ return 'of_oxm_vlan_pcp'
+end
+of_oxm_v3_dissectors[2147487233] = dissect_of_oxm_vlan_pcp_v3
+
+-- child class of_oxm_vlan_pcp_masked
+-- Child of of_oxm
+function dissect_of_oxm_vlan_pcp_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_vlan_pcp_masked.type_len')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_vlan_pcp_masked.value')
+ read_uint8_t(reader, 3, subtree, 'of12.oxm_vlan_pcp_masked.value_mask')
+ return 'of_oxm_vlan_pcp_masked'
+end
+of_oxm_v3_dissectors[2147487490] = dissect_of_oxm_vlan_pcp_masked_v3
+
+-- child class of_oxm_vlan_vid
+-- Child of of_oxm
+function dissect_of_oxm_vlan_vid_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_vlan_vid.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_vlan_vid.value')
+ return 'of_oxm_vlan_vid'
+end
+of_oxm_v3_dissectors[2147486722] = dissect_of_oxm_vlan_vid_v3
+
+-- child class of_oxm_vlan_vid_masked
+-- Child of of_oxm
+function dissect_of_oxm_vlan_vid_masked_v3(reader, subtree)
+ read_uint32_t(reader, 3, subtree, 'of12.oxm_vlan_vid_masked.type_len')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_vlan_vid_masked.value')
+ read_uint16_t(reader, 3, subtree, 'of12.oxm_vlan_vid_masked.value_mask')
+ return 'of_oxm_vlan_vid_masked'
+end
+of_oxm_v3_dissectors[2147486980] = dissect_of_oxm_vlan_vid_masked_v3
+
+-- child class of_packet_in
+-- Child of of_header
+function dissect_of_packet_in_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.packet_in.version')
+ read_uint8_t(reader, 3, subtree, 'of12.packet_in.type')
+ read_uint16_t(reader, 3, subtree, 'of12.packet_in.length')
+ read_uint32_t(reader, 3, subtree, 'of12.packet_in.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.packet_in.buffer_id')
+ read_uint16_t(reader, 3, subtree, 'of12.packet_in.total_len')
+ read_uint8_t(reader, 3, subtree, 'of12.packet_in.reason')
+ read_uint8_t(reader, 3, subtree, 'of12.packet_in.table_id')
+ read_of_match_t(reader, 3, subtree, 'of12.packet_in.match')
+ reader.skip(2)
+ read_ethernet(reader, 3, subtree, 'of12.packet_in.data')
+ return 'of_packet_in'
+end
+of_header_v3_dissectors[10] = dissect_of_packet_in_v3
+
+-- child class of_packet_out
+-- Child of of_header
+function dissect_of_packet_out_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.packet_out.version')
+ read_uint8_t(reader, 3, subtree, 'of12.packet_out.type')
+ read_uint16_t(reader, 3, subtree, 'of12.packet_out.length')
+ read_uint32_t(reader, 3, subtree, 'of12.packet_out.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.packet_out.buffer_id')
+ read_of_port_no_t(reader, 3, subtree, 'of12.packet_out.in_port')
+ local _actions_length = reader.peek(0, 2):uint()
+ read_uint16_t(reader, 3, subtree, 'of12.packet_out.actions_len')
+ reader.skip(6)
+ read_list(reader.slice(_actions_length), dissect_of_action_v3, subtree, 'of_action')
+ read_ethernet(reader, 3, subtree, 'of12.packet_out.data')
+ return 'of_packet_out'
+end
+of_header_v3_dissectors[13] = dissect_of_packet_out_v3
+
+-- top-level class of_packet_queue
+function dissect_of_packet_queue_v3(reader, subtree)
+ local _length = reader.peek(8, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint32_t(reader, 3, subtree, 'of12.packet_queue.queue_id')
+ read_of_port_no_t(reader, 3, subtree, 'of12.packet_queue.port')
+ read_uint16_t(reader, 3, subtree, 'of12.packet_queue.len')
+ reader.skip(6)
+ read_list(reader, dissect_of_queue_prop_v3, subtree, 'of_queue_prop')
+ return 'of_packet_queue'
+end
+-- top-level class of_port_desc
+function dissect_of_port_desc_v3(reader, subtree)
+ read_of_port_no_t(reader, 3, subtree, 'of12.port_desc.port_no')
+ reader.skip(4)
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.port_desc.hw_addr')
+ reader.skip(2)
+ read_of_port_name_t(reader, 3, subtree, 'of12.port_desc.name')
+ read_uint32_t(reader, 3, subtree, 'of12.port_desc.config')
+ read_uint32_t(reader, 3, subtree, 'of12.port_desc.state')
+ read_uint32_t(reader, 3, subtree, 'of12.port_desc.curr')
+ read_uint32_t(reader, 3, subtree, 'of12.port_desc.advertised')
+ read_uint32_t(reader, 3, subtree, 'of12.port_desc.supported')
+ read_uint32_t(reader, 3, subtree, 'of12.port_desc.peer')
+ read_uint32_t(reader, 3, subtree, 'of12.port_desc.curr_speed')
+ read_uint32_t(reader, 3, subtree, 'of12.port_desc.max_speed')
+ return 'of_port_desc'
+end
+-- child class of_port_mod
+-- Child of of_header
+function dissect_of_port_mod_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.port_mod.version')
+ read_uint8_t(reader, 3, subtree, 'of12.port_mod.type')
+ read_uint16_t(reader, 3, subtree, 'of12.port_mod.length')
+ read_uint32_t(reader, 3, subtree, 'of12.port_mod.xid')
+ read_of_port_no_t(reader, 3, subtree, 'of12.port_mod.port_no')
+ reader.skip(4)
+ read_of_mac_addr_t(reader, 3, subtree, 'of12.port_mod.hw_addr')
+ reader.skip(2)
+ read_uint32_t(reader, 3, subtree, 'of12.port_mod.config')
+ read_uint32_t(reader, 3, subtree, 'of12.port_mod.mask')
+ read_uint32_t(reader, 3, subtree, 'of12.port_mod.advertise')
+ reader.skip(4)
+ return 'of_port_mod'
+end
+of_header_v3_dissectors[16] = dissect_of_port_mod_v3
+
+-- child class of_port_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_port_mod_failed_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.port_mod_failed_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.port_mod_failed_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.port_mod_failed_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.port_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.port_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.port_mod_failed_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.port_mod_failed_error_msg.data')
+ return 'of_port_mod_failed_error_msg'
+end
+of_error_msg_v3_dissectors[7] = dissect_of_port_mod_failed_error_msg_v3
+
+-- top-level class of_port_stats_entry
+function dissect_of_port_stats_entry_v3(reader, subtree)
+ read_of_port_no_t(reader, 3, subtree, 'of12.port_stats_entry.port_no')
+ reader.skip(4)
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.rx_packets')
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.tx_packets')
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.rx_bytes')
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.tx_bytes')
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.rx_dropped')
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.tx_dropped')
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.rx_errors')
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.tx_errors')
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.rx_frame_err')
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.rx_over_err')
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.rx_crc_err')
+ read_uint64_t(reader, 3, subtree, 'of12.port_stats_entry.collisions')
+ return 'of_port_stats_entry'
+end
+-- child class of_port_stats_reply
+-- Child of of_stats_reply
+function dissect_of_port_stats_reply_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.port_stats_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.port_stats_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.port_stats_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.port_stats_reply.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.port_stats_reply.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.port_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_port_stats_entry_v3, subtree, 'of_port_stats_entry')
+ return 'of_port_stats_reply'
+end
+of_stats_reply_v3_dissectors[4] = dissect_of_port_stats_reply_v3
+
+-- child class of_port_stats_request
+-- Child of of_stats_request
+function dissect_of_port_stats_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.port_stats_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.port_stats_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.port_stats_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.port_stats_request.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.port_stats_request.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.port_stats_request.flags')
+ reader.skip(4)
+ read_of_port_no_t(reader, 3, subtree, 'of12.port_stats_request.port_no')
+ reader.skip(4)
+ return 'of_port_stats_request'
+end
+of_stats_request_v3_dissectors[4] = dissect_of_port_stats_request_v3
+
+-- child class of_port_status
+-- Child of of_header
+function dissect_of_port_status_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.port_status.version')
+ read_uint8_t(reader, 3, subtree, 'of12.port_status.type')
+ read_uint16_t(reader, 3, subtree, 'of12.port_status.length')
+ read_uint32_t(reader, 3, subtree, 'of12.port_status.xid')
+ read_uint8_t(reader, 3, subtree, 'of12.port_status.reason')
+ reader.skip(7)
+ read_of_port_desc_t(reader, 3, subtree, 'of12.port_status.desc')
+ return 'of_port_status'
+end
+of_header_v3_dissectors[12] = dissect_of_port_status_v3
+
+-- child class of_queue_get_config_reply
+-- Child of of_header
+function dissect_of_queue_get_config_reply_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.queue_get_config_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.queue_get_config_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_get_config_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.queue_get_config_reply.xid')
+ read_of_port_no_t(reader, 3, subtree, 'of12.queue_get_config_reply.port')
+ reader.skip(4)
+ read_list(reader, dissect_of_packet_queue_v3, subtree, 'of_packet_queue')
+ return 'of_queue_get_config_reply'
+end
+of_header_v3_dissectors[23] = dissect_of_queue_get_config_reply_v3
+
+-- child class of_queue_get_config_request
+-- Child of of_header
+function dissect_of_queue_get_config_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.queue_get_config_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.queue_get_config_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_get_config_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.queue_get_config_request.xid')
+ read_of_port_no_t(reader, 3, subtree, 'of12.queue_get_config_request.port')
+ reader.skip(4)
+ return 'of_queue_get_config_request'
+end
+of_header_v3_dissectors[22] = dissect_of_queue_get_config_request_v3
+
+-- child class of_queue_op_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_queue_op_failed_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.queue_op_failed_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.queue_op_failed_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_op_failed_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.queue_op_failed_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_op_failed_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_op_failed_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.queue_op_failed_error_msg.data')
+ return 'of_queue_op_failed_error_msg'
+end
+of_error_msg_v3_dissectors[9] = dissect_of_queue_op_failed_error_msg_v3
+
+-- virtual top-level class of_queue_prop
+-- Discriminator is type
+function dissect_of_queue_prop_v3(reader, subtree)
+ return of_queue_prop_v3_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- virtual child class of_queue_prop_experimenter
+-- Child of of_queue_prop
+-- Discriminator is experimenter
+function dissect_of_queue_prop_experimenter_v3(reader, subtree)
+ return of_queue_prop_experimenter_v3_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_queue_prop_v3_dissectors[65535] = dissect_of_queue_prop_experimenter_v3
+
+-- child class of_queue_prop_max_rate
+-- Child of of_queue_prop
+function dissect_of_queue_prop_max_rate_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.queue_prop_max_rate.type')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_prop_max_rate.len')
+ reader.skip(4)
+ read_uint16_t(reader, 3, subtree, 'of12.queue_prop_max_rate.rate')
+ reader.skip(6)
+ return 'of_queue_prop_max_rate'
+end
+of_queue_prop_v3_dissectors[2] = dissect_of_queue_prop_max_rate_v3
+
+-- child class of_queue_prop_min_rate
+-- Child of of_queue_prop
+function dissect_of_queue_prop_min_rate_v3(reader, subtree)
+ read_uint16_t(reader, 3, subtree, 'of12.queue_prop_min_rate.type')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_prop_min_rate.len')
+ reader.skip(4)
+ read_uint16_t(reader, 3, subtree, 'of12.queue_prop_min_rate.rate')
+ reader.skip(6)
+ return 'of_queue_prop_min_rate'
+end
+of_queue_prop_v3_dissectors[1] = dissect_of_queue_prop_min_rate_v3
+
+-- top-level class of_queue_stats_entry
+function dissect_of_queue_stats_entry_v3(reader, subtree)
+ read_of_port_no_t(reader, 3, subtree, 'of12.queue_stats_entry.port_no')
+ read_uint32_t(reader, 3, subtree, 'of12.queue_stats_entry.queue_id')
+ read_uint64_t(reader, 3, subtree, 'of12.queue_stats_entry.tx_bytes')
+ read_uint64_t(reader, 3, subtree, 'of12.queue_stats_entry.tx_packets')
+ read_uint64_t(reader, 3, subtree, 'of12.queue_stats_entry.tx_errors')
+ return 'of_queue_stats_entry'
+end
+-- child class of_queue_stats_reply
+-- Child of of_stats_reply
+function dissect_of_queue_stats_reply_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.queue_stats_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.queue_stats_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_stats_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.queue_stats_reply.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_stats_reply.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_queue_stats_entry_v3, subtree, 'of_queue_stats_entry')
+ return 'of_queue_stats_reply'
+end
+of_stats_reply_v3_dissectors[5] = dissect_of_queue_stats_reply_v3
+
+-- child class of_queue_stats_request
+-- Child of of_stats_request
+function dissect_of_queue_stats_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.queue_stats_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.queue_stats_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_stats_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.queue_stats_request.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_stats_request.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.queue_stats_request.flags')
+ reader.skip(4)
+ read_of_port_no_t(reader, 3, subtree, 'of12.queue_stats_request.port_no')
+ read_uint32_t(reader, 3, subtree, 'of12.queue_stats_request.queue_id')
+ return 'of_queue_stats_request'
+end
+of_stats_request_v3_dissectors[5] = dissect_of_queue_stats_request_v3
+
+-- child class of_role_reply
+-- Child of of_header
+function dissect_of_role_reply_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.role_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.role_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.role_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.role_reply.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.role_reply.role')
+ reader.skip(4)
+ read_uint64_t(reader, 3, subtree, 'of12.role_reply.generation_id')
+ return 'of_role_reply'
+end
+of_header_v3_dissectors[25] = dissect_of_role_reply_v3
+
+-- child class of_role_request
+-- Child of of_header
+function dissect_of_role_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.role_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.role_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.role_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.role_request.xid')
+ read_uint32_t(reader, 3, subtree, 'of12.role_request.role')
+ reader.skip(4)
+ read_uint64_t(reader, 3, subtree, 'of12.role_request.generation_id')
+ return 'of_role_request'
+end
+of_header_v3_dissectors[24] = dissect_of_role_request_v3
+
+-- child class of_role_request_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_role_request_failed_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.role_request_failed_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.role_request_failed_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.role_request_failed_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.role_request_failed_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.role_request_failed_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.role_request_failed_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.role_request_failed_error_msg.data')
+ return 'of_role_request_failed_error_msg'
+end
+of_error_msg_v3_dissectors[11] = dissect_of_role_request_failed_error_msg_v3
+
+-- child class of_set_config
+-- Child of of_header
+function dissect_of_set_config_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.set_config.version')
+ read_uint8_t(reader, 3, subtree, 'of12.set_config.type')
+ read_uint16_t(reader, 3, subtree, 'of12.set_config.length')
+ read_uint32_t(reader, 3, subtree, 'of12.set_config.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.set_config.flags')
+ read_uint16_t(reader, 3, subtree, 'of12.set_config.miss_send_len')
+ return 'of_set_config'
+end
+of_header_v3_dissectors[9] = dissect_of_set_config_v3
+
+-- child class of_switch_config_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_switch_config_failed_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.switch_config_failed_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.switch_config_failed_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.switch_config_failed_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.switch_config_failed_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.switch_config_failed_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.switch_config_failed_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.switch_config_failed_error_msg.data')
+ return 'of_switch_config_failed_error_msg'
+end
+of_error_msg_v3_dissectors[10] = dissect_of_switch_config_failed_error_msg_v3
+
+-- child class of_table_mod
+-- Child of of_header
+function dissect_of_table_mod_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.table_mod.version')
+ read_uint8_t(reader, 3, subtree, 'of12.table_mod.type')
+ read_uint16_t(reader, 3, subtree, 'of12.table_mod.length')
+ read_uint32_t(reader, 3, subtree, 'of12.table_mod.xid')
+ read_uint8_t(reader, 3, subtree, 'of12.table_mod.table_id')
+ reader.skip(3)
+ read_uint32_t(reader, 3, subtree, 'of12.table_mod.config')
+ return 'of_table_mod'
+end
+of_header_v3_dissectors[17] = dissect_of_table_mod_v3
+
+-- child class of_table_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_table_mod_failed_error_msg_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.table_mod_failed_error_msg.version')
+ read_uint8_t(reader, 3, subtree, 'of12.table_mod_failed_error_msg.type')
+ read_uint16_t(reader, 3, subtree, 'of12.table_mod_failed_error_msg.length')
+ read_uint32_t(reader, 3, subtree, 'of12.table_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.table_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 3, subtree, 'of12.table_mod_failed_error_msg.code')
+ read_openflow(reader, 3, subtree, 'of12.table_mod_failed_error_msg.data')
+ return 'of_table_mod_failed_error_msg'
+end
+of_error_msg_v3_dissectors[8] = dissect_of_table_mod_failed_error_msg_v3
+
+-- top-level class of_table_stats_entry
+function dissect_of_table_stats_entry_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.table_stats_entry.table_id')
+ reader.skip(7)
+ read_of_table_name_t(reader, 3, subtree, 'of12.table_stats_entry.name')
+ read_of_match_bmap_t(reader, 3, subtree, 'of12.table_stats_entry.match')
+ read_of_wc_bmap_t(reader, 3, subtree, 'of12.table_stats_entry.wildcards')
+ read_uint32_t(reader, 3, subtree, 'of12.table_stats_entry.write_actions')
+ read_uint32_t(reader, 3, subtree, 'of12.table_stats_entry.apply_actions')
+ read_uint64_t(reader, 3, subtree, 'of12.table_stats_entry.write_setfields')
+ read_uint64_t(reader, 3, subtree, 'of12.table_stats_entry.apply_setfields')
+ read_uint64_t(reader, 3, subtree, 'of12.table_stats_entry.metadata_match')
+ read_uint64_t(reader, 3, subtree, 'of12.table_stats_entry.metadata_write')
+ read_uint32_t(reader, 3, subtree, 'of12.table_stats_entry.instructions')
+ read_uint32_t(reader, 3, subtree, 'of12.table_stats_entry.config')
+ read_uint32_t(reader, 3, subtree, 'of12.table_stats_entry.max_entries')
+ read_uint32_t(reader, 3, subtree, 'of12.table_stats_entry.active_count')
+ read_uint64_t(reader, 3, subtree, 'of12.table_stats_entry.lookup_count')
+ read_uint64_t(reader, 3, subtree, 'of12.table_stats_entry.matched_count')
+ return 'of_table_stats_entry'
+end
+-- child class of_table_stats_reply
+-- Child of of_stats_reply
+function dissect_of_table_stats_reply_v3(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 3, subtree, 'of12.table_stats_reply.version')
+ read_uint8_t(reader, 3, subtree, 'of12.table_stats_reply.type')
+ read_uint16_t(reader, 3, subtree, 'of12.table_stats_reply.length')
+ read_uint32_t(reader, 3, subtree, 'of12.table_stats_reply.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.table_stats_reply.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.table_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_table_stats_entry_v3, subtree, 'of_table_stats_entry')
+ return 'of_table_stats_reply'
+end
+of_stats_reply_v3_dissectors[3] = dissect_of_table_stats_reply_v3
+
+-- child class of_table_stats_request
+-- Child of of_stats_request
+function dissect_of_table_stats_request_v3(reader, subtree)
+ read_uint8_t(reader, 3, subtree, 'of12.table_stats_request.version')
+ read_uint8_t(reader, 3, subtree, 'of12.table_stats_request.type')
+ read_uint16_t(reader, 3, subtree, 'of12.table_stats_request.length')
+ read_uint32_t(reader, 3, subtree, 'of12.table_stats_request.xid')
+ read_uint16_t(reader, 3, subtree, 'of12.table_stats_request.stats_type')
+ read_uint16_t(reader, 3, subtree, 'of12.table_stats_request.flags')
+ reader.skip(4)
+ return 'of_table_stats_request'
+end
+of_stats_request_v3_dissectors[3] = dissect_of_table_stats_request_v3
+
+-- virtual top-level class of_action
+-- Discriminator is type
+function dissect_of_action_v4(reader, subtree)
+ return of_action_v4_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- virtual top-level class of_action_id
+-- Discriminator is type
+function dissect_of_action_id_v4(reader, subtree)
+ return of_action_id_v4_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- virtual child class of_action_experimenter
+-- Child of of_action
+-- Discriminator is experimenter
+function dissect_of_action_experimenter_v4(reader, subtree)
+ return of_action_experimenter_v4_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_action_v4_dissectors[65535] = dissect_of_action_experimenter_v4
+
+-- virtual child class of_action_bsn
+-- Child of of_action_experimenter
+-- Discriminator is subtype
+function dissect_of_action_bsn_v4(reader, subtree)
+ return of_action_bsn_v4_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_action_experimenter_v4_dissectors[6035143] = dissect_of_action_bsn_v4
+
+-- virtual child class of_action_id_experimenter
+-- Child of of_action_id
+-- Discriminator is experimenter
+function dissect_of_action_id_experimenter_v4(reader, subtree)
+ return of_action_id_experimenter_v4_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_action_id_v4_dissectors[65535] = dissect_of_action_id_experimenter_v4
+
+-- virtual child class of_action_id_bsn
+-- Child of of_action_id_experimenter
+-- Discriminator is subtype
+function dissect_of_action_id_bsn_v4(reader, subtree)
+ return of_action_id_bsn_v4_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_action_id_experimenter_v4_dissectors[6035143] = dissect_of_action_id_bsn_v4
+
+-- child class of_action_bsn_checksum
+-- Child of of_action_bsn
+function dissect_of_action_bsn_checksum_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_bsn_checksum.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_bsn_checksum.len')
+ read_uint32_t(reader, 4, subtree, 'of13.action_bsn_checksum.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.action_bsn_checksum.subtype')
+ read_of_checksum_128_t(reader, 4, subtree, 'of13.action_bsn_checksum.checksum')
+ return 'of_action_bsn_checksum'
+end
+of_action_bsn_v4_dissectors[4] = dissect_of_action_bsn_checksum_v4
+
+-- child class of_action_id_bsn_checksum
+-- Child of of_action_id_bsn
+function dissect_of_action_id_bsn_checksum_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_bsn_checksum.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_bsn_checksum.len')
+ read_uint32_t(reader, 4, subtree, 'of13.action_id_bsn_checksum.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.action_id_bsn_checksum.subtype')
+ return 'of_action_id_bsn_checksum'
+end
+of_action_id_bsn_v4_dissectors[4] = dissect_of_action_id_bsn_checksum_v4
+
+-- child class of_action_bsn_mirror
+-- Child of of_action_bsn
+function dissect_of_action_bsn_mirror_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_bsn_mirror.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_bsn_mirror.len')
+ read_uint32_t(reader, 4, subtree, 'of13.action_bsn_mirror.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.action_bsn_mirror.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.action_bsn_mirror.dest_port')
+ read_uint32_t(reader, 4, subtree, 'of13.action_bsn_mirror.vlan_tag')
+ read_uint8_t(reader, 4, subtree, 'of13.action_bsn_mirror.copy_stage')
+ reader.skip(3)
+ return 'of_action_bsn_mirror'
+end
+of_action_bsn_v4_dissectors[1] = dissect_of_action_bsn_mirror_v4
+
+-- child class of_action_id_bsn_mirror
+-- Child of of_action_id_bsn
+function dissect_of_action_id_bsn_mirror_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_bsn_mirror.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_bsn_mirror.len')
+ read_uint32_t(reader, 4, subtree, 'of13.action_id_bsn_mirror.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.action_id_bsn_mirror.subtype')
+ return 'of_action_id_bsn_mirror'
+end
+of_action_id_bsn_v4_dissectors[1] = dissect_of_action_id_bsn_mirror_v4
+
+-- child class of_action_bsn_set_tunnel_dst
+-- Child of of_action_bsn
+function dissect_of_action_bsn_set_tunnel_dst_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_bsn_set_tunnel_dst.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_bsn_set_tunnel_dst.len')
+ read_uint32_t(reader, 4, subtree, 'of13.action_bsn_set_tunnel_dst.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.action_bsn_set_tunnel_dst.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.action_bsn_set_tunnel_dst.dst')
+ return 'of_action_bsn_set_tunnel_dst'
+end
+of_action_bsn_v4_dissectors[2] = dissect_of_action_bsn_set_tunnel_dst_v4
+
+-- child class of_action_id_bsn_set_tunnel_dst
+-- Child of of_action_id_bsn
+function dissect_of_action_id_bsn_set_tunnel_dst_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_bsn_set_tunnel_dst.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_bsn_set_tunnel_dst.len')
+ read_uint32_t(reader, 4, subtree, 'of13.action_id_bsn_set_tunnel_dst.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.action_id_bsn_set_tunnel_dst.subtype')
+ return 'of_action_id_bsn_set_tunnel_dst'
+end
+of_action_id_bsn_v4_dissectors[2] = dissect_of_action_id_bsn_set_tunnel_dst_v4
+
+-- child class of_action_copy_ttl_in
+-- Child of of_action
+function dissect_of_action_copy_ttl_in_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_copy_ttl_in.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_copy_ttl_in.len')
+ reader.skip(4)
+ return 'of_action_copy_ttl_in'
+end
+of_action_v4_dissectors[12] = dissect_of_action_copy_ttl_in_v4
+
+-- child class of_action_id_copy_ttl_in
+-- Child of of_action_id
+function dissect_of_action_id_copy_ttl_in_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_copy_ttl_in.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_copy_ttl_in.len')
+ return 'of_action_id_copy_ttl_in'
+end
+of_action_id_v4_dissectors[12] = dissect_of_action_id_copy_ttl_in_v4
+
+-- child class of_action_copy_ttl_out
+-- Child of of_action
+function dissect_of_action_copy_ttl_out_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_copy_ttl_out.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_copy_ttl_out.len')
+ reader.skip(4)
+ return 'of_action_copy_ttl_out'
+end
+of_action_v4_dissectors[11] = dissect_of_action_copy_ttl_out_v4
+
+-- child class of_action_id_copy_ttl_out
+-- Child of of_action_id
+function dissect_of_action_id_copy_ttl_out_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_copy_ttl_out.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_copy_ttl_out.len')
+ return 'of_action_id_copy_ttl_out'
+end
+of_action_id_v4_dissectors[11] = dissect_of_action_id_copy_ttl_out_v4
+
+-- child class of_action_dec_mpls_ttl
+-- Child of of_action
+function dissect_of_action_dec_mpls_ttl_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_dec_mpls_ttl.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_dec_mpls_ttl.len')
+ reader.skip(4)
+ return 'of_action_dec_mpls_ttl'
+end
+of_action_v4_dissectors[16] = dissect_of_action_dec_mpls_ttl_v4
+
+-- child class of_action_id_dec_mpls_ttl
+-- Child of of_action_id
+function dissect_of_action_id_dec_mpls_ttl_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_dec_mpls_ttl.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_dec_mpls_ttl.len')
+ return 'of_action_id_dec_mpls_ttl'
+end
+of_action_id_v4_dissectors[16] = dissect_of_action_id_dec_mpls_ttl_v4
+
+-- child class of_action_dec_nw_ttl
+-- Child of of_action
+function dissect_of_action_dec_nw_ttl_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_dec_nw_ttl.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_dec_nw_ttl.len')
+ reader.skip(4)
+ return 'of_action_dec_nw_ttl'
+end
+of_action_v4_dissectors[24] = dissect_of_action_dec_nw_ttl_v4
+
+-- child class of_action_id_dec_nw_ttl
+-- Child of of_action_id
+function dissect_of_action_id_dec_nw_ttl_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_dec_nw_ttl.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_dec_nw_ttl.len')
+ return 'of_action_id_dec_nw_ttl'
+end
+of_action_id_v4_dissectors[24] = dissect_of_action_id_dec_nw_ttl_v4
+
+-- child class of_action_group
+-- Child of of_action
+function dissect_of_action_group_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_group.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_group.len')
+ read_uint32_t(reader, 4, subtree, 'of13.action_group.group_id')
+ return 'of_action_group'
+end
+of_action_v4_dissectors[22] = dissect_of_action_group_v4
+
+-- child class of_action_id_group
+-- Child of of_action_id
+function dissect_of_action_id_group_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_group.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_group.len')
+ return 'of_action_id_group'
+end
+of_action_id_v4_dissectors[22] = dissect_of_action_id_group_v4
+
+-- virtual child class of_action_nicira
+-- Child of of_action_experimenter
+-- Discriminator is subtype
+function dissect_of_action_nicira_v4(reader, subtree)
+ return of_action_nicira_v4_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_action_experimenter_v4_dissectors[8992] = dissect_of_action_nicira_v4
+
+-- virtual child class of_action_id_nicira
+-- Child of of_action_id_experimenter
+-- Discriminator is subtype
+function dissect_of_action_id_nicira_v4(reader, subtree)
+ return of_action_id_nicira_v4_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_action_id_experimenter_v4_dissectors[8992] = dissect_of_action_id_nicira_v4
+
+-- child class of_action_nicira_dec_ttl
+-- Child of of_action_nicira
+function dissect_of_action_nicira_dec_ttl_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_nicira_dec_ttl.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_nicira_dec_ttl.len')
+ read_uint32_t(reader, 4, subtree, 'of13.action_nicira_dec_ttl.experimenter')
+ read_uint16_t(reader, 4, subtree, 'of13.action_nicira_dec_ttl.subtype')
+ reader.skip(2)
+ reader.skip(4)
+ return 'of_action_nicira_dec_ttl'
+end
+of_action_nicira_v4_dissectors[18] = dissect_of_action_nicira_dec_ttl_v4
+
+-- child class of_action_id_nicira_dec_ttl
+-- Child of of_action_id_nicira
+function dissect_of_action_id_nicira_dec_ttl_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_nicira_dec_ttl.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_nicira_dec_ttl.len')
+ read_uint32_t(reader, 4, subtree, 'of13.action_id_nicira_dec_ttl.experimenter')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_nicira_dec_ttl.subtype')
+ return 'of_action_id_nicira_dec_ttl'
+end
+of_action_id_nicira_v4_dissectors[18] = dissect_of_action_id_nicira_dec_ttl_v4
+
+-- child class of_action_output
+-- Child of of_action
+function dissect_of_action_output_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_output.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_output.len')
+ read_of_port_no_t(reader, 4, subtree, 'of13.action_output.port')
+ read_uint16_t(reader, 4, subtree, 'of13.action_output.max_len')
+ reader.skip(6)
+ return 'of_action_output'
+end
+of_action_v4_dissectors[0] = dissect_of_action_output_v4
+
+-- child class of_action_id_output
+-- Child of of_action_id
+function dissect_of_action_id_output_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_output.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_output.len')
+ return 'of_action_id_output'
+end
+of_action_id_v4_dissectors[0] = dissect_of_action_id_output_v4
+
+-- child class of_action_pop_mpls
+-- Child of of_action
+function dissect_of_action_pop_mpls_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_pop_mpls.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_pop_mpls.len')
+ read_uint16_t(reader, 4, subtree, 'of13.action_pop_mpls.ethertype')
+ reader.skip(2)
+ return 'of_action_pop_mpls'
+end
+of_action_v4_dissectors[20] = dissect_of_action_pop_mpls_v4
+
+-- child class of_action_id_pop_mpls
+-- Child of of_action_id
+function dissect_of_action_id_pop_mpls_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_pop_mpls.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_pop_mpls.len')
+ return 'of_action_id_pop_mpls'
+end
+of_action_id_v4_dissectors[20] = dissect_of_action_id_pop_mpls_v4
+
+-- child class of_action_pop_pbb
+-- Child of of_action
+function dissect_of_action_pop_pbb_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_pop_pbb.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_pop_pbb.len')
+ reader.skip(4)
+ return 'of_action_pop_pbb'
+end
+of_action_v4_dissectors[27] = dissect_of_action_pop_pbb_v4
+
+-- child class of_action_id_pop_pbb
+-- Child of of_action_id
+function dissect_of_action_id_pop_pbb_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_pop_pbb.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_pop_pbb.len')
+ return 'of_action_id_pop_pbb'
+end
+of_action_id_v4_dissectors[27] = dissect_of_action_id_pop_pbb_v4
+
+-- child class of_action_pop_vlan
+-- Child of of_action
+function dissect_of_action_pop_vlan_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_pop_vlan.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_pop_vlan.len')
+ reader.skip(4)
+ return 'of_action_pop_vlan'
+end
+of_action_v4_dissectors[18] = dissect_of_action_pop_vlan_v4
+
+-- child class of_action_id_pop_vlan
+-- Child of of_action_id
+function dissect_of_action_id_pop_vlan_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_pop_vlan.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_pop_vlan.len')
+ return 'of_action_id_pop_vlan'
+end
+of_action_id_v4_dissectors[18] = dissect_of_action_id_pop_vlan_v4
+
+-- child class of_action_push_mpls
+-- Child of of_action
+function dissect_of_action_push_mpls_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_push_mpls.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_push_mpls.len')
+ read_uint16_t(reader, 4, subtree, 'of13.action_push_mpls.ethertype')
+ reader.skip(2)
+ return 'of_action_push_mpls'
+end
+of_action_v4_dissectors[19] = dissect_of_action_push_mpls_v4
+
+-- child class of_action_id_push_mpls
+-- Child of of_action_id
+function dissect_of_action_id_push_mpls_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_push_mpls.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_push_mpls.len')
+ return 'of_action_id_push_mpls'
+end
+of_action_id_v4_dissectors[19] = dissect_of_action_id_push_mpls_v4
+
+-- child class of_action_push_pbb
+-- Child of of_action
+function dissect_of_action_push_pbb_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_push_pbb.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_push_pbb.len')
+ read_uint16_t(reader, 4, subtree, 'of13.action_push_pbb.ethertype')
+ reader.skip(2)
+ return 'of_action_push_pbb'
+end
+of_action_v4_dissectors[26] = dissect_of_action_push_pbb_v4
+
+-- child class of_action_id_push_pbb
+-- Child of of_action_id
+function dissect_of_action_id_push_pbb_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_push_pbb.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_push_pbb.len')
+ return 'of_action_id_push_pbb'
+end
+of_action_id_v4_dissectors[26] = dissect_of_action_id_push_pbb_v4
+
+-- child class of_action_push_vlan
+-- Child of of_action
+function dissect_of_action_push_vlan_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_push_vlan.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_push_vlan.len')
+ read_uint16_t(reader, 4, subtree, 'of13.action_push_vlan.ethertype')
+ reader.skip(2)
+ return 'of_action_push_vlan'
+end
+of_action_v4_dissectors[17] = dissect_of_action_push_vlan_v4
+
+-- child class of_action_id_push_vlan
+-- Child of of_action_id
+function dissect_of_action_id_push_vlan_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_push_vlan.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_push_vlan.len')
+ return 'of_action_id_push_vlan'
+end
+of_action_id_v4_dissectors[17] = dissect_of_action_id_push_vlan_v4
+
+-- virtual top-level class of_oxm
+-- Discriminator is type_len
+function dissect_of_oxm_v4(reader, subtree)
+ return of_oxm_v4_dissectors[reader.peek(0,4):uint()](reader, subtree)
+end
+-- child class of_action_set_field
+-- Child of of_action
+function dissect_of_action_set_field_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.action_set_field.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_set_field.len')
+ read_of_oxm_t(reader, 4, subtree, 'of13.action_set_field.field')
+ return 'of_action_set_field'
+end
+of_action_v4_dissectors[25] = dissect_of_action_set_field_v4
+
+-- child class of_action_id_set_field
+-- Child of of_action_id
+function dissect_of_action_id_set_field_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_set_field.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_set_field.len')
+ return 'of_action_id_set_field'
+end
+of_action_id_v4_dissectors[25] = dissect_of_action_id_set_field_v4
+
+-- child class of_action_set_mpls_ttl
+-- Child of of_action
+function dissect_of_action_set_mpls_ttl_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_set_mpls_ttl.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_set_mpls_ttl.len')
+ read_uint8_t(reader, 4, subtree, 'of13.action_set_mpls_ttl.mpls_ttl')
+ reader.skip(3)
+ return 'of_action_set_mpls_ttl'
+end
+of_action_v4_dissectors[15] = dissect_of_action_set_mpls_ttl_v4
+
+-- child class of_action_id_set_mpls_ttl
+-- Child of of_action_id
+function dissect_of_action_id_set_mpls_ttl_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_set_mpls_ttl.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_set_mpls_ttl.len')
+ return 'of_action_id_set_mpls_ttl'
+end
+of_action_id_v4_dissectors[15] = dissect_of_action_id_set_mpls_ttl_v4
+
+-- child class of_action_set_nw_ttl
+-- Child of of_action
+function dissect_of_action_set_nw_ttl_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_set_nw_ttl.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_set_nw_ttl.len')
+ read_uint8_t(reader, 4, subtree, 'of13.action_set_nw_ttl.nw_ttl')
+ reader.skip(3)
+ return 'of_action_set_nw_ttl'
+end
+of_action_v4_dissectors[23] = dissect_of_action_set_nw_ttl_v4
+
+-- child class of_action_id_set_nw_ttl
+-- Child of of_action_id
+function dissect_of_action_id_set_nw_ttl_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_set_nw_ttl.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_set_nw_ttl.len')
+ return 'of_action_id_set_nw_ttl'
+end
+of_action_id_v4_dissectors[23] = dissect_of_action_id_set_nw_ttl_v4
+
+-- child class of_action_set_queue
+-- Child of of_action
+function dissect_of_action_set_queue_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_set_queue.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_set_queue.len')
+ read_uint32_t(reader, 4, subtree, 'of13.action_set_queue.queue_id')
+ return 'of_action_set_queue'
+end
+of_action_v4_dissectors[21] = dissect_of_action_set_queue_v4
+
+-- child class of_action_id_set_queue
+-- Child of of_action_id
+function dissect_of_action_id_set_queue_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_set_queue.type')
+ read_uint16_t(reader, 4, subtree, 'of13.action_id_set_queue.len')
+ return 'of_action_id_set_queue'
+end
+of_action_id_v4_dissectors[21] = dissect_of_action_id_set_queue_v4
+
+-- virtual top-level class of_header
+-- Discriminator is type
+function dissect_of_header_v4(reader, subtree)
+ return of_header_v4_dissectors[reader.peek(1,1):uint()](reader, subtree)
+end
+-- virtual child class of_stats_reply
+-- Child of of_header
+-- Discriminator is stats_type
+function dissect_of_stats_reply_v4(reader, subtree)
+ return of_stats_reply_v4_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v4_dissectors[19] = dissect_of_stats_reply_v4
+
+-- child class of_aggregate_stats_reply
+-- Child of of_stats_reply
+function dissect_of_aggregate_stats_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.aggregate_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.aggregate_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.aggregate_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.aggregate_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.aggregate_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.aggregate_stats_reply.flags')
+ reader.skip(4)
+ read_uint64_t(reader, 4, subtree, 'of13.aggregate_stats_reply.packet_count')
+ read_uint64_t(reader, 4, subtree, 'of13.aggregate_stats_reply.byte_count')
+ read_uint32_t(reader, 4, subtree, 'of13.aggregate_stats_reply.flow_count')
+ reader.skip(4)
+ return 'of_aggregate_stats_reply'
+end
+of_stats_reply_v4_dissectors[2] = dissect_of_aggregate_stats_reply_v4
+
+-- virtual child class of_stats_request
+-- Child of of_header
+-- Discriminator is stats_type
+function dissect_of_stats_request_v4(reader, subtree)
+ return of_stats_request_v4_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v4_dissectors[18] = dissect_of_stats_request_v4
+
+-- child class of_aggregate_stats_request
+-- Child of of_stats_request
+function dissect_of_aggregate_stats_request_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.aggregate_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.aggregate_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.aggregate_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.aggregate_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.aggregate_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.aggregate_stats_request.flags')
+ reader.skip(4)
+ read_uint8_t(reader, 4, subtree, 'of13.aggregate_stats_request.table_id')
+ reader.skip(3)
+ read_of_port_no_t(reader, 4, subtree, 'of13.aggregate_stats_request.out_port')
+ read_uint32_t(reader, 4, subtree, 'of13.aggregate_stats_request.out_group')
+ reader.skip(4)
+ read_uint64_t(reader, 4, subtree, 'of13.aggregate_stats_request.cookie')
+ read_uint64_t(reader, 4, subtree, 'of13.aggregate_stats_request.cookie_mask')
+ read_of_match_t(reader, 4, subtree, 'of13.aggregate_stats_request.match')
+ return 'of_aggregate_stats_request'
+end
+of_stats_request_v4_dissectors[2] = dissect_of_aggregate_stats_request_v4
+
+-- child class of_async_get_reply
+-- Child of of_header
+function dissect_of_async_get_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.async_get_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.async_get_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.async_get_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_reply.packet_in_mask_equal_master')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_reply.packet_in_mask_slave')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_reply.port_status_mask_equal_master')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_reply.port_status_mask_slave')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_reply.flow_removed_mask_equal_master')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_reply.flow_removed_mask_slave')
+ return 'of_async_get_reply'
+end
+of_header_v4_dissectors[27] = dissect_of_async_get_reply_v4
+
+-- child class of_async_get_request
+-- Child of of_header
+function dissect_of_async_get_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.async_get_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.async_get_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.async_get_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_request.packet_in_mask_equal_master')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_request.packet_in_mask_slave')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_request.port_status_mask_equal_master')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_request.port_status_mask_slave')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_request.flow_removed_mask_equal_master')
+ read_uint32_t(reader, 4, subtree, 'of13.async_get_request.flow_removed_mask_slave')
+ return 'of_async_get_request'
+end
+of_header_v4_dissectors[26] = dissect_of_async_get_request_v4
+
+-- child class of_async_set
+-- Child of of_header
+function dissect_of_async_set_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.async_set.version')
+ read_uint8_t(reader, 4, subtree, 'of13.async_set.type')
+ read_uint16_t(reader, 4, subtree, 'of13.async_set.length')
+ read_uint32_t(reader, 4, subtree, 'of13.async_set.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.async_set.packet_in_mask_equal_master')
+ read_uint32_t(reader, 4, subtree, 'of13.async_set.packet_in_mask_slave')
+ read_uint32_t(reader, 4, subtree, 'of13.async_set.port_status_mask_equal_master')
+ read_uint32_t(reader, 4, subtree, 'of13.async_set.port_status_mask_slave')
+ read_uint32_t(reader, 4, subtree, 'of13.async_set.flow_removed_mask_equal_master')
+ read_uint32_t(reader, 4, subtree, 'of13.async_set.flow_removed_mask_slave')
+ return 'of_async_set'
+end
+of_header_v4_dissectors[28] = dissect_of_async_set_v4
+
+-- virtual child class of_error_msg
+-- Child of of_header
+-- Discriminator is err_type
+function dissect_of_error_msg_v4(reader, subtree)
+ return of_error_msg_v4_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v4_dissectors[1] = dissect_of_error_msg_v4
+
+-- child class of_bad_action_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_action_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bad_action_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bad_action_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_action_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bad_action_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_action_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_action_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.bad_action_error_msg.data')
+ return 'of_bad_action_error_msg'
+end
+of_error_msg_v4_dissectors[2] = dissect_of_bad_action_error_msg_v4
+
+-- child class of_bad_instruction_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_instruction_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bad_instruction_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bad_instruction_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_instruction_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bad_instruction_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_instruction_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_instruction_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.bad_instruction_error_msg.data')
+ return 'of_bad_instruction_error_msg'
+end
+of_error_msg_v4_dissectors[3] = dissect_of_bad_instruction_error_msg_v4
+
+-- child class of_bad_match_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_match_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bad_match_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bad_match_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_match_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bad_match_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_match_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_match_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.bad_match_error_msg.data')
+ return 'of_bad_match_error_msg'
+end
+of_error_msg_v4_dissectors[4] = dissect_of_bad_match_error_msg_v4
+
+-- child class of_bad_request_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_request_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bad_request_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bad_request_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_request_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bad_request_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_request_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bad_request_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.bad_request_error_msg.data')
+ return 'of_bad_request_error_msg'
+end
+of_error_msg_v4_dissectors[1] = dissect_of_bad_request_error_msg_v4
+
+-- child class of_barrier_reply
+-- Child of of_header
+function dissect_of_barrier_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.barrier_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.barrier_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.barrier_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.barrier_reply.xid')
+ return 'of_barrier_reply'
+end
+of_header_v4_dissectors[21] = dissect_of_barrier_reply_v4
+
+-- child class of_barrier_request
+-- Child of of_header
+function dissect_of_barrier_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.barrier_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.barrier_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.barrier_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.barrier_request.xid')
+ return 'of_barrier_request'
+end
+of_header_v4_dissectors[20] = dissect_of_barrier_request_v4
+
+-- virtual child class of_experimenter
+-- Child of of_header
+-- Discriminator is experimenter
+function dissect_of_experimenter_v4(reader, subtree)
+ return of_experimenter_v4_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_header_v4_dissectors[4] = dissect_of_experimenter_v4
+
+-- virtual child class of_bsn_header
+-- Child of of_experimenter
+-- Discriminator is subtype
+function dissect_of_bsn_header_v4(reader, subtree)
+ return of_bsn_header_v4_dissectors[reader.peek(12,4):uint()](reader, subtree)
+end
+of_experimenter_v4_dissectors[6035143] = dissect_of_bsn_header_v4
+
+-- child class of_bsn_arp_idle
+-- Child of of_bsn_header
+function dissect_of_bsn_arp_idle_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_arp_idle.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_arp_idle.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_arp_idle.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_arp_idle.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_arp_idle.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_arp_idle.subtype')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_arp_idle.vlan_vid')
+ reader.skip(2)
+ read_of_ipv4_t(reader, 4, subtree, 'of13.bsn_arp_idle.ipv4_addr')
+ return 'of_bsn_arp_idle'
+end
+of_bsn_header_v4_dissectors[60] = dissect_of_bsn_arp_idle_v4
+
+-- child class of_bsn_bw_clear_data_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_clear_data_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_reply.status')
+ return 'of_bsn_bw_clear_data_reply'
+end
+of_bsn_header_v4_dissectors[22] = dissect_of_bsn_bw_clear_data_reply_v4
+
+-- child class of_bsn_bw_clear_data_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_clear_data_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_clear_data_request.subtype')
+ return 'of_bsn_bw_clear_data_request'
+end
+of_bsn_header_v4_dissectors[21] = dissect_of_bsn_bw_clear_data_request_v4
+
+-- child class of_bsn_bw_enable_get_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_get_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_reply.enabled')
+ return 'of_bsn_bw_enable_get_reply'
+end
+of_bsn_header_v4_dissectors[20] = dissect_of_bsn_bw_enable_get_reply_v4
+
+-- child class of_bsn_bw_enable_get_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_get_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_get_request.subtype')
+ return 'of_bsn_bw_enable_get_request'
+end
+of_bsn_header_v4_dissectors[19] = dissect_of_bsn_bw_enable_get_request_v4
+
+-- child class of_bsn_bw_enable_set_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_set_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_reply.enable')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_reply.status')
+ return 'of_bsn_bw_enable_set_reply'
+end
+of_bsn_header_v4_dissectors[23] = dissect_of_bsn_bw_enable_set_reply_v4
+
+-- child class of_bsn_bw_enable_set_request
+-- Child of of_bsn_header
+function dissect_of_bsn_bw_enable_set_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_request.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_bw_enable_set_request.enable')
+ return 'of_bsn_bw_enable_set_request'
+end
+of_bsn_header_v4_dissectors[18] = dissect_of_bsn_bw_enable_set_request_v4
+
+-- top-level class of_bsn_controller_connection
+function dissect_of_bsn_controller_connection_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_controller_connection.state')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_controller_connection.auxiliary_id')
+ reader.skip(2)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_controller_connection.role')
+ read_of_desc_str_t(reader, 4, subtree, 'of13.bsn_controller_connection.uri')
+ return 'of_bsn_controller_connection'
+end
+-- child class of_bsn_controller_connections_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_controller_connections_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_controller_connections_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_controller_connections_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_controller_connections_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_controller_connections_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_controller_connections_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_controller_connections_reply.subtype')
+ read_list(reader, dissect_of_bsn_controller_connection_v4, subtree, 'of_bsn_controller_connection')
+ return 'of_bsn_controller_connections_reply'
+end
+of_bsn_header_v4_dissectors[57] = dissect_of_bsn_controller_connections_reply_v4
+
+-- child class of_bsn_controller_connections_request
+-- Child of of_bsn_header
+function dissect_of_bsn_controller_connections_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_controller_connections_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_controller_connections_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_controller_connections_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_controller_connections_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_controller_connections_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_controller_connections_request.subtype')
+ return 'of_bsn_controller_connections_request'
+end
+of_bsn_header_v4_dissectors[56] = dissect_of_bsn_controller_connections_request_v4
+
+-- top-level class of_bsn_debug_counter_desc_stats_entry
+function dissect_of_bsn_debug_counter_desc_stats_entry_v4(reader, subtree)
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_entry.counter_id')
+ read_of_str64_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_entry.name')
+ read_of_desc_str_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_entry.description')
+ return 'of_bsn_debug_counter_desc_stats_entry'
+end
+-- virtual child class of_experimenter_stats_reply
+-- Child of of_stats_reply
+-- Discriminator is experimenter
+function dissect_of_experimenter_stats_reply_v4(reader, subtree)
+ return of_experimenter_stats_reply_v4_dissectors[reader.peek(16,4):uint()](reader, subtree)
+end
+of_stats_reply_v4_dissectors[65535] = dissect_of_experimenter_stats_reply_v4
+
+-- virtual child class of_bsn_stats_reply
+-- Child of of_experimenter_stats_reply
+-- Discriminator is subtype
+function dissect_of_bsn_stats_reply_v4(reader, subtree)
+ return of_bsn_stats_reply_v4_dissectors[reader.peek(20,4):uint()](reader, subtree)
+end
+of_experimenter_stats_reply_v4_dissectors[6035143] = dissect_of_bsn_stats_reply_v4
+
+-- child class of_bsn_debug_counter_desc_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_debug_counter_desc_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_debug_counter_desc_stats_entry_v4, subtree, 'of_bsn_debug_counter_desc_stats_entry')
+ return 'of_bsn_debug_counter_desc_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[13] = dissect_of_bsn_debug_counter_desc_stats_reply_v4
+
+-- virtual child class of_experimenter_stats_request
+-- Child of of_stats_request
+-- Discriminator is experimenter
+function dissect_of_experimenter_stats_request_v4(reader, subtree)
+ return of_experimenter_stats_request_v4_dissectors[reader.peek(16,4):uint()](reader, subtree)
+end
+of_stats_request_v4_dissectors[65535] = dissect_of_experimenter_stats_request_v4
+
+-- virtual child class of_bsn_stats_request
+-- Child of of_experimenter_stats_request
+-- Discriminator is subtype
+function dissect_of_bsn_stats_request_v4(reader, subtree)
+ return of_bsn_stats_request_v4_dissectors[reader.peek(20,4):uint()](reader, subtree)
+end
+of_experimenter_stats_request_v4_dissectors[6035143] = dissect_of_bsn_stats_request_v4
+
+-- child class of_bsn_debug_counter_desc_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_debug_counter_desc_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_desc_stats_request.subtype')
+ return 'of_bsn_debug_counter_desc_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[13] = dissect_of_bsn_debug_counter_desc_stats_request_v4
+
+-- top-level class of_bsn_debug_counter_stats_entry
+function dissect_of_bsn_debug_counter_stats_entry_v4(reader, subtree)
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_entry.counter_id')
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_entry.value')
+ return 'of_bsn_debug_counter_stats_entry'
+end
+-- child class of_bsn_debug_counter_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_debug_counter_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_debug_counter_stats_entry_v4, subtree, 'of_bsn_debug_counter_stats_entry')
+ return 'of_bsn_debug_counter_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[12] = dissect_of_bsn_debug_counter_stats_reply_v4
+
+-- child class of_bsn_debug_counter_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_debug_counter_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_debug_counter_stats_request.subtype')
+ return 'of_bsn_debug_counter_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[12] = dissect_of_bsn_debug_counter_stats_request_v4
+
+-- top-level class of_bsn_flow_checksum_bucket_stats_entry
+function dissect_of_bsn_flow_checksum_bucket_stats_entry_v4(reader, subtree)
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_entry.checksum')
+ return 'of_bsn_flow_checksum_bucket_stats_entry'
+end
+-- child class of_bsn_flow_checksum_bucket_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_flow_checksum_bucket_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_flow_checksum_bucket_stats_entry_v4, subtree, 'of_bsn_flow_checksum_bucket_stats_entry')
+ return 'of_bsn_flow_checksum_bucket_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[10] = dissect_of_bsn_flow_checksum_bucket_stats_reply_v4
+
+-- child class of_bsn_flow_checksum_bucket_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_flow_checksum_bucket_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_request.subtype')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_checksum_bucket_stats_request.table_id')
+ return 'of_bsn_flow_checksum_bucket_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[10] = dissect_of_bsn_flow_checksum_bucket_stats_request_v4
+
+-- child class of_bsn_flow_idle
+-- Child of of_bsn_header
+function dissect_of_bsn_flow_idle_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_idle.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_idle.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_idle.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle.subtype')
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_flow_idle.cookie')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_idle.priority')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_idle.table_id')
+ reader.skip(5)
+ read_of_match_t(reader, 4, subtree, 'of13.bsn_flow_idle.match')
+ return 'of_bsn_flow_idle'
+end
+of_bsn_header_v4_dissectors[40] = dissect_of_bsn_flow_idle_v4
+
+-- child class of_bsn_flow_idle_enable_get_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_flow_idle_enable_get_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_reply.enabled')
+ return 'of_bsn_flow_idle_enable_get_reply'
+end
+of_bsn_header_v4_dissectors[39] = dissect_of_bsn_flow_idle_enable_get_reply_v4
+
+-- child class of_bsn_flow_idle_enable_get_request
+-- Child of of_bsn_header
+function dissect_of_bsn_flow_idle_enable_get_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_get_request.subtype')
+ return 'of_bsn_flow_idle_enable_get_request'
+end
+of_bsn_header_v4_dissectors[38] = dissect_of_bsn_flow_idle_enable_get_request_v4
+
+-- child class of_bsn_flow_idle_enable_set_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_flow_idle_enable_set_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_reply.enable')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_reply.status')
+ return 'of_bsn_flow_idle_enable_set_reply'
+end
+of_bsn_header_v4_dissectors[37] = dissect_of_bsn_flow_idle_enable_set_reply_v4
+
+-- child class of_bsn_flow_idle_enable_set_request
+-- Child of of_bsn_header
+function dissect_of_bsn_flow_idle_enable_set_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_request.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_flow_idle_enable_set_request.enable')
+ return 'of_bsn_flow_idle_enable_set_request'
+end
+of_bsn_header_v4_dissectors[36] = dissect_of_bsn_flow_idle_enable_set_request_v4
+
+-- top-level class of_bsn_gentable_bucket_stats_entry
+function dissect_of_bsn_gentable_bucket_stats_entry_v4(reader, subtree)
+ read_of_checksum_128_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_entry.checksum')
+ return 'of_bsn_gentable_bucket_stats_entry'
+end
+-- child class of_bsn_gentable_bucket_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_gentable_bucket_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_gentable_bucket_stats_entry_v4, subtree, 'of_bsn_gentable_bucket_stats_entry')
+ return 'of_bsn_gentable_bucket_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[5] = dissect_of_bsn_gentable_bucket_stats_reply_v4
+
+-- child class of_bsn_gentable_bucket_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_gentable_bucket_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_request.subtype')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_bucket_stats_request.table_id')
+ return 'of_bsn_gentable_bucket_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[5] = dissect_of_bsn_gentable_bucket_stats_request_v4
+
+-- child class of_bsn_gentable_clear_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_gentable_clear_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_clear_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_clear_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_clear_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_clear_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_clear_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_clear_reply.subtype')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_clear_reply.table_id')
+ reader.skip(2)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_clear_reply.deleted_count')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_clear_reply.error_count')
+ return 'of_bsn_gentable_clear_reply'
+end
+of_bsn_header_v4_dissectors[49] = dissect_of_bsn_gentable_clear_reply_v4
+
+-- child class of_bsn_gentable_clear_request
+-- Child of of_bsn_header
+function dissect_of_bsn_gentable_clear_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_clear_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_clear_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_clear_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_clear_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_clear_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_clear_request.subtype')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_clear_request.table_id')
+ reader.skip(2)
+ read_of_checksum_128_t(reader, 4, subtree, 'of13.bsn_gentable_clear_request.checksum')
+ read_of_checksum_128_t(reader, 4, subtree, 'of13.bsn_gentable_clear_request.checksum_mask')
+ return 'of_bsn_gentable_clear_request'
+end
+of_bsn_header_v4_dissectors[48] = dissect_of_bsn_gentable_clear_request_v4
+
+-- top-level class of_bsn_gentable_desc_stats_entry
+function dissect_of_bsn_gentable_desc_stats_entry_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_entry.length')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_entry.table_id')
+ read_of_table_name_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_entry.name')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_entry.buckets_size')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_entry.max_entries')
+ reader.skip(4)
+ return 'of_bsn_gentable_desc_stats_entry'
+end
+-- child class of_bsn_gentable_desc_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_gentable_desc_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_gentable_desc_stats_entry_v4, subtree, 'of_bsn_gentable_desc_stats_entry')
+ return 'of_bsn_gentable_desc_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[4] = dissect_of_bsn_gentable_desc_stats_reply_v4
+
+-- child class of_bsn_gentable_desc_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_gentable_desc_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_desc_stats_request.subtype')
+ return 'of_bsn_gentable_desc_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[4] = dissect_of_bsn_gentable_desc_stats_request_v4
+
+-- child class of_bsn_gentable_entry_add
+-- Child of of_bsn_header
+function dissect_of_bsn_gentable_entry_add_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_add.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_add.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_add.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_add.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_add.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_add.subtype')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_add.table_id')
+ local _key_length = reader.peek(0, 2):uint()
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_add.key_length')
+ read_of_checksum_128_t(reader, 4, subtree, 'of13.bsn_gentable_entry_add.checksum')
+ read_list(reader.slice(_key_length), dissect_of_bsn_tlv_v4, subtree, 'of_bsn_tlv')
+ read_list(reader, dissect_of_bsn_tlv_v4, subtree, 'of_bsn_tlv')
+ return 'of_bsn_gentable_entry_add'
+end
+of_bsn_header_v4_dissectors[46] = dissect_of_bsn_gentable_entry_add_v4
+
+-- child class of_bsn_gentable_entry_delete
+-- Child of of_bsn_header
+function dissect_of_bsn_gentable_entry_delete_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_delete.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_delete.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_delete.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_delete.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_delete.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_delete.subtype')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_delete.table_id')
+ read_list(reader, dissect_of_bsn_tlv_v4, subtree, 'of_bsn_tlv')
+ return 'of_bsn_gentable_entry_delete'
+end
+of_bsn_header_v4_dissectors[47] = dissect_of_bsn_gentable_entry_delete_v4
+
+-- top-level class of_bsn_gentable_entry_desc_stats_entry
+function dissect_of_bsn_gentable_entry_desc_stats_entry_v4(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_entry.length')
+ local _key_length = reader.peek(0, 2):uint()
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_entry.key_length')
+ read_of_checksum_128_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_entry.checksum')
+ read_list(reader.slice(_key_length), dissect_of_bsn_tlv_v4, subtree, 'of_bsn_tlv')
+ read_list(reader, dissect_of_bsn_tlv_v4, subtree, 'of_bsn_tlv')
+ return 'of_bsn_gentable_entry_desc_stats_entry'
+end
+-- child class of_bsn_gentable_entry_desc_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_gentable_entry_desc_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_gentable_entry_desc_stats_entry_v4, subtree, 'of_bsn_gentable_entry_desc_stats_entry')
+ return 'of_bsn_gentable_entry_desc_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[2] = dissect_of_bsn_gentable_entry_desc_stats_reply_v4
+
+-- child class of_bsn_gentable_entry_desc_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_gentable_entry_desc_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_request.subtype')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_request.table_id')
+ reader.skip(2)
+ read_of_checksum_128_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_request.checksum')
+ read_of_checksum_128_t(reader, 4, subtree, 'of13.bsn_gentable_entry_desc_stats_request.checksum_mask')
+ return 'of_bsn_gentable_entry_desc_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[2] = dissect_of_bsn_gentable_entry_desc_stats_request_v4
+
+-- top-level class of_bsn_gentable_entry_stats_entry
+function dissect_of_bsn_gentable_entry_stats_entry_v4(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_entry.length')
+ local _key_length = reader.peek(0, 2):uint()
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_entry.key_length')
+ read_list(reader.slice(_key_length), dissect_of_bsn_tlv_v4, subtree, 'of_bsn_tlv')
+ read_list(reader, dissect_of_bsn_tlv_v4, subtree, 'of_bsn_tlv')
+ return 'of_bsn_gentable_entry_stats_entry'
+end
+-- child class of_bsn_gentable_entry_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_gentable_entry_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_gentable_entry_stats_entry_v4, subtree, 'of_bsn_gentable_entry_stats_entry')
+ return 'of_bsn_gentable_entry_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[3] = dissect_of_bsn_gentable_entry_stats_reply_v4
+
+-- child class of_bsn_gentable_entry_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_gentable_entry_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_request.subtype')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_request.table_id')
+ reader.skip(2)
+ read_of_checksum_128_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_request.checksum')
+ read_of_checksum_128_t(reader, 4, subtree, 'of13.bsn_gentable_entry_stats_request.checksum_mask')
+ return 'of_bsn_gentable_entry_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[3] = dissect_of_bsn_gentable_entry_stats_request_v4
+
+-- child class of_bsn_gentable_set_buckets_size
+-- Child of of_bsn_header
+function dissect_of_bsn_gentable_set_buckets_size_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_set_buckets_size.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_set_buckets_size.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_set_buckets_size.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_set_buckets_size.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_set_buckets_size.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_set_buckets_size.subtype')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_set_buckets_size.table_id')
+ reader.skip(2)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_set_buckets_size.buckets_size')
+ return 'of_bsn_gentable_set_buckets_size'
+end
+of_bsn_header_v4_dissectors[50] = dissect_of_bsn_gentable_set_buckets_size_v4
+
+-- top-level class of_bsn_gentable_stats_entry
+function dissect_of_bsn_gentable_stats_entry_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_stats_entry.table_id')
+ reader.skip(2)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_stats_entry.entry_count')
+ read_of_checksum_128_t(reader, 4, subtree, 'of13.bsn_gentable_stats_entry.checksum')
+ return 'of_bsn_gentable_stats_entry'
+end
+-- child class of_bsn_gentable_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_gentable_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_gentable_stats_entry_v4, subtree, 'of_bsn_gentable_stats_entry')
+ return 'of_bsn_gentable_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[7] = dissect_of_bsn_gentable_stats_reply_v4
+
+-- child class of_bsn_gentable_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_gentable_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_gentable_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_gentable_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_gentable_stats_request.subtype')
+ return 'of_bsn_gentable_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[7] = dissect_of_bsn_gentable_stats_request_v4
+
+-- child class of_bsn_get_interfaces_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_interfaces_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_interfaces_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_interfaces_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_get_interfaces_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_interfaces_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_interfaces_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_interfaces_reply.subtype')
+ read_list(reader, dissect_of_bsn_interface_v4, subtree, 'of_bsn_interface')
+ return 'of_bsn_get_interfaces_reply'
+end
+of_bsn_header_v4_dissectors[10] = dissect_of_bsn_get_interfaces_reply_v4
+
+-- child class of_bsn_get_interfaces_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_interfaces_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_interfaces_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_interfaces_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_get_interfaces_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_interfaces_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_interfaces_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_interfaces_request.subtype')
+ return 'of_bsn_get_interfaces_request'
+end
+of_bsn_header_v4_dissectors[9] = dissect_of_bsn_get_interfaces_request_v4
+
+-- child class of_bsn_get_mirroring_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_mirroring_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_mirroring_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_mirroring_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_get_mirroring_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_mirroring_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_mirroring_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_mirroring_reply.subtype')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_mirroring_reply.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_get_mirroring_reply'
+end
+of_bsn_header_v4_dissectors[5] = dissect_of_bsn_get_mirroring_reply_v4
+
+-- child class of_bsn_get_mirroring_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_mirroring_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_mirroring_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_mirroring_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_get_mirroring_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_mirroring_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_mirroring_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_mirroring_request.subtype')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_mirroring_request.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_get_mirroring_request'
+end
+of_bsn_header_v4_dissectors[4] = dissect_of_bsn_get_mirroring_request_v4
+
+-- child class of_bsn_get_switch_pipeline_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_switch_pipeline_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_reply.subtype')
+ read_of_desc_str_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_reply.pipeline')
+ return 'of_bsn_get_switch_pipeline_reply'
+end
+of_bsn_header_v4_dissectors[52] = dissect_of_bsn_get_switch_pipeline_reply_v4
+
+-- child class of_bsn_get_switch_pipeline_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_switch_pipeline_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_get_switch_pipeline_request.subtype')
+ return 'of_bsn_get_switch_pipeline_request'
+end
+of_bsn_header_v4_dissectors[51] = dissect_of_bsn_get_switch_pipeline_request_v4
+
+-- child class of_bsn_image_desc_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_image_desc_stats_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_reply.subtype')
+ read_of_desc_str_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_reply.image_checksum')
+ read_of_desc_str_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_reply.startup_config_checksum')
+ return 'of_bsn_image_desc_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[14] = dissect_of_bsn_image_desc_stats_reply_v4
+
+-- child class of_bsn_image_desc_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_image_desc_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_image_desc_stats_request.subtype')
+ return 'of_bsn_image_desc_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[14] = dissect_of_bsn_image_desc_stats_request_v4
+
+-- top-level class of_bsn_interface
+function dissect_of_bsn_interface_v4(reader, subtree)
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_interface.hw_addr')
+ reader.skip(2)
+ read_of_port_name_t(reader, 4, subtree, 'of13.bsn_interface.name')
+ read_of_ipv4_t(reader, 4, subtree, 'of13.bsn_interface.ipv4_addr')
+ read_of_ipv4_t(reader, 4, subtree, 'of13.bsn_interface.ipv4_netmask')
+ return 'of_bsn_interface'
+end
+-- child class of_bsn_lacp_convergence_notif
+-- Child of of_bsn_header
+function dissect_of_bsn_lacp_convergence_notif_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.subtype')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.convergence_status')
+ reader.skip(3)
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.port_no')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.actor_sys_priority')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.actor_sys_mac')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.actor_port_priority')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.actor_port_num')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.actor_key')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.partner_sys_priority')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.partner_sys_mac')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.partner_port_priority')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.partner_port_num')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_convergence_notif.partner_key')
+ return 'of_bsn_lacp_convergence_notif'
+end
+of_bsn_header_v4_dissectors[43] = dissect_of_bsn_lacp_convergence_notif_v4
+
+-- top-level class of_bsn_lacp_stats_entry
+function dissect_of_bsn_lacp_stats_entry_v4(reader, subtree)
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.port_no')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.actor_sys_priority')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.actor_sys_mac')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.actor_port_priority')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.actor_port_num')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.actor_key')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.convergence_status')
+ reader.skip(1)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.partner_sys_priority')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.partner_sys_mac')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.partner_port_priority')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.partner_port_num')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_entry.partner_key')
+ reader.skip(2)
+ return 'of_bsn_lacp_stats_entry'
+end
+-- child class of_bsn_lacp_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_lacp_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_lacp_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_lacp_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_lacp_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_lacp_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_lacp_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_lacp_stats_entry_v4, subtree, 'of_bsn_lacp_stats_entry')
+ return 'of_bsn_lacp_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[1] = dissect_of_bsn_lacp_stats_reply_v4
+
+-- child class of_bsn_lacp_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_lacp_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_lacp_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_lacp_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_lacp_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_lacp_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_lacp_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_lacp_stats_request.subtype')
+ return 'of_bsn_lacp_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[1] = dissect_of_bsn_lacp_stats_request_v4
+
+-- child class of_bsn_log
+-- Child of of_bsn_header
+function dissect_of_bsn_log_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_log.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_log.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_log.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_log.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_log.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_log.subtype')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_log.loglevel')
+ read_of_octets_t(reader, 4, subtree, 'of13.bsn_log.data')
+ return 'of_bsn_log'
+end
+of_bsn_header_v4_dissectors[63] = dissect_of_bsn_log_v4
+
+-- child class of_bsn_pdu_rx_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_rx_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_rx_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_pdu_rx_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_rx_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_rx_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_rx_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_rx_reply.status')
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_pdu_rx_reply.port_no')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_rx_reply.slot_num')
+ return 'of_bsn_pdu_rx_reply'
+end
+of_bsn_header_v4_dissectors[34] = dissect_of_bsn_pdu_rx_reply_v4
+
+-- child class of_bsn_pdu_rx_request
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_request_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_rx_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_rx_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_pdu_rx_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_rx_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_rx_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_rx_request.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_rx_request.timeout_ms')
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_pdu_rx_request.port_no')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_rx_request.slot_num')
+ reader.skip(3)
+ read_ethernet(reader, 4, subtree, 'of13.bsn_pdu_rx_request.data')
+ return 'of_bsn_pdu_rx_request'
+end
+of_bsn_header_v4_dissectors[33] = dissect_of_bsn_pdu_rx_request_v4
+
+-- child class of_bsn_pdu_rx_timeout
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_rx_timeout_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_rx_timeout.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_rx_timeout.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_pdu_rx_timeout.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_rx_timeout.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_rx_timeout.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_rx_timeout.subtype')
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_pdu_rx_timeout.port_no')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_rx_timeout.slot_num')
+ return 'of_bsn_pdu_rx_timeout'
+end
+of_bsn_header_v4_dissectors[35] = dissect_of_bsn_pdu_rx_timeout_v4
+
+-- child class of_bsn_pdu_tx_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_tx_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_tx_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_tx_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_pdu_tx_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_tx_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_tx_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_tx_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_tx_reply.status')
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_pdu_tx_reply.port_no')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_tx_reply.slot_num')
+ return 'of_bsn_pdu_tx_reply'
+end
+of_bsn_header_v4_dissectors[32] = dissect_of_bsn_pdu_tx_reply_v4
+
+-- child class of_bsn_pdu_tx_request
+-- Child of of_bsn_header
+function dissect_of_bsn_pdu_tx_request_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_tx_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_tx_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_pdu_tx_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_tx_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_tx_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_tx_request.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_pdu_tx_request.tx_interval_ms')
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_pdu_tx_request.port_no')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_pdu_tx_request.slot_num')
+ reader.skip(3)
+ read_ethernet(reader, 4, subtree, 'of13.bsn_pdu_tx_request.data')
+ return 'of_bsn_pdu_tx_request'
+end
+of_bsn_header_v4_dissectors[31] = dissect_of_bsn_pdu_tx_request_v4
+
+-- top-level class of_bsn_port_counter_stats_entry
+function dissect_of_bsn_port_counter_stats_entry_v4(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_entry.length')
+ reader.skip(2)
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_entry.port_no')
+ read_list(reader, dissect_of_uint64_v4, subtree, 'of_uint64')
+ return 'of_bsn_port_counter_stats_entry'
+end
+-- child class of_bsn_port_counter_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_port_counter_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_port_counter_stats_entry_v4, subtree, 'of_bsn_port_counter_stats_entry')
+ return 'of_bsn_port_counter_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[8] = dissect_of_bsn_port_counter_stats_reply_v4
+
+-- child class of_bsn_port_counter_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_port_counter_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_request.subtype')
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_port_counter_stats_request.port_no')
+ return 'of_bsn_port_counter_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[8] = dissect_of_bsn_port_counter_stats_request_v4
+
+-- child class of_bsn_role_status
+-- Child of of_bsn_header
+function dissect_of_bsn_role_status_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_role_status.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_role_status.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_role_status.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_role_status.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_role_status.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_role_status.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_role_status.role')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_role_status.reason')
+ reader.skip(3)
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_role_status.generation_id')
+ return 'of_bsn_role_status'
+end
+of_bsn_header_v4_dissectors[55] = dissect_of_bsn_role_status_v4
+
+-- child class of_bsn_set_aux_cxns_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_set_aux_cxns_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_reply.num_aux')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_reply.status')
+ return 'of_bsn_set_aux_cxns_reply'
+end
+of_bsn_header_v4_dissectors[59] = dissect_of_bsn_set_aux_cxns_reply_v4
+
+-- child class of_bsn_set_aux_cxns_request
+-- Child of of_bsn_header
+function dissect_of_bsn_set_aux_cxns_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_request.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_aux_cxns_request.num_aux')
+ return 'of_bsn_set_aux_cxns_request'
+end
+of_bsn_header_v4_dissectors[58] = dissect_of_bsn_set_aux_cxns_request_v4
+
+-- child class of_bsn_set_lacp_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_set_lacp_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_lacp_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_lacp_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_lacp_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_lacp_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_lacp_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_lacp_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_lacp_reply.status')
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_set_lacp_reply.port_no')
+ return 'of_bsn_set_lacp_reply'
+end
+of_bsn_header_v4_dissectors[42] = dissect_of_bsn_set_lacp_reply_v4
+
+-- child class of_bsn_set_lacp_request
+-- Child of of_bsn_header
+function dissect_of_bsn_set_lacp_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.subtype')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.enabled')
+ reader.skip(3)
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.port_no')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.actor_sys_priority')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.actor_sys_mac')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.actor_port_priority')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.actor_port_num')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_lacp_request.actor_key')
+ return 'of_bsn_set_lacp_request'
+end
+of_bsn_header_v4_dissectors[41] = dissect_of_bsn_set_lacp_request_v4
+
+-- child class of_bsn_set_mirroring
+-- Child of of_bsn_header
+function dissect_of_bsn_set_mirroring_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_mirroring.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_mirroring.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_mirroring.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_mirroring.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_mirroring.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_mirroring.subtype')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_mirroring.report_mirror_ports')
+ reader.skip(3)
+ return 'of_bsn_set_mirroring'
+end
+of_bsn_header_v4_dissectors[3] = dissect_of_bsn_set_mirroring_v4
+
+-- child class of_bsn_set_pktin_suppression_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_set_pktin_suppression_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_reply.status')
+ return 'of_bsn_set_pktin_suppression_reply'
+end
+of_bsn_header_v4_dissectors[25] = dissect_of_bsn_set_pktin_suppression_reply_v4
+
+-- child class of_bsn_set_pktin_suppression_request
+-- Child of of_bsn_header
+function dissect_of_bsn_set_pktin_suppression_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_request.subtype')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_request.enabled')
+ reader.skip(1)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_request.idle_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_request.hard_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_request.priority')
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_set_pktin_suppression_request.cookie')
+ return 'of_bsn_set_pktin_suppression_request'
+end
+of_bsn_header_v4_dissectors[11] = dissect_of_bsn_set_pktin_suppression_request_v4
+
+-- child class of_bsn_set_switch_pipeline_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_set_switch_pipeline_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_reply.status')
+ return 'of_bsn_set_switch_pipeline_reply'
+end
+of_bsn_header_v4_dissectors[54] = dissect_of_bsn_set_switch_pipeline_reply_v4
+
+-- child class of_bsn_set_switch_pipeline_request
+-- Child of of_bsn_header
+function dissect_of_bsn_set_switch_pipeline_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_request.subtype')
+ read_of_desc_str_t(reader, 4, subtree, 'of13.bsn_set_switch_pipeline_request.pipeline')
+ return 'of_bsn_set_switch_pipeline_request'
+end
+of_bsn_header_v4_dissectors[53] = dissect_of_bsn_set_switch_pipeline_request_v4
+
+-- top-level class of_bsn_switch_pipeline_stats_entry
+function dissect_of_bsn_switch_pipeline_stats_entry_v4(reader, subtree)
+ read_of_desc_str_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_entry.pipeline')
+ return 'of_bsn_switch_pipeline_stats_entry'
+end
+-- child class of_bsn_switch_pipeline_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_switch_pipeline_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_switch_pipeline_stats_entry_v4, subtree, 'of_bsn_switch_pipeline_stats_entry')
+ return 'of_bsn_switch_pipeline_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[6] = dissect_of_bsn_switch_pipeline_stats_reply_v4
+
+-- child class of_bsn_switch_pipeline_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_switch_pipeline_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_switch_pipeline_stats_request.subtype')
+ return 'of_bsn_switch_pipeline_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[6] = dissect_of_bsn_switch_pipeline_stats_request_v4
+
+-- top-level class of_bsn_table_checksum_stats_entry
+function dissect_of_bsn_table_checksum_stats_entry_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_entry.table_id')
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_entry.checksum')
+ return 'of_bsn_table_checksum_stats_entry'
+end
+-- child class of_bsn_table_checksum_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_table_checksum_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_table_checksum_stats_entry_v4, subtree, 'of_bsn_table_checksum_stats_entry')
+ return 'of_bsn_table_checksum_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[11] = dissect_of_bsn_table_checksum_stats_reply_v4
+
+-- child class of_bsn_table_checksum_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_table_checksum_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_table_checksum_stats_request.subtype')
+ return 'of_bsn_table_checksum_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[11] = dissect_of_bsn_table_checksum_stats_request_v4
+
+-- child class of_bsn_table_set_buckets_size
+-- Child of of_bsn_header
+function dissect_of_bsn_table_set_buckets_size_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_table_set_buckets_size.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_table_set_buckets_size.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_table_set_buckets_size.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_table_set_buckets_size.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_table_set_buckets_size.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_table_set_buckets_size.subtype')
+ reader.skip(1)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_table_set_buckets_size.table_id')
+ reader.skip(2)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_table_set_buckets_size.buckets_size')
+ return 'of_bsn_table_set_buckets_size'
+end
+of_bsn_header_v4_dissectors[61] = dissect_of_bsn_table_set_buckets_size_v4
+
+-- child class of_bsn_time_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_time_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_time_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_time_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_time_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_time_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_time_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_time_reply.subtype')
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_time_reply.time_ms')
+ return 'of_bsn_time_reply'
+end
+of_bsn_header_v4_dissectors[45] = dissect_of_bsn_time_reply_v4
+
+-- child class of_bsn_time_request
+-- Child of of_bsn_header
+function dissect_of_bsn_time_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_time_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_time_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_time_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_time_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_time_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_time_request.subtype')
+ return 'of_bsn_time_request'
+end
+of_bsn_header_v4_dissectors[44] = dissect_of_bsn_time_request_v4
+
+-- virtual top-level class of_bsn_tlv
+-- Discriminator is type
+function dissect_of_bsn_tlv_v4(reader, subtree)
+ return of_bsn_tlv_v4_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_bsn_tlv_broadcast_query_timeout
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_broadcast_query_timeout_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_broadcast_query_timeout.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_broadcast_query_timeout.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_tlv_broadcast_query_timeout.value')
+ return 'of_bsn_tlv_broadcast_query_timeout'
+end
+of_bsn_tlv_v4_dissectors[10] = dissect_of_bsn_tlv_broadcast_query_timeout_v4
+
+-- child class of_bsn_tlv_circuit_id
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_circuit_id_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_circuit_id.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_circuit_id.length')
+ read_of_octets_t(reader, 4, subtree, 'of13.bsn_tlv_circuit_id.value')
+ return 'of_bsn_tlv_circuit_id'
+end
+of_bsn_tlv_v4_dissectors[14] = dissect_of_bsn_tlv_circuit_id_v4
+
+-- child class of_bsn_tlv_crc_enabled
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_crc_enabled_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_crc_enabled.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_crc_enabled.length')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_tlv_crc_enabled.value')
+ return 'of_bsn_tlv_crc_enabled'
+end
+of_bsn_tlv_v4_dissectors[22] = dissect_of_bsn_tlv_crc_enabled_v4
+
+-- child class of_bsn_tlv_idle_notification
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_idle_notification_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_idle_notification.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_idle_notification.length')
+ return 'of_bsn_tlv_idle_notification'
+end
+of_bsn_tlv_v4_dissectors[7] = dissect_of_bsn_tlv_idle_notification_v4
+
+-- child class of_bsn_tlv_idle_time
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_idle_time_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_idle_time.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_idle_time.length')
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_tlv_idle_time.value')
+ return 'of_bsn_tlv_idle_time'
+end
+of_bsn_tlv_v4_dissectors[5] = dissect_of_bsn_tlv_idle_time_v4
+
+-- child class of_bsn_tlv_idle_timeout
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_idle_timeout_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_idle_timeout.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_idle_timeout.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_tlv_idle_timeout.value')
+ return 'of_bsn_tlv_idle_timeout'
+end
+of_bsn_tlv_v4_dissectors[8] = dissect_of_bsn_tlv_idle_timeout_v4
+
+-- child class of_bsn_tlv_ipv4
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_ipv4_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_ipv4.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_ipv4.length')
+ read_of_ipv4_t(reader, 4, subtree, 'of13.bsn_tlv_ipv4.value')
+ return 'of_bsn_tlv_ipv4'
+end
+of_bsn_tlv_v4_dissectors[4] = dissect_of_bsn_tlv_ipv4_v4
+
+-- child class of_bsn_tlv_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_mac_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_mac.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_mac.length')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_tlv_mac.value')
+ return 'of_bsn_tlv_mac'
+end
+of_bsn_tlv_v4_dissectors[1] = dissect_of_bsn_tlv_mac_v4
+
+-- child class of_bsn_tlv_miss_packets
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_miss_packets_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_miss_packets.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_miss_packets.length')
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_tlv_miss_packets.value')
+ return 'of_bsn_tlv_miss_packets'
+end
+of_bsn_tlv_v4_dissectors[13] = dissect_of_bsn_tlv_miss_packets_v4
+
+-- child class of_bsn_tlv_port
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_port_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_port.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_port.length')
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_tlv_port.value')
+ return 'of_bsn_tlv_port'
+end
+of_bsn_tlv_v4_dissectors[0] = dissect_of_bsn_tlv_port_v4
+
+-- child class of_bsn_tlv_queue_id
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_queue_id_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_queue_id.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_queue_id.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_tlv_queue_id.value')
+ return 'of_bsn_tlv_queue_id'
+end
+of_bsn_tlv_v4_dissectors[20] = dissect_of_bsn_tlv_queue_id_v4
+
+-- child class of_bsn_tlv_queue_weight
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_queue_weight_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_queue_weight.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_queue_weight.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_tlv_queue_weight.value')
+ return 'of_bsn_tlv_queue_weight'
+end
+of_bsn_tlv_v4_dissectors[21] = dissect_of_bsn_tlv_queue_weight_v4
+
+-- child class of_bsn_tlv_reply_packets
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_reply_packets_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_reply_packets.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_reply_packets.length')
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_tlv_reply_packets.value')
+ return 'of_bsn_tlv_reply_packets'
+end
+of_bsn_tlv_v4_dissectors[12] = dissect_of_bsn_tlv_reply_packets_v4
+
+-- child class of_bsn_tlv_request_packets
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_request_packets_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_request_packets.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_request_packets.length')
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_tlv_request_packets.value')
+ return 'of_bsn_tlv_request_packets'
+end
+of_bsn_tlv_v4_dissectors[11] = dissect_of_bsn_tlv_request_packets_v4
+
+-- child class of_bsn_tlv_rx_packets
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_rx_packets_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_rx_packets.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_rx_packets.length')
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_tlv_rx_packets.value')
+ return 'of_bsn_tlv_rx_packets'
+end
+of_bsn_tlv_v4_dissectors[2] = dissect_of_bsn_tlv_rx_packets_v4
+
+-- child class of_bsn_tlv_tx_packets
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_tx_packets_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_tx_packets.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_tx_packets.length')
+ read_uint64_t(reader, 4, subtree, 'of13.bsn_tlv_tx_packets.value')
+ return 'of_bsn_tlv_tx_packets'
+end
+of_bsn_tlv_v4_dissectors[3] = dissect_of_bsn_tlv_tx_packets_v4
+
+-- child class of_bsn_tlv_udf_anchor
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udf_anchor_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_anchor.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_anchor.length')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_anchor.value')
+ return 'of_bsn_tlv_udf_anchor'
+end
+of_bsn_tlv_v4_dissectors[16] = dissect_of_bsn_tlv_udf_anchor_v4
+
+-- child class of_bsn_tlv_udf_id
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udf_id_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_id.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_id.length')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_id.value')
+ return 'of_bsn_tlv_udf_id'
+end
+of_bsn_tlv_v4_dissectors[15] = dissect_of_bsn_tlv_udf_id_v4
+
+-- child class of_bsn_tlv_udf_length
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udf_length_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_length.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_length.length')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_length.value')
+ return 'of_bsn_tlv_udf_length'
+end
+of_bsn_tlv_v4_dissectors[18] = dissect_of_bsn_tlv_udf_length_v4
+
+-- child class of_bsn_tlv_udf_offset
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udf_offset_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_offset.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_offset.length')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udf_offset.value')
+ return 'of_bsn_tlv_udf_offset'
+end
+of_bsn_tlv_v4_dissectors[17] = dissect_of_bsn_tlv_udf_offset_v4
+
+-- child class of_bsn_tlv_unicast_query_timeout
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_unicast_query_timeout_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_unicast_query_timeout.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_unicast_query_timeout.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_tlv_unicast_query_timeout.value')
+ return 'of_bsn_tlv_unicast_query_timeout'
+end
+of_bsn_tlv_v4_dissectors[9] = dissect_of_bsn_tlv_unicast_query_timeout_v4
+
+-- child class of_bsn_tlv_vlan_vid
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_vlan_vid_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_vlan_vid.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_vlan_vid.length')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_vlan_vid.value')
+ return 'of_bsn_tlv_vlan_vid'
+end
+of_bsn_tlv_v4_dissectors[6] = dissect_of_bsn_tlv_vlan_vid_v4
+
+-- child class of_bsn_tlv_vrf
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_vrf_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_vrf.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_vrf.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_tlv_vrf.value')
+ return 'of_bsn_tlv_vrf'
+end
+of_bsn_tlv_v4_dissectors[19] = dissect_of_bsn_tlv_vrf_v4
+
+-- child class of_bsn_virtual_port_create_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_create_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_reply.status')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_reply.vport_no')
+ return 'of_bsn_virtual_port_create_reply'
+end
+of_bsn_header_v4_dissectors[16] = dissect_of_bsn_virtual_port_create_reply_v4
+
+-- virtual top-level class of_bsn_vport
+-- Discriminator is type
+function dissect_of_bsn_vport_v4(reader, subtree)
+ return of_bsn_vport_v4_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_bsn_virtual_port_create_request
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_create_request_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_request.subtype')
+ read_of_bsn_vport_t(reader, 4, subtree, 'of13.bsn_virtual_port_create_request.vport')
+ return 'of_bsn_virtual_port_create_request'
+end
+of_bsn_header_v4_dissectors[15] = dissect_of_bsn_virtual_port_create_request_v4
+
+-- child class of_bsn_virtual_port_remove_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_remove_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_reply.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_reply.status')
+ return 'of_bsn_virtual_port_remove_reply'
+end
+of_bsn_header_v4_dissectors[26] = dissect_of_bsn_virtual_port_remove_reply_v4
+
+-- child class of_bsn_virtual_port_remove_request
+-- Child of of_bsn_header
+function dissect_of_bsn_virtual_port_remove_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_request.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_virtual_port_remove_request.vport_no')
+ return 'of_bsn_virtual_port_remove_request'
+end
+of_bsn_header_v4_dissectors[17] = dissect_of_bsn_virtual_port_remove_request_v4
+
+-- top-level class of_bsn_vlan_counter_stats_entry
+function dissect_of_bsn_vlan_counter_stats_entry_v4(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_entry.length')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_entry.vlan_vid')
+ reader.skip(4)
+ read_list(reader, dissect_of_uint64_v4, subtree, 'of_uint64')
+ return 'of_bsn_vlan_counter_stats_entry'
+end
+-- child class of_bsn_vlan_counter_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_vlan_counter_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_vlan_counter_stats_entry_v4, subtree, 'of_bsn_vlan_counter_stats_entry')
+ return 'of_bsn_vlan_counter_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[9] = dissect_of_bsn_vlan_counter_stats_reply_v4
+
+-- child class of_bsn_vlan_counter_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_vlan_counter_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_request.subtype')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vlan_counter_stats_request.vlan_vid')
+ return 'of_bsn_vlan_counter_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[9] = dissect_of_bsn_vlan_counter_stats_request_v4
+
+-- child class of_bsn_vport_l2gre
+-- Child of of_bsn_vport
+function dissect_of_bsn_vport_l2gre_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.flags')
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.port_no')
+ read_of_port_no_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.loopback_port_no')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.local_mac')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.nh_mac')
+ read_of_ipv4_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.src_ip')
+ read_of_ipv4_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.dst_ip')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.dscp')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.ttl')
+ reader.skip(2)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.vpn')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.rate_limit')
+ read_of_port_name_t(reader, 4, subtree, 'of13.bsn_vport_l2gre.if_name')
+ return 'of_bsn_vport_l2gre'
+end
+of_bsn_vport_v4_dissectors[1] = dissect_of_bsn_vport_l2gre_v4
+
+-- child class of_bsn_vport_q_in_q
+-- Child of of_bsn_vport
+function dissect_of_bsn_vport_q_in_q_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vport_q_in_q.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vport_q_in_q.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vport_q_in_q.port_no')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vport_q_in_q.ingress_tpid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vport_q_in_q.ingress_vlan_id')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vport_q_in_q.egress_tpid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vport_q_in_q.egress_vlan_id')
+ read_of_port_name_t(reader, 4, subtree, 'of13.bsn_vport_q_in_q.if_name')
+ return 'of_bsn_vport_q_in_q'
+end
+of_bsn_vport_v4_dissectors[0] = dissect_of_bsn_vport_q_in_q_v4
+
+-- top-level class of_bsn_vrf_counter_stats_entry
+function dissect_of_bsn_vrf_counter_stats_entry_v4(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_entry.length')
+ reader.skip(2)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_entry.vrf')
+ read_list(reader, dissect_of_uint64_v4, subtree, 'of_uint64')
+ return 'of_bsn_vrf_counter_stats_entry'
+end
+-- child class of_bsn_vrf_counter_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_vrf_counter_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_reply.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_reply.subtype')
+ read_list(reader, dissect_of_bsn_vrf_counter_stats_entry_v4, subtree, 'of_bsn_vrf_counter_stats_entry')
+ return 'of_bsn_vrf_counter_stats_reply'
+end
+of_bsn_stats_reply_v4_dissectors[15] = dissect_of_bsn_vrf_counter_stats_reply_v4
+
+-- child class of_bsn_vrf_counter_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_vrf_counter_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_request.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_request.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.bsn_vrf_counter_stats_request.vrf')
+ return 'of_bsn_vrf_counter_stats_request'
+end
+of_bsn_stats_request_v4_dissectors[15] = dissect_of_bsn_vrf_counter_stats_request_v4
+
+-- top-level class of_bucket
+function dissect_of_bucket_v4(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.bucket.len')
+ read_uint16_t(reader, 4, subtree, 'of13.bucket.weight')
+ read_of_port_no_t(reader, 4, subtree, 'of13.bucket.watch_port')
+ read_uint32_t(reader, 4, subtree, 'of13.bucket.watch_group')
+ reader.skip(4)
+ read_list(reader, dissect_of_action_v4, subtree, 'of_action')
+ return 'of_bucket'
+end
+-- top-level class of_bucket_counter
+function dissect_of_bucket_counter_v4(reader, subtree)
+ read_uint64_t(reader, 4, subtree, 'of13.bucket_counter.packet_count')
+ read_uint64_t(reader, 4, subtree, 'of13.bucket_counter.byte_count')
+ return 'of_bucket_counter'
+end
+-- child class of_desc_stats_reply
+-- Child of of_stats_reply
+function dissect_of_desc_stats_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.desc_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.desc_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.desc_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.desc_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.desc_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.desc_stats_reply.flags')
+ reader.skip(4)
+ read_of_desc_str_t(reader, 4, subtree, 'of13.desc_stats_reply.mfr_desc')
+ read_of_desc_str_t(reader, 4, subtree, 'of13.desc_stats_reply.hw_desc')
+ read_of_desc_str_t(reader, 4, subtree, 'of13.desc_stats_reply.sw_desc')
+ read_of_serial_num_t(reader, 4, subtree, 'of13.desc_stats_reply.serial_num')
+ read_of_desc_str_t(reader, 4, subtree, 'of13.desc_stats_reply.dp_desc')
+ return 'of_desc_stats_reply'
+end
+of_stats_reply_v4_dissectors[0] = dissect_of_desc_stats_reply_v4
+
+-- child class of_desc_stats_request
+-- Child of of_stats_request
+function dissect_of_desc_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.desc_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.desc_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.desc_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.desc_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.desc_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.desc_stats_request.flags')
+ reader.skip(4)
+ return 'of_desc_stats_request'
+end
+of_stats_request_v4_dissectors[0] = dissect_of_desc_stats_request_v4
+
+-- child class of_echo_reply
+-- Child of of_header
+function dissect_of_echo_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.echo_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.echo_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.echo_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.echo_reply.xid')
+ read_of_octets_t(reader, 4, subtree, 'of13.echo_reply.data')
+ return 'of_echo_reply'
+end
+of_header_v4_dissectors[3] = dissect_of_echo_reply_v4
+
+-- child class of_echo_request
+-- Child of of_header
+function dissect_of_echo_request_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.echo_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.echo_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.echo_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.echo_request.xid')
+ read_of_octets_t(reader, 4, subtree, 'of13.echo_request.data')
+ return 'of_echo_request'
+end
+of_header_v4_dissectors[2] = dissect_of_echo_request_v4
+
+-- child class of_experimenter_error_msg
+-- Child of of_error_msg
+function dissect_of_experimenter_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.experimenter_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.experimenter_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.experimenter_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.experimenter_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.experimenter_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.experimenter_error_msg.subtype')
+ read_uint32_t(reader, 4, subtree, 'of13.experimenter_error_msg.experimenter')
+ read_of_octets_t(reader, 4, subtree, 'of13.experimenter_error_msg.data')
+ return 'of_experimenter_error_msg'
+end
+of_error_msg_v4_dissectors[65535] = dissect_of_experimenter_error_msg_v4
+
+-- child class of_features_reply
+-- Child of of_header
+function dissect_of_features_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.features_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.features_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.features_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.features_reply.xid')
+ read_uint64_t(reader, 4, subtree, 'of13.features_reply.datapath_id')
+ read_uint32_t(reader, 4, subtree, 'of13.features_reply.n_buffers')
+ read_uint8_t(reader, 4, subtree, 'of13.features_reply.n_tables')
+ read_uint8_t(reader, 4, subtree, 'of13.features_reply.auxiliary_id')
+ reader.skip(2)
+ read_uint32_t(reader, 4, subtree, 'of13.features_reply.capabilities')
+ read_uint32_t(reader, 4, subtree, 'of13.features_reply.reserved')
+ return 'of_features_reply'
+end
+of_header_v4_dissectors[6] = dissect_of_features_reply_v4
+
+-- child class of_features_request
+-- Child of of_header
+function dissect_of_features_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.features_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.features_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.features_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.features_request.xid')
+ return 'of_features_request'
+end
+of_header_v4_dissectors[5] = dissect_of_features_request_v4
+
+-- virtual child class of_flow_mod
+-- Child of of_header
+-- Discriminator is _command
+function dissect_of_flow_mod_v4(reader, subtree)
+ return of_flow_mod_v4_dissectors[reader.peek(25,1):uint()](reader, subtree)
+end
+of_header_v4_dissectors[14] = dissect_of_flow_mod_v4
+
+-- child class of_flow_add
+-- Child of of_flow_mod
+function dissect_of_flow_add_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.flow_add.version')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_add.type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_add.length')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_add.xid')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_add.cookie')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_add.cookie_mask')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_add.table_id')
+ read_of_fm_cmd_t(reader, 4, subtree, 'of13.flow_add._command')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_add.idle_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_add.hard_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_add.priority')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_add.buffer_id')
+ read_of_port_no_t(reader, 4, subtree, 'of13.flow_add.out_port')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_add.out_group')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_add.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 4, subtree, 'of13.flow_add.match')
+ read_list(reader, dissect_of_instruction_v4, subtree, 'of_instruction')
+ return 'of_flow_add'
+end
+of_flow_mod_v4_dissectors[0] = dissect_of_flow_add_v4
+
+-- child class of_flow_delete
+-- Child of of_flow_mod
+function dissect_of_flow_delete_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.flow_delete.version')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_delete.type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_delete.length')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_delete.xid')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_delete.cookie')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_delete.cookie_mask')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_delete.table_id')
+ read_of_fm_cmd_t(reader, 4, subtree, 'of13.flow_delete._command')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_delete.idle_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_delete.hard_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_delete.priority')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_delete.buffer_id')
+ read_of_port_no_t(reader, 4, subtree, 'of13.flow_delete.out_port')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_delete.out_group')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_delete.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 4, subtree, 'of13.flow_delete.match')
+ read_list(reader, dissect_of_instruction_v4, subtree, 'of_instruction')
+ return 'of_flow_delete'
+end
+of_flow_mod_v4_dissectors[3] = dissect_of_flow_delete_v4
+
+-- child class of_flow_delete_strict
+-- Child of of_flow_mod
+function dissect_of_flow_delete_strict_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.flow_delete_strict.version')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_delete_strict.type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_delete_strict.length')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_delete_strict.xid')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_delete_strict.cookie')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_delete_strict.cookie_mask')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_delete_strict.table_id')
+ read_of_fm_cmd_t(reader, 4, subtree, 'of13.flow_delete_strict._command')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_delete_strict.idle_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_delete_strict.hard_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_delete_strict.priority')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_delete_strict.buffer_id')
+ read_of_port_no_t(reader, 4, subtree, 'of13.flow_delete_strict.out_port')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_delete_strict.out_group')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_delete_strict.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 4, subtree, 'of13.flow_delete_strict.match')
+ read_list(reader, dissect_of_instruction_v4, subtree, 'of_instruction')
+ return 'of_flow_delete_strict'
+end
+of_flow_mod_v4_dissectors[4] = dissect_of_flow_delete_strict_v4
+
+-- child class of_flow_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_flow_mod_failed_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.flow_mod_failed_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_mod_failed_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_mod_failed_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_mod_failed_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.flow_mod_failed_error_msg.data')
+ return 'of_flow_mod_failed_error_msg'
+end
+of_error_msg_v4_dissectors[5] = dissect_of_flow_mod_failed_error_msg_v4
+
+-- child class of_flow_modify
+-- Child of of_flow_mod
+function dissect_of_flow_modify_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.flow_modify.version')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_modify.type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_modify.length')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_modify.xid')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_modify.cookie')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_modify.cookie_mask')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_modify.table_id')
+ read_of_fm_cmd_t(reader, 4, subtree, 'of13.flow_modify._command')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_modify.idle_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_modify.hard_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_modify.priority')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_modify.buffer_id')
+ read_of_port_no_t(reader, 4, subtree, 'of13.flow_modify.out_port')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_modify.out_group')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_modify.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 4, subtree, 'of13.flow_modify.match')
+ read_list(reader, dissect_of_instruction_v4, subtree, 'of_instruction')
+ return 'of_flow_modify'
+end
+of_flow_mod_v4_dissectors[1] = dissect_of_flow_modify_v4
+
+-- child class of_flow_modify_strict
+-- Child of of_flow_mod
+function dissect_of_flow_modify_strict_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.flow_modify_strict.version')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_modify_strict.type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_modify_strict.length')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_modify_strict.xid')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_modify_strict.cookie')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_modify_strict.cookie_mask')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_modify_strict.table_id')
+ read_of_fm_cmd_t(reader, 4, subtree, 'of13.flow_modify_strict._command')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_modify_strict.idle_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_modify_strict.hard_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_modify_strict.priority')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_modify_strict.buffer_id')
+ read_of_port_no_t(reader, 4, subtree, 'of13.flow_modify_strict.out_port')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_modify_strict.out_group')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_modify_strict.flags')
+ reader.skip(2)
+ read_of_match_t(reader, 4, subtree, 'of13.flow_modify_strict.match')
+ read_list(reader, dissect_of_instruction_v4, subtree, 'of_instruction')
+ return 'of_flow_modify_strict'
+end
+of_flow_mod_v4_dissectors[2] = dissect_of_flow_modify_strict_v4
+
+-- child class of_flow_removed
+-- Child of of_header
+function dissect_of_flow_removed_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.flow_removed.version')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_removed.type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_removed.length')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_removed.xid')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_removed.cookie')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_removed.priority')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_removed.reason')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_removed.table_id')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_removed.duration_sec')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_removed.duration_nsec')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_removed.idle_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_removed.hard_timeout')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_removed.packet_count')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_removed.byte_count')
+ read_of_match_t(reader, 4, subtree, 'of13.flow_removed.match')
+ return 'of_flow_removed'
+end
+of_header_v4_dissectors[11] = dissect_of_flow_removed_v4
+
+-- top-level class of_flow_stats_entry
+function dissect_of_flow_stats_entry_v4(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.flow_stats_entry.length')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_stats_entry.table_id')
+ reader.skip(1)
+ read_uint32_t(reader, 4, subtree, 'of13.flow_stats_entry.duration_sec')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_stats_entry.duration_nsec')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_stats_entry.priority')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_stats_entry.idle_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_stats_entry.hard_timeout')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_stats_entry.flags')
+ reader.skip(4)
+ read_uint64_t(reader, 4, subtree, 'of13.flow_stats_entry.cookie')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_stats_entry.packet_count')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_stats_entry.byte_count')
+ read_of_match_t(reader, 4, subtree, 'of13.flow_stats_entry.match')
+ read_list(reader, dissect_of_instruction_v4, subtree, 'of_instruction')
+ return 'of_flow_stats_entry'
+end
+-- child class of_flow_stats_reply
+-- Child of of_stats_reply
+function dissect_of_flow_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.flow_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_flow_stats_entry_v4, subtree, 'of_flow_stats_entry')
+ return 'of_flow_stats_reply'
+end
+of_stats_reply_v4_dissectors[1] = dissect_of_flow_stats_reply_v4
+
+-- child class of_flow_stats_request
+-- Child of of_stats_request
+function dissect_of_flow_stats_request_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.flow_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.flow_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.flow_stats_request.flags')
+ reader.skip(4)
+ read_uint8_t(reader, 4, subtree, 'of13.flow_stats_request.table_id')
+ reader.skip(3)
+ read_of_port_no_t(reader, 4, subtree, 'of13.flow_stats_request.out_port')
+ read_uint32_t(reader, 4, subtree, 'of13.flow_stats_request.out_group')
+ reader.skip(4)
+ read_uint64_t(reader, 4, subtree, 'of13.flow_stats_request.cookie')
+ read_uint64_t(reader, 4, subtree, 'of13.flow_stats_request.cookie_mask')
+ read_of_match_t(reader, 4, subtree, 'of13.flow_stats_request.match')
+ return 'of_flow_stats_request'
+end
+of_stats_request_v4_dissectors[1] = dissect_of_flow_stats_request_v4
+
+-- child class of_get_config_reply
+-- Child of of_header
+function dissect_of_get_config_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.get_config_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.get_config_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.get_config_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.get_config_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.get_config_reply.flags')
+ read_uint16_t(reader, 4, subtree, 'of13.get_config_reply.miss_send_len')
+ return 'of_get_config_reply'
+end
+of_header_v4_dissectors[8] = dissect_of_get_config_reply_v4
+
+-- child class of_get_config_request
+-- Child of of_header
+function dissect_of_get_config_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.get_config_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.get_config_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.get_config_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.get_config_request.xid')
+ return 'of_get_config_request'
+end
+of_header_v4_dissectors[7] = dissect_of_get_config_request_v4
+
+-- virtual child class of_group_mod
+-- Child of of_header
+-- Discriminator is command
+function dissect_of_group_mod_v4(reader, subtree)
+ return of_group_mod_v4_dissectors[reader.peek(8,2):uint()](reader, subtree)
+end
+of_header_v4_dissectors[15] = dissect_of_group_mod_v4
+
+-- child class of_group_add
+-- Child of of_group_mod
+function dissect_of_group_add_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.group_add.version')
+ read_uint8_t(reader, 4, subtree, 'of13.group_add.type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_add.length')
+ read_uint32_t(reader, 4, subtree, 'of13.group_add.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.group_add.command')
+ read_uint8_t(reader, 4, subtree, 'of13.group_add.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 4, subtree, 'of13.group_add.group_id')
+ read_list(reader, dissect_of_bucket_v4, subtree, 'of_bucket')
+ return 'of_group_add'
+end
+of_group_mod_v4_dissectors[0] = dissect_of_group_add_v4
+
+-- child class of_group_delete
+-- Child of of_group_mod
+function dissect_of_group_delete_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.group_delete.version')
+ read_uint8_t(reader, 4, subtree, 'of13.group_delete.type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_delete.length')
+ read_uint32_t(reader, 4, subtree, 'of13.group_delete.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.group_delete.command')
+ read_uint8_t(reader, 4, subtree, 'of13.group_delete.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 4, subtree, 'of13.group_delete.group_id')
+ read_list(reader, dissect_of_bucket_v4, subtree, 'of_bucket')
+ return 'of_group_delete'
+end
+of_group_mod_v4_dissectors[2] = dissect_of_group_delete_v4
+
+-- top-level class of_group_desc_stats_entry
+function dissect_of_group_desc_stats_entry_v4(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.group_desc_stats_entry.length')
+ read_uint8_t(reader, 4, subtree, 'of13.group_desc_stats_entry.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 4, subtree, 'of13.group_desc_stats_entry.group_id')
+ read_list(reader, dissect_of_bucket_v4, subtree, 'of_bucket')
+ return 'of_group_desc_stats_entry'
+end
+-- child class of_group_desc_stats_reply
+-- Child of of_stats_reply
+function dissect_of_group_desc_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.group_desc_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.group_desc_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_desc_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.group_desc_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.group_desc_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_desc_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_group_desc_stats_entry_v4, subtree, 'of_group_desc_stats_entry')
+ return 'of_group_desc_stats_reply'
+end
+of_stats_reply_v4_dissectors[7] = dissect_of_group_desc_stats_reply_v4
+
+-- child class of_group_desc_stats_request
+-- Child of of_stats_request
+function dissect_of_group_desc_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.group_desc_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.group_desc_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_desc_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.group_desc_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.group_desc_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_desc_stats_request.flags')
+ reader.skip(4)
+ return 'of_group_desc_stats_request'
+end
+of_stats_request_v4_dissectors[7] = dissect_of_group_desc_stats_request_v4
+
+-- child class of_group_features_stats_reply
+-- Child of of_stats_reply
+function dissect_of_group_features_stats_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.group_features_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.group_features_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_features_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.group_features_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_features_stats_reply.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_reply.types')
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_reply.capabilities')
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_reply.max_groups_all')
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_reply.max_groups_select')
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_reply.max_groups_indirect')
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_reply.max_groups_ff')
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_reply.actions_all')
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_reply.actions_select')
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_reply.actions_indirect')
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_reply.actions_ff')
+ return 'of_group_features_stats_reply'
+end
+of_stats_reply_v4_dissectors[8] = dissect_of_group_features_stats_reply_v4
+
+-- child class of_group_features_stats_request
+-- Child of of_stats_request
+function dissect_of_group_features_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.group_features_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.group_features_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_features_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.group_features_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.group_features_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_features_stats_request.flags')
+ reader.skip(4)
+ return 'of_group_features_stats_request'
+end
+of_stats_request_v4_dissectors[8] = dissect_of_group_features_stats_request_v4
+
+-- child class of_group_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_group_mod_failed_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.group_mod_failed_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.group_mod_failed_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_mod_failed_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.group_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.group_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_mod_failed_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.group_mod_failed_error_msg.data')
+ return 'of_group_mod_failed_error_msg'
+end
+of_error_msg_v4_dissectors[6] = dissect_of_group_mod_failed_error_msg_v4
+
+-- child class of_group_modify
+-- Child of of_group_mod
+function dissect_of_group_modify_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.group_modify.version')
+ read_uint8_t(reader, 4, subtree, 'of13.group_modify.type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_modify.length')
+ read_uint32_t(reader, 4, subtree, 'of13.group_modify.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.group_modify.command')
+ read_uint8_t(reader, 4, subtree, 'of13.group_modify.group_type')
+ reader.skip(1)
+ read_uint32_t(reader, 4, subtree, 'of13.group_modify.group_id')
+ read_list(reader, dissect_of_bucket_v4, subtree, 'of_bucket')
+ return 'of_group_modify'
+end
+of_group_mod_v4_dissectors[1] = dissect_of_group_modify_v4
+
+-- top-level class of_group_stats_entry
+function dissect_of_group_stats_entry_v4(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.group_stats_entry.length')
+ reader.skip(2)
+ read_uint32_t(reader, 4, subtree, 'of13.group_stats_entry.group_id')
+ read_uint32_t(reader, 4, subtree, 'of13.group_stats_entry.ref_count')
+ reader.skip(4)
+ read_uint64_t(reader, 4, subtree, 'of13.group_stats_entry.packet_count')
+ read_uint64_t(reader, 4, subtree, 'of13.group_stats_entry.byte_count')
+ read_uint32_t(reader, 4, subtree, 'of13.group_stats_entry.duration_sec')
+ read_uint32_t(reader, 4, subtree, 'of13.group_stats_entry.duration_nsec')
+ read_list(reader, dissect_of_bucket_counter_v4, subtree, 'of_bucket_counter')
+ return 'of_group_stats_entry'
+end
+-- child class of_group_stats_reply
+-- Child of of_stats_reply
+function dissect_of_group_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.group_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.group_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.group_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.group_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_group_stats_entry_v4, subtree, 'of_group_stats_entry')
+ return 'of_group_stats_reply'
+end
+of_stats_reply_v4_dissectors[6] = dissect_of_group_stats_reply_v4
+
+-- child class of_group_stats_request
+-- Child of of_stats_request
+function dissect_of_group_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.group_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.group_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.group_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.group_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.group_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.group_stats_request.group_id')
+ reader.skip(4)
+ return 'of_group_stats_request'
+end
+of_stats_request_v4_dissectors[6] = dissect_of_group_stats_request_v4
+
+-- child class of_hello
+-- Child of of_header
+function dissect_of_hello_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.hello.version')
+ read_uint8_t(reader, 4, subtree, 'of13.hello.type')
+ read_uint16_t(reader, 4, subtree, 'of13.hello.length')
+ read_uint32_t(reader, 4, subtree, 'of13.hello.xid')
+ read_list(reader, dissect_of_hello_elem_v4, subtree, 'of_hello_elem')
+ return 'of_hello'
+end
+of_header_v4_dissectors[0] = dissect_of_hello_v4
+
+-- virtual top-level class of_hello_elem
+-- Discriminator is type
+function dissect_of_hello_elem_v4(reader, subtree)
+ return of_hello_elem_v4_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_hello_elem_versionbitmap
+-- Child of of_hello_elem
+function dissect_of_hello_elem_versionbitmap_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.hello_elem_versionbitmap.type')
+ read_uint16_t(reader, 4, subtree, 'of13.hello_elem_versionbitmap.length')
+ read_list(reader, dissect_of_uint32_v4, subtree, 'of_uint32')
+ return 'of_hello_elem_versionbitmap'
+end
+of_hello_elem_v4_dissectors[1] = dissect_of_hello_elem_versionbitmap_v4
+
+-- child class of_hello_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_hello_failed_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.hello_failed_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.hello_failed_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.hello_failed_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.hello_failed_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.hello_failed_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.hello_failed_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.hello_failed_error_msg.data')
+ return 'of_hello_failed_error_msg'
+end
+of_error_msg_v4_dissectors[0] = dissect_of_hello_failed_error_msg_v4
+
+-- virtual top-level class of_instruction
+-- Discriminator is type
+function dissect_of_instruction_v4(reader, subtree)
+ return of_instruction_v4_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- virtual top-level class of_instruction_id
+-- Discriminator is type
+function dissect_of_instruction_id_v4(reader, subtree)
+ return of_instruction_id_v4_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_instruction_apply_actions
+-- Child of of_instruction
+function dissect_of_instruction_apply_actions_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_apply_actions.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_apply_actions.len')
+ reader.skip(4)
+ read_list(reader, dissect_of_action_v4, subtree, 'of_action')
+ return 'of_instruction_apply_actions'
+end
+of_instruction_v4_dissectors[4] = dissect_of_instruction_apply_actions_v4
+
+-- child class of_instruction_id_apply_actions
+-- Child of of_instruction_id
+function dissect_of_instruction_id_apply_actions_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_apply_actions.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_apply_actions.len')
+ return 'of_instruction_id_apply_actions'
+end
+of_instruction_id_v4_dissectors[4] = dissect_of_instruction_id_apply_actions_v4
+
+-- virtual child class of_instruction_experimenter
+-- Child of of_instruction
+-- Discriminator is experimenter
+function dissect_of_instruction_experimenter_v4(reader, subtree)
+ return of_instruction_experimenter_v4_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_instruction_v4_dissectors[65535] = dissect_of_instruction_experimenter_v4
+
+-- virtual child class of_instruction_bsn
+-- Child of of_instruction_experimenter
+-- Discriminator is subtype
+function dissect_of_instruction_bsn_v4(reader, subtree)
+ return of_instruction_bsn_v4_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_instruction_experimenter_v4_dissectors[6035143] = dissect_of_instruction_bsn_v4
+
+-- virtual child class of_instruction_id_experimenter
+-- Child of of_instruction_id
+-- Discriminator is experimenter
+function dissect_of_instruction_id_experimenter_v4(reader, subtree)
+ return of_instruction_id_experimenter_v4_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_instruction_id_v4_dissectors[65535] = dissect_of_instruction_id_experimenter_v4
+
+-- virtual child class of_instruction_id_bsn
+-- Child of of_instruction_id_experimenter
+-- Discriminator is subtype
+function dissect_of_instruction_id_bsn_v4(reader, subtree)
+ return of_instruction_id_bsn_v4_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_instruction_id_experimenter_v4_dissectors[6035143] = dissect_of_instruction_id_bsn_v4
+
+-- child class of_instruction_bsn_arp_offload
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_arp_offload_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_arp_offload.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_arp_offload.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_arp_offload.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_arp_offload.subtype')
+ reader.skip(4)
+ return 'of_instruction_bsn_arp_offload'
+end
+of_instruction_bsn_v4_dissectors[1] = dissect_of_instruction_bsn_arp_offload_v4
+
+-- child class of_instruction_id_bsn_arp_offload
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_arp_offload_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_arp_offload.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_arp_offload.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_arp_offload.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_arp_offload.subtype')
+ return 'of_instruction_id_bsn_arp_offload'
+end
+of_instruction_id_bsn_v4_dissectors[1] = dissect_of_instruction_id_bsn_arp_offload_v4
+
+-- child class of_instruction_bsn_deny
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_deny_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_deny.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_deny.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_deny.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_deny.subtype')
+ reader.skip(4)
+ return 'of_instruction_bsn_deny'
+end
+of_instruction_bsn_v4_dissectors[5] = dissect_of_instruction_bsn_deny_v4
+
+-- child class of_instruction_id_bsn_deny
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_deny_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_deny.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_deny.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_deny.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_deny.subtype')
+ return 'of_instruction_id_bsn_deny'
+end
+of_instruction_id_bsn_v4_dissectors[5] = dissect_of_instruction_id_bsn_deny_v4
+
+-- child class of_instruction_bsn_dhcp_offload
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_dhcp_offload_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_dhcp_offload.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_dhcp_offload.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_dhcp_offload.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_dhcp_offload.subtype')
+ reader.skip(4)
+ return 'of_instruction_bsn_dhcp_offload'
+end
+of_instruction_bsn_v4_dissectors[2] = dissect_of_instruction_bsn_dhcp_offload_v4
+
+-- child class of_instruction_id_bsn_dhcp_offload
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_dhcp_offload_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_dhcp_offload.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_dhcp_offload.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_dhcp_offload.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_dhcp_offload.subtype')
+ return 'of_instruction_id_bsn_dhcp_offload'
+end
+of_instruction_id_bsn_v4_dissectors[2] = dissect_of_instruction_id_bsn_dhcp_offload_v4
+
+-- child class of_instruction_bsn_disable_split_horizon_check
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_disable_split_horizon_check_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_disable_split_horizon_check.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_disable_split_horizon_check.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_disable_split_horizon_check.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_disable_split_horizon_check.subtype')
+ reader.skip(4)
+ return 'of_instruction_bsn_disable_split_horizon_check'
+end
+of_instruction_bsn_v4_dissectors[3] = dissect_of_instruction_bsn_disable_split_horizon_check_v4
+
+-- child class of_instruction_id_bsn_disable_split_horizon_check
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_disable_split_horizon_check_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_split_horizon_check.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_split_horizon_check.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_split_horizon_check.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_split_horizon_check.subtype')
+ return 'of_instruction_id_bsn_disable_split_horizon_check'
+end
+of_instruction_id_bsn_v4_dissectors[3] = dissect_of_instruction_id_bsn_disable_split_horizon_check_v4
+
+-- child class of_instruction_bsn_disable_src_mac_check
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_disable_src_mac_check_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_disable_src_mac_check.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_disable_src_mac_check.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_disable_src_mac_check.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_disable_src_mac_check.subtype')
+ reader.skip(4)
+ return 'of_instruction_bsn_disable_src_mac_check'
+end
+of_instruction_bsn_v4_dissectors[0] = dissect_of_instruction_bsn_disable_src_mac_check_v4
+
+-- child class of_instruction_id_bsn_disable_src_mac_check
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_disable_src_mac_check_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_src_mac_check.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_src_mac_check.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_src_mac_check.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_src_mac_check.subtype')
+ return 'of_instruction_id_bsn_disable_src_mac_check'
+end
+of_instruction_id_bsn_v4_dissectors[0] = dissect_of_instruction_id_bsn_disable_src_mac_check_v4
+
+-- child class of_instruction_bsn_disable_vlan_counters
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_disable_vlan_counters_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_disable_vlan_counters.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_disable_vlan_counters.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_disable_vlan_counters.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_disable_vlan_counters.subtype')
+ reader.skip(4)
+ return 'of_instruction_bsn_disable_vlan_counters'
+end
+of_instruction_bsn_v4_dissectors[9] = dissect_of_instruction_bsn_disable_vlan_counters_v4
+
+-- child class of_instruction_id_bsn_disable_vlan_counters
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_disable_vlan_counters_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_vlan_counters.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_vlan_counters.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_vlan_counters.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_disable_vlan_counters.subtype')
+ return 'of_instruction_id_bsn_disable_vlan_counters'
+end
+of_instruction_id_bsn_v4_dissectors[9] = dissect_of_instruction_id_bsn_disable_vlan_counters_v4
+
+-- child class of_instruction_bsn_packet_of_death
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_packet_of_death_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_packet_of_death.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_packet_of_death.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_packet_of_death.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_packet_of_death.subtype')
+ reader.skip(4)
+ return 'of_instruction_bsn_packet_of_death'
+end
+of_instruction_bsn_v4_dissectors[6] = dissect_of_instruction_bsn_packet_of_death_v4
+
+-- child class of_instruction_id_bsn_packet_of_death
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_packet_of_death_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_packet_of_death.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_packet_of_death.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_packet_of_death.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_packet_of_death.subtype')
+ return 'of_instruction_id_bsn_packet_of_death'
+end
+of_instruction_id_bsn_v4_dissectors[6] = dissect_of_instruction_id_bsn_packet_of_death_v4
+
+-- child class of_instruction_bsn_permit
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_permit_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_permit.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_permit.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_permit.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_permit.subtype')
+ reader.skip(4)
+ return 'of_instruction_bsn_permit'
+end
+of_instruction_bsn_v4_dissectors[4] = dissect_of_instruction_bsn_permit_v4
+
+-- child class of_instruction_id_bsn_permit
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_permit_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_permit.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_permit.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_permit.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_permit.subtype')
+ return 'of_instruction_id_bsn_permit'
+end
+of_instruction_id_bsn_v4_dissectors[4] = dissect_of_instruction_id_bsn_permit_v4
+
+-- child class of_instruction_bsn_prioritize_pdus
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_prioritize_pdus_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_prioritize_pdus.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_prioritize_pdus.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_prioritize_pdus.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_prioritize_pdus.subtype')
+ reader.skip(4)
+ return 'of_instruction_bsn_prioritize_pdus'
+end
+of_instruction_bsn_v4_dissectors[7] = dissect_of_instruction_bsn_prioritize_pdus_v4
+
+-- child class of_instruction_id_bsn_prioritize_pdus
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_prioritize_pdus_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_prioritize_pdus.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_prioritize_pdus.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_prioritize_pdus.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_prioritize_pdus.subtype')
+ return 'of_instruction_id_bsn_prioritize_pdus'
+end
+of_instruction_id_bsn_v4_dissectors[7] = dissect_of_instruction_id_bsn_prioritize_pdus_v4
+
+-- child class of_instruction_bsn_require_vlan_xlate
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_require_vlan_xlate_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_require_vlan_xlate.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_require_vlan_xlate.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_require_vlan_xlate.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_require_vlan_xlate.subtype')
+ reader.skip(4)
+ return 'of_instruction_bsn_require_vlan_xlate'
+end
+of_instruction_bsn_v4_dissectors[8] = dissect_of_instruction_bsn_require_vlan_xlate_v4
+
+-- child class of_instruction_id_bsn_require_vlan_xlate
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_require_vlan_xlate_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_require_vlan_xlate.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_require_vlan_xlate.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_require_vlan_xlate.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_require_vlan_xlate.subtype')
+ return 'of_instruction_id_bsn_require_vlan_xlate'
+end
+of_instruction_id_bsn_v4_dissectors[8] = dissect_of_instruction_id_bsn_require_vlan_xlate_v4
+
+-- child class of_instruction_clear_actions
+-- Child of of_instruction
+function dissect_of_instruction_clear_actions_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_clear_actions.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_clear_actions.len')
+ reader.skip(4)
+ return 'of_instruction_clear_actions'
+end
+of_instruction_v4_dissectors[5] = dissect_of_instruction_clear_actions_v4
+
+-- child class of_instruction_id_clear_actions
+-- Child of of_instruction_id
+function dissect_of_instruction_id_clear_actions_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_clear_actions.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_clear_actions.len')
+ return 'of_instruction_id_clear_actions'
+end
+of_instruction_id_v4_dissectors[5] = dissect_of_instruction_id_clear_actions_v4
+
+-- child class of_instruction_goto_table
+-- Child of of_instruction
+function dissect_of_instruction_goto_table_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_goto_table.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_goto_table.len')
+ read_uint8_t(reader, 4, subtree, 'of13.instruction_goto_table.table_id')
+ reader.skip(3)
+ return 'of_instruction_goto_table'
+end
+of_instruction_v4_dissectors[1] = dissect_of_instruction_goto_table_v4
+
+-- child class of_instruction_id_goto_table
+-- Child of of_instruction_id
+function dissect_of_instruction_id_goto_table_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_goto_table.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_goto_table.len')
+ return 'of_instruction_id_goto_table'
+end
+of_instruction_id_v4_dissectors[1] = dissect_of_instruction_id_goto_table_v4
+
+-- child class of_instruction_meter
+-- Child of of_instruction
+function dissect_of_instruction_meter_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_meter.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_meter.len')
+ read_uint32_t(reader, 4, subtree, 'of13.instruction_meter.meter_id')
+ return 'of_instruction_meter'
+end
+of_instruction_v4_dissectors[6] = dissect_of_instruction_meter_v4
+
+-- child class of_instruction_id_meter
+-- Child of of_instruction_id
+function dissect_of_instruction_id_meter_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_meter.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_meter.len')
+ return 'of_instruction_id_meter'
+end
+of_instruction_id_v4_dissectors[6] = dissect_of_instruction_id_meter_v4
+
+-- child class of_instruction_write_actions
+-- Child of of_instruction
+function dissect_of_instruction_write_actions_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_write_actions.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_write_actions.len')
+ reader.skip(4)
+ read_list(reader, dissect_of_action_v4, subtree, 'of_action')
+ return 'of_instruction_write_actions'
+end
+of_instruction_v4_dissectors[3] = dissect_of_instruction_write_actions_v4
+
+-- child class of_instruction_id_write_actions
+-- Child of of_instruction_id
+function dissect_of_instruction_id_write_actions_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_write_actions.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_write_actions.len')
+ return 'of_instruction_id_write_actions'
+end
+of_instruction_id_v4_dissectors[3] = dissect_of_instruction_id_write_actions_v4
+
+-- child class of_instruction_write_metadata
+-- Child of of_instruction
+function dissect_of_instruction_write_metadata_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_write_metadata.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_write_metadata.len')
+ reader.skip(4)
+ read_uint64_t(reader, 4, subtree, 'of13.instruction_write_metadata.metadata')
+ read_uint64_t(reader, 4, subtree, 'of13.instruction_write_metadata.metadata_mask')
+ return 'of_instruction_write_metadata'
+end
+of_instruction_v4_dissectors[2] = dissect_of_instruction_write_metadata_v4
+
+-- child class of_instruction_id_write_metadata
+-- Child of of_instruction_id
+function dissect_of_instruction_id_write_metadata_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_write_metadata.type')
+ read_uint16_t(reader, 4, subtree, 'of13.instruction_id_write_metadata.len')
+ return 'of_instruction_id_write_metadata'
+end
+of_instruction_id_v4_dissectors[2] = dissect_of_instruction_id_write_metadata_v4
+
+-- top-level class of_match_v3
+function dissect_of_match_v3_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.match_v3.type')
+ read_uint16_t(reader, 4, subtree, 'of13.match_v3.length')
+ read_list(reader, dissect_of_oxm_v4, subtree, 'of_oxm')
+ orig_reader.skip_align()
+ return 'of_match_v3'
+end
+-- virtual top-level class of_meter_band
+-- Discriminator is type
+function dissect_of_meter_band_v4(reader, subtree)
+ return of_meter_band_v4_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_meter_band_drop
+-- Child of of_meter_band
+function dissect_of_meter_band_drop_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.meter_band_drop.type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_band_drop.len')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_band_drop.rate')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_band_drop.burst_size')
+ reader.skip(4)
+ return 'of_meter_band_drop'
+end
+of_meter_band_v4_dissectors[1] = dissect_of_meter_band_drop_v4
+
+-- child class of_meter_band_dscp_remark
+-- Child of of_meter_band
+function dissect_of_meter_band_dscp_remark_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.meter_band_dscp_remark.type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_band_dscp_remark.len')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_band_dscp_remark.rate')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_band_dscp_remark.burst_size')
+ read_uint8_t(reader, 4, subtree, 'of13.meter_band_dscp_remark.prec_level')
+ reader.skip(3)
+ return 'of_meter_band_dscp_remark'
+end
+of_meter_band_v4_dissectors[2] = dissect_of_meter_band_dscp_remark_v4
+
+-- child class of_meter_band_experimenter
+-- Child of of_meter_band
+function dissect_of_meter_band_experimenter_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.meter_band_experimenter.type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_band_experimenter.len')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_band_experimenter.rate')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_band_experimenter.burst_size')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_band_experimenter.experimenter')
+ return 'of_meter_band_experimenter'
+end
+of_meter_band_v4_dissectors[65535] = dissect_of_meter_band_experimenter_v4
+
+-- top-level class of_meter_band_stats
+function dissect_of_meter_band_stats_v4(reader, subtree)
+ read_uint64_t(reader, 4, subtree, 'of13.meter_band_stats.packet_band_count')
+ read_uint64_t(reader, 4, subtree, 'of13.meter_band_stats.byte_band_count')
+ return 'of_meter_band_stats'
+end
+-- top-level class of_meter_config
+function dissect_of_meter_config_v4(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.meter_config.length')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_config.flags')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_config.meter_id')
+ read_list(reader, dissect_of_meter_band_v4, subtree, 'of_meter_band')
+ return 'of_meter_config'
+end
+-- child class of_meter_config_stats_reply
+-- Child of of_stats_reply
+function dissect_of_meter_config_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.meter_config_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.meter_config_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_config_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_config_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_config_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_config_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_meter_band_v4, subtree, 'of_meter_band')
+ return 'of_meter_config_stats_reply'
+end
+of_stats_reply_v4_dissectors[10] = dissect_of_meter_config_stats_reply_v4
+
+-- child class of_meter_config_stats_request
+-- Child of of_stats_request
+function dissect_of_meter_config_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.meter_config_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.meter_config_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_config_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_config_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_config_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_config_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.meter_config_stats_request.meter_id')
+ reader.skip(4)
+ return 'of_meter_config_stats_request'
+end
+of_stats_request_v4_dissectors[10] = dissect_of_meter_config_stats_request_v4
+
+-- top-level class of_meter_features
+function dissect_of_meter_features_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.meter_features.max_meter')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_features.band_types')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_features.capabilities')
+ read_uint8_t(reader, 4, subtree, 'of13.meter_features.max_bands')
+ read_uint8_t(reader, 4, subtree, 'of13.meter_features.max_color')
+ reader.skip(2)
+ return 'of_meter_features'
+end
+-- child class of_meter_features_stats_reply
+-- Child of of_stats_reply
+function dissect_of_meter_features_stats_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.meter_features_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.meter_features_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_features_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_features_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_features_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_features_stats_reply.flags')
+ reader.skip(4)
+ read_of_meter_features_t(reader, 4, subtree, 'of13.meter_features_stats_reply.features')
+ return 'of_meter_features_stats_reply'
+end
+of_stats_reply_v4_dissectors[11] = dissect_of_meter_features_stats_reply_v4
+
+-- child class of_meter_features_stats_request
+-- Child of of_stats_request
+function dissect_of_meter_features_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.meter_features_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.meter_features_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_features_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_features_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_features_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_features_stats_request.flags')
+ reader.skip(4)
+ return 'of_meter_features_stats_request'
+end
+of_stats_request_v4_dissectors[11] = dissect_of_meter_features_stats_request_v4
+
+-- child class of_meter_mod
+-- Child of of_header
+function dissect_of_meter_mod_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.meter_mod.version')
+ read_uint8_t(reader, 4, subtree, 'of13.meter_mod.type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_mod.length')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_mod.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_mod.command')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_mod.flags')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_mod.meter_id')
+ read_list(reader, dissect_of_meter_band_v4, subtree, 'of_meter_band')
+ return 'of_meter_mod'
+end
+of_header_v4_dissectors[29] = dissect_of_meter_mod_v4
+
+-- child class of_meter_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_meter_mod_failed_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.meter_mod_failed_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.meter_mod_failed_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_mod_failed_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_mod_failed_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.meter_mod_failed_error_msg.data')
+ return 'of_meter_mod_failed_error_msg'
+end
+of_error_msg_v4_dissectors[12] = dissect_of_meter_mod_failed_error_msg_v4
+
+-- top-level class of_meter_stats
+function dissect_of_meter_stats_v4(reader, subtree)
+ local _length = reader.peek(4, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint32_t(reader, 4, subtree, 'of13.meter_stats.meter_id')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_stats.len')
+ reader.skip(6)
+ read_uint32_t(reader, 4, subtree, 'of13.meter_stats.flow_count')
+ read_uint64_t(reader, 4, subtree, 'of13.meter_stats.packet_in_count')
+ read_uint64_t(reader, 4, subtree, 'of13.meter_stats.byte_in_count')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_stats.duration_sec')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_stats.duration_nsec')
+ read_list(reader, dissect_of_meter_band_stats_v4, subtree, 'of_meter_band_stats')
+ return 'of_meter_stats'
+end
+-- child class of_meter_stats_reply
+-- Child of of_stats_reply
+function dissect_of_meter_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.meter_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.meter_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_meter_stats_v4, subtree, 'of_meter_stats')
+ return 'of_meter_stats_reply'
+end
+of_stats_reply_v4_dissectors[9] = dissect_of_meter_stats_reply_v4
+
+-- child class of_meter_stats_request
+-- Child of of_stats_request
+function dissect_of_meter_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.meter_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.meter_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.meter_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.meter_stats_request.flags')
+ reader.skip(4)
+ read_uint32_t(reader, 4, subtree, 'of13.meter_stats_request.meter_id')
+ reader.skip(4)
+ return 'of_meter_stats_request'
+end
+of_stats_request_v4_dissectors[9] = dissect_of_meter_stats_request_v4
+
+-- virtual child class of_nicira_header
+-- Child of of_experimenter
+-- Discriminator is subtype
+function dissect_of_nicira_header_v4(reader, subtree)
+ return of_nicira_header_v4_dissectors[reader.peek(12,4):uint()](reader, subtree)
+end
+of_experimenter_v4_dissectors[8992] = dissect_of_nicira_header_v4
+
+-- child class of_oxm_arp_op
+-- Child of of_oxm
+function dissect_of_oxm_arp_op_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_op.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_arp_op.value')
+ return 'of_oxm_arp_op'
+end
+of_oxm_v4_dissectors[2147494402] = dissect_of_oxm_arp_op_v4
+
+-- child class of_oxm_arp_op_masked
+-- Child of of_oxm
+function dissect_of_oxm_arp_op_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_op_masked.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_arp_op_masked.value')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_arp_op_masked.value_mask')
+ return 'of_oxm_arp_op_masked'
+end
+of_oxm_v4_dissectors[2147494660] = dissect_of_oxm_arp_op_masked_v4
+
+-- child class of_oxm_arp_sha
+-- Child of of_oxm
+function dissect_of_oxm_arp_sha_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_sha.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_arp_sha.value')
+ return 'of_oxm_arp_sha'
+end
+of_oxm_v4_dissectors[2147495942] = dissect_of_oxm_arp_sha_v4
+
+-- child class of_oxm_arp_sha_masked
+-- Child of of_oxm
+function dissect_of_oxm_arp_sha_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_sha_masked.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_arp_sha_masked.value')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_arp_sha_masked.value_mask')
+ return 'of_oxm_arp_sha_masked'
+end
+of_oxm_v4_dissectors[2147496204] = dissect_of_oxm_arp_sha_masked_v4
+
+-- child class of_oxm_arp_spa
+-- Child of of_oxm
+function dissect_of_oxm_arp_spa_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_spa.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_spa.value')
+ return 'of_oxm_arp_spa'
+end
+of_oxm_v4_dissectors[2147494916] = dissect_of_oxm_arp_spa_v4
+
+-- child class of_oxm_arp_spa_masked
+-- Child of of_oxm
+function dissect_of_oxm_arp_spa_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_spa_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_spa_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_spa_masked.value_mask')
+ return 'of_oxm_arp_spa_masked'
+end
+of_oxm_v4_dissectors[2147495176] = dissect_of_oxm_arp_spa_masked_v4
+
+-- child class of_oxm_arp_tha
+-- Child of of_oxm
+function dissect_of_oxm_arp_tha_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_tha.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_arp_tha.value')
+ return 'of_oxm_arp_tha'
+end
+of_oxm_v4_dissectors[2147496454] = dissect_of_oxm_arp_tha_v4
+
+-- child class of_oxm_arp_tha_masked
+-- Child of of_oxm
+function dissect_of_oxm_arp_tha_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_tha_masked.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_arp_tha_masked.value')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_arp_tha_masked.value_mask')
+ return 'of_oxm_arp_tha_masked'
+end
+of_oxm_v4_dissectors[2147496716] = dissect_of_oxm_arp_tha_masked_v4
+
+-- child class of_oxm_arp_tpa
+-- Child of of_oxm
+function dissect_of_oxm_arp_tpa_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_tpa.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_tpa.value')
+ return 'of_oxm_arp_tpa'
+end
+of_oxm_v4_dissectors[2147495428] = dissect_of_oxm_arp_tpa_v4
+
+-- child class of_oxm_arp_tpa_masked
+-- Child of of_oxm
+function dissect_of_oxm_arp_tpa_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_tpa_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_tpa_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_arp_tpa_masked.value_mask')
+ return 'of_oxm_arp_tpa_masked'
+end
+of_oxm_v4_dissectors[2147495688] = dissect_of_oxm_arp_tpa_masked_v4
+
+-- child class of_oxm_bsn_egr_port_group_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_egr_port_group_id_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_egr_port_group_id.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_egr_port_group_id.value')
+ return 'of_oxm_bsn_egr_port_group_id'
+end
+of_oxm_v4_dissectors[200196] = dissect_of_oxm_bsn_egr_port_group_id_v4
+
+-- child class of_oxm_bsn_egr_port_group_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_egr_port_group_id_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_egr_port_group_id_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_egr_port_group_id_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_egr_port_group_id_masked.value_mask')
+ return 'of_oxm_bsn_egr_port_group_id_masked'
+end
+of_oxm_v4_dissectors[200456] = dissect_of_oxm_bsn_egr_port_group_id_masked_v4
+
+-- child class of_oxm_bsn_global_vrf_allowed
+-- Child of of_oxm
+function dissect_of_oxm_bsn_global_vrf_allowed_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_global_vrf_allowed.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_bsn_global_vrf_allowed.value')
+ return 'of_oxm_bsn_global_vrf_allowed'
+end
+of_oxm_v4_dissectors[198145] = dissect_of_oxm_bsn_global_vrf_allowed_v4
+
+-- child class of_oxm_bsn_global_vrf_allowed_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_global_vrf_allowed_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_global_vrf_allowed_masked.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_bsn_global_vrf_allowed_masked.value')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_bsn_global_vrf_allowed_masked.value_mask')
+ return 'of_oxm_bsn_global_vrf_allowed_masked'
+end
+of_oxm_v4_dissectors[198402] = dissect_of_oxm_bsn_global_vrf_allowed_masked_v4
+
+-- child class of_oxm_bsn_in_ports_128
+-- Child of of_oxm
+function dissect_of_oxm_bsn_in_ports_128_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_in_ports_128.type_len')
+ read_of_bitmap_128_t(reader, 4, subtree, 'of13.oxm_bsn_in_ports_128.value')
+ return 'of_oxm_bsn_in_ports_128'
+end
+of_oxm_v4_dissectors[196624] = dissect_of_oxm_bsn_in_ports_128_v4
+
+-- child class of_oxm_bsn_in_ports_128_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_in_ports_128_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_in_ports_128_masked.type_len')
+ read_of_bitmap_128_t(reader, 4, subtree, 'of13.oxm_bsn_in_ports_128_masked.value')
+ read_of_bitmap_128_t(reader, 4, subtree, 'of13.oxm_bsn_in_ports_128_masked.value_mask')
+ return 'of_oxm_bsn_in_ports_128_masked'
+end
+of_oxm_v4_dissectors[196896] = dissect_of_oxm_bsn_in_ports_128_masked_v4
+
+-- child class of_oxm_bsn_l3_dst_class_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_dst_class_id_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_dst_class_id.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_dst_class_id.value')
+ return 'of_oxm_bsn_l3_dst_class_id'
+end
+of_oxm_v4_dissectors[199684] = dissect_of_oxm_bsn_l3_dst_class_id_v4
+
+-- child class of_oxm_bsn_l3_dst_class_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_dst_class_id_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_dst_class_id_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_dst_class_id_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_dst_class_id_masked.value_mask')
+ return 'of_oxm_bsn_l3_dst_class_id_masked'
+end
+of_oxm_v4_dissectors[199944] = dissect_of_oxm_bsn_l3_dst_class_id_masked_v4
+
+-- child class of_oxm_bsn_l3_interface_class_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_interface_class_id_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_interface_class_id.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_interface_class_id.value')
+ return 'of_oxm_bsn_l3_interface_class_id'
+end
+of_oxm_v4_dissectors[198660] = dissect_of_oxm_bsn_l3_interface_class_id_v4
+
+-- child class of_oxm_bsn_l3_interface_class_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_interface_class_id_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_interface_class_id_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_interface_class_id_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_interface_class_id_masked.value_mask')
+ return 'of_oxm_bsn_l3_interface_class_id_masked'
+end
+of_oxm_v4_dissectors[198920] = dissect_of_oxm_bsn_l3_interface_class_id_masked_v4
+
+-- child class of_oxm_bsn_l3_src_class_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_src_class_id_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_src_class_id.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_src_class_id.value')
+ return 'of_oxm_bsn_l3_src_class_id'
+end
+of_oxm_v4_dissectors[199172] = dissect_of_oxm_bsn_l3_src_class_id_v4
+
+-- child class of_oxm_bsn_l3_src_class_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_src_class_id_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_src_class_id_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_src_class_id_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l3_src_class_id_masked.value_mask')
+ return 'of_oxm_bsn_l3_src_class_id_masked'
+end
+of_oxm_v4_dissectors[199432] = dissect_of_oxm_bsn_l3_src_class_id_masked_v4
+
+-- child class of_oxm_bsn_lag_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_lag_id_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_lag_id.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_lag_id.value')
+ return 'of_oxm_bsn_lag_id'
+end
+of_oxm_v4_dissectors[197124] = dissect_of_oxm_bsn_lag_id_v4
+
+-- child class of_oxm_bsn_lag_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_lag_id_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_lag_id_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_lag_id_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_lag_id_masked.value_mask')
+ return 'of_oxm_bsn_lag_id_masked'
+end
+of_oxm_v4_dissectors[197384] = dissect_of_oxm_bsn_lag_id_masked_v4
+
+-- child class of_oxm_bsn_tcp_flags
+-- Child of of_oxm
+function dissect_of_oxm_bsn_tcp_flags_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_tcp_flags.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_bsn_tcp_flags.value')
+ return 'of_oxm_bsn_tcp_flags'
+end
+of_oxm_v4_dissectors[204802] = dissect_of_oxm_bsn_tcp_flags_v4
+
+-- child class of_oxm_bsn_tcp_flags_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_tcp_flags_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_tcp_flags_masked.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_bsn_tcp_flags_masked.value')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_bsn_tcp_flags_masked.value_mask')
+ return 'of_oxm_bsn_tcp_flags_masked'
+end
+of_oxm_v4_dissectors[205060] = dissect_of_oxm_bsn_tcp_flags_masked_v4
+
+-- child class of_oxm_bsn_udf0
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf0_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf0.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf0.value')
+ return 'of_oxm_bsn_udf0'
+end
+of_oxm_v4_dissectors[200708] = dissect_of_oxm_bsn_udf0_v4
+
+-- child class of_oxm_bsn_udf0_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf0_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf0_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf0_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf0_masked.value_mask')
+ return 'of_oxm_bsn_udf0_masked'
+end
+of_oxm_v4_dissectors[200968] = dissect_of_oxm_bsn_udf0_masked_v4
+
+-- child class of_oxm_bsn_udf1
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf1_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf1.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf1.value')
+ return 'of_oxm_bsn_udf1'
+end
+of_oxm_v4_dissectors[201220] = dissect_of_oxm_bsn_udf1_v4
+
+-- child class of_oxm_bsn_udf1_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf1_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf1_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf1_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf1_masked.value_mask')
+ return 'of_oxm_bsn_udf1_masked'
+end
+of_oxm_v4_dissectors[201480] = dissect_of_oxm_bsn_udf1_masked_v4
+
+-- child class of_oxm_bsn_udf2
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf2_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf2.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf2.value')
+ return 'of_oxm_bsn_udf2'
+end
+of_oxm_v4_dissectors[201732] = dissect_of_oxm_bsn_udf2_v4
+
+-- child class of_oxm_bsn_udf2_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf2_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf2_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf2_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf2_masked.value_mask')
+ return 'of_oxm_bsn_udf2_masked'
+end
+of_oxm_v4_dissectors[201992] = dissect_of_oxm_bsn_udf2_masked_v4
+
+-- child class of_oxm_bsn_udf3
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf3_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf3.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf3.value')
+ return 'of_oxm_bsn_udf3'
+end
+of_oxm_v4_dissectors[202244] = dissect_of_oxm_bsn_udf3_v4
+
+-- child class of_oxm_bsn_udf3_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf3_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf3_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf3_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf3_masked.value_mask')
+ return 'of_oxm_bsn_udf3_masked'
+end
+of_oxm_v4_dissectors[202504] = dissect_of_oxm_bsn_udf3_masked_v4
+
+-- child class of_oxm_bsn_udf4
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf4_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf4.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf4.value')
+ return 'of_oxm_bsn_udf4'
+end
+of_oxm_v4_dissectors[202756] = dissect_of_oxm_bsn_udf4_v4
+
+-- child class of_oxm_bsn_udf4_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf4_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf4_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf4_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf4_masked.value_mask')
+ return 'of_oxm_bsn_udf4_masked'
+end
+of_oxm_v4_dissectors[203016] = dissect_of_oxm_bsn_udf4_masked_v4
+
+-- child class of_oxm_bsn_udf5
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf5_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf5.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf5.value')
+ return 'of_oxm_bsn_udf5'
+end
+of_oxm_v4_dissectors[203268] = dissect_of_oxm_bsn_udf5_v4
+
+-- child class of_oxm_bsn_udf5_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf5_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf5_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf5_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf5_masked.value_mask')
+ return 'of_oxm_bsn_udf5_masked'
+end
+of_oxm_v4_dissectors[203528] = dissect_of_oxm_bsn_udf5_masked_v4
+
+-- child class of_oxm_bsn_udf6
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf6_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf6.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf6.value')
+ return 'of_oxm_bsn_udf6'
+end
+of_oxm_v4_dissectors[203780] = dissect_of_oxm_bsn_udf6_v4
+
+-- child class of_oxm_bsn_udf6_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf6_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf6_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf6_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf6_masked.value_mask')
+ return 'of_oxm_bsn_udf6_masked'
+end
+of_oxm_v4_dissectors[204040] = dissect_of_oxm_bsn_udf6_masked_v4
+
+-- child class of_oxm_bsn_udf7
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf7_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf7.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf7.value')
+ return 'of_oxm_bsn_udf7'
+end
+of_oxm_v4_dissectors[204292] = dissect_of_oxm_bsn_udf7_v4
+
+-- child class of_oxm_bsn_udf7_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf7_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf7_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf7_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_udf7_masked.value_mask')
+ return 'of_oxm_bsn_udf7_masked'
+end
+of_oxm_v4_dissectors[204552] = dissect_of_oxm_bsn_udf7_masked_v4
+
+-- child class of_oxm_bsn_vlan_xlate_port_group_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vlan_xlate_port_group_id_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_vlan_xlate_port_group_id.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_vlan_xlate_port_group_id.value')
+ return 'of_oxm_bsn_vlan_xlate_port_group_id'
+end
+of_oxm_v4_dissectors[205316] = dissect_of_oxm_bsn_vlan_xlate_port_group_id_v4
+
+-- child class of_oxm_bsn_vlan_xlate_port_group_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vlan_xlate_port_group_id_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_vlan_xlate_port_group_id_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_vlan_xlate_port_group_id_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask')
+ return 'of_oxm_bsn_vlan_xlate_port_group_id_masked'
+end
+of_oxm_v4_dissectors[205576] = dissect_of_oxm_bsn_vlan_xlate_port_group_id_masked_v4
+
+-- child class of_oxm_bsn_vrf
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vrf_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_vrf.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_vrf.value')
+ return 'of_oxm_bsn_vrf'
+end
+of_oxm_v4_dissectors[197636] = dissect_of_oxm_bsn_vrf_v4
+
+-- child class of_oxm_bsn_vrf_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vrf_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_vrf_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_vrf_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_vrf_masked.value_mask')
+ return 'of_oxm_bsn_vrf_masked'
+end
+of_oxm_v4_dissectors[197896] = dissect_of_oxm_bsn_vrf_masked_v4
+
+-- child class of_oxm_eth_dst
+-- Child of of_oxm
+function dissect_of_oxm_eth_dst_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_eth_dst.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_eth_dst.value')
+ return 'of_oxm_eth_dst'
+end
+of_oxm_v4_dissectors[2147485190] = dissect_of_oxm_eth_dst_v4
+
+-- child class of_oxm_eth_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_eth_dst_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_eth_dst_masked.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_eth_dst_masked.value')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_eth_dst_masked.value_mask')
+ return 'of_oxm_eth_dst_masked'
+end
+of_oxm_v4_dissectors[2147485452] = dissect_of_oxm_eth_dst_masked_v4
+
+-- child class of_oxm_eth_src
+-- Child of of_oxm
+function dissect_of_oxm_eth_src_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_eth_src.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_eth_src.value')
+ return 'of_oxm_eth_src'
+end
+of_oxm_v4_dissectors[2147485702] = dissect_of_oxm_eth_src_v4
+
+-- child class of_oxm_eth_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_eth_src_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_eth_src_masked.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_eth_src_masked.value')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_eth_src_masked.value_mask')
+ return 'of_oxm_eth_src_masked'
+end
+of_oxm_v4_dissectors[2147485964] = dissect_of_oxm_eth_src_masked_v4
+
+-- child class of_oxm_eth_type
+-- Child of of_oxm
+function dissect_of_oxm_eth_type_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_eth_type.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_eth_type.value')
+ return 'of_oxm_eth_type'
+end
+of_oxm_v4_dissectors[2147486210] = dissect_of_oxm_eth_type_v4
+
+-- child class of_oxm_eth_type_masked
+-- Child of of_oxm
+function dissect_of_oxm_eth_type_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_eth_type_masked.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_eth_type_masked.value')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_eth_type_masked.value_mask')
+ return 'of_oxm_eth_type_masked'
+end
+of_oxm_v4_dissectors[2147486468] = dissect_of_oxm_eth_type_masked_v4
+
+-- child class of_oxm_icmpv4_code
+-- Child of of_oxm
+function dissect_of_oxm_icmpv4_code_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_icmpv4_code.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv4_code.value')
+ return 'of_oxm_icmpv4_code'
+end
+of_oxm_v4_dissectors[2147493889] = dissect_of_oxm_icmpv4_code_v4
+
+-- child class of_oxm_icmpv4_code_masked
+-- Child of of_oxm
+function dissect_of_oxm_icmpv4_code_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_icmpv4_code_masked.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv4_code_masked.value')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv4_code_masked.value_mask')
+ return 'of_oxm_icmpv4_code_masked'
+end
+of_oxm_v4_dissectors[2147494146] = dissect_of_oxm_icmpv4_code_masked_v4
+
+-- child class of_oxm_icmpv4_type
+-- Child of of_oxm
+function dissect_of_oxm_icmpv4_type_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_icmpv4_type.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv4_type.value')
+ return 'of_oxm_icmpv4_type'
+end
+of_oxm_v4_dissectors[2147493377] = dissect_of_oxm_icmpv4_type_v4
+
+-- child class of_oxm_icmpv4_type_masked
+-- Child of of_oxm
+function dissect_of_oxm_icmpv4_type_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_icmpv4_type_masked.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv4_type_masked.value')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv4_type_masked.value_mask')
+ return 'of_oxm_icmpv4_type_masked'
+end
+of_oxm_v4_dissectors[2147493634] = dissect_of_oxm_icmpv4_type_masked_v4
+
+-- child class of_oxm_icmpv6_code
+-- Child of of_oxm
+function dissect_of_oxm_icmpv6_code_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_icmpv6_code.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv6_code.value')
+ return 'of_oxm_icmpv6_code'
+end
+of_oxm_v4_dissectors[2147499009] = dissect_of_oxm_icmpv6_code_v4
+
+-- child class of_oxm_icmpv6_code_masked
+-- Child of of_oxm
+function dissect_of_oxm_icmpv6_code_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_icmpv6_code_masked.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv6_code_masked.value')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv6_code_masked.value_mask')
+ return 'of_oxm_icmpv6_code_masked'
+end
+of_oxm_v4_dissectors[2147499266] = dissect_of_oxm_icmpv6_code_masked_v4
+
+-- child class of_oxm_icmpv6_type
+-- Child of of_oxm
+function dissect_of_oxm_icmpv6_type_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_icmpv6_type.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv6_type.value')
+ return 'of_oxm_icmpv6_type'
+end
+of_oxm_v4_dissectors[2147498497] = dissect_of_oxm_icmpv6_type_v4
+
+-- child class of_oxm_icmpv6_type_masked
+-- Child of of_oxm
+function dissect_of_oxm_icmpv6_type_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_icmpv6_type_masked.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv6_type_masked.value')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_icmpv6_type_masked.value_mask')
+ return 'of_oxm_icmpv6_type_masked'
+end
+of_oxm_v4_dissectors[2147498754] = dissect_of_oxm_icmpv6_type_masked_v4
+
+-- child class of_oxm_in_phy_port
+-- Child of of_oxm
+function dissect_of_oxm_in_phy_port_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_in_phy_port.type_len')
+ read_of_port_no_t(reader, 4, subtree, 'of13.oxm_in_phy_port.value')
+ return 'of_oxm_in_phy_port'
+end
+of_oxm_v4_dissectors[2147484164] = dissect_of_oxm_in_phy_port_v4
+
+-- child class of_oxm_in_phy_port_masked
+-- Child of of_oxm
+function dissect_of_oxm_in_phy_port_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_in_phy_port_masked.type_len')
+ read_of_port_no_t(reader, 4, subtree, 'of13.oxm_in_phy_port_masked.value')
+ read_of_port_no_t(reader, 4, subtree, 'of13.oxm_in_phy_port_masked.value_mask')
+ return 'of_oxm_in_phy_port_masked'
+end
+of_oxm_v4_dissectors[2147484424] = dissect_of_oxm_in_phy_port_masked_v4
+
+-- child class of_oxm_in_port
+-- Child of of_oxm
+function dissect_of_oxm_in_port_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_in_port.type_len')
+ read_of_port_no_t(reader, 4, subtree, 'of13.oxm_in_port.value')
+ return 'of_oxm_in_port'
+end
+of_oxm_v4_dissectors[2147483652] = dissect_of_oxm_in_port_v4
+
+-- child class of_oxm_in_port_masked
+-- Child of of_oxm
+function dissect_of_oxm_in_port_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_in_port_masked.type_len')
+ read_of_port_no_t(reader, 4, subtree, 'of13.oxm_in_port_masked.value')
+ read_of_port_no_t(reader, 4, subtree, 'of13.oxm_in_port_masked.value_mask')
+ return 'of_oxm_in_port_masked'
+end
+of_oxm_v4_dissectors[2147483912] = dissect_of_oxm_in_port_masked_v4
+
+-- child class of_oxm_ip_dscp
+-- Child of of_oxm
+function dissect_of_oxm_ip_dscp_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ip_dscp.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_ip_dscp.value')
+ return 'of_oxm_ip_dscp'
+end
+of_oxm_v4_dissectors[2147487745] = dissect_of_oxm_ip_dscp_v4
+
+-- child class of_oxm_ip_dscp_masked
+-- Child of of_oxm
+function dissect_of_oxm_ip_dscp_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ip_dscp_masked.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_ip_dscp_masked.value')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_ip_dscp_masked.value_mask')
+ return 'of_oxm_ip_dscp_masked'
+end
+of_oxm_v4_dissectors[2147488002] = dissect_of_oxm_ip_dscp_masked_v4
+
+-- child class of_oxm_ip_ecn
+-- Child of of_oxm
+function dissect_of_oxm_ip_ecn_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ip_ecn.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_ip_ecn.value')
+ return 'of_oxm_ip_ecn'
+end
+of_oxm_v4_dissectors[2147488257] = dissect_of_oxm_ip_ecn_v4
+
+-- child class of_oxm_ip_ecn_masked
+-- Child of of_oxm
+function dissect_of_oxm_ip_ecn_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ip_ecn_masked.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_ip_ecn_masked.value')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_ip_ecn_masked.value_mask')
+ return 'of_oxm_ip_ecn_masked'
+end
+of_oxm_v4_dissectors[2147488514] = dissect_of_oxm_ip_ecn_masked_v4
+
+-- child class of_oxm_ip_proto
+-- Child of of_oxm
+function dissect_of_oxm_ip_proto_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ip_proto.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_ip_proto.value')
+ return 'of_oxm_ip_proto'
+end
+of_oxm_v4_dissectors[2147488769] = dissect_of_oxm_ip_proto_v4
+
+-- child class of_oxm_ip_proto_masked
+-- Child of of_oxm
+function dissect_of_oxm_ip_proto_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ip_proto_masked.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_ip_proto_masked.value')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_ip_proto_masked.value_mask')
+ return 'of_oxm_ip_proto_masked'
+end
+of_oxm_v4_dissectors[2147489026] = dissect_of_oxm_ip_proto_masked_v4
+
+-- child class of_oxm_ipv4_dst
+-- Child of of_oxm
+function dissect_of_oxm_ipv4_dst_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv4_dst.type_len')
+ read_of_ipv4_t(reader, 4, subtree, 'of13.oxm_ipv4_dst.value')
+ return 'of_oxm_ipv4_dst'
+end
+of_oxm_v4_dissectors[2147489796] = dissect_of_oxm_ipv4_dst_v4
+
+-- child class of_oxm_ipv4_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv4_dst_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv4_dst_masked.type_len')
+ read_of_ipv4_t(reader, 4, subtree, 'of13.oxm_ipv4_dst_masked.value')
+ read_of_ipv4_t(reader, 4, subtree, 'of13.oxm_ipv4_dst_masked.value_mask')
+ return 'of_oxm_ipv4_dst_masked'
+end
+of_oxm_v4_dissectors[2147490056] = dissect_of_oxm_ipv4_dst_masked_v4
+
+-- child class of_oxm_ipv4_src
+-- Child of of_oxm
+function dissect_of_oxm_ipv4_src_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv4_src.type_len')
+ read_of_ipv4_t(reader, 4, subtree, 'of13.oxm_ipv4_src.value')
+ return 'of_oxm_ipv4_src'
+end
+of_oxm_v4_dissectors[2147489284] = dissect_of_oxm_ipv4_src_v4
+
+-- child class of_oxm_ipv4_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv4_src_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv4_src_masked.type_len')
+ read_of_ipv4_t(reader, 4, subtree, 'of13.oxm_ipv4_src_masked.value')
+ read_of_ipv4_t(reader, 4, subtree, 'of13.oxm_ipv4_src_masked.value_mask')
+ return 'of_oxm_ipv4_src_masked'
+end
+of_oxm_v4_dissectors[2147489544] = dissect_of_oxm_ipv4_src_masked_v4
+
+-- child class of_oxm_ipv6_dst
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_dst_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_dst.type_len')
+ read_of_ipv6_t(reader, 4, subtree, 'of13.oxm_ipv6_dst.value')
+ return 'of_oxm_ipv6_dst'
+end
+of_oxm_v4_dissectors[2147497488] = dissect_of_oxm_ipv6_dst_v4
+
+-- child class of_oxm_ipv6_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_dst_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_dst_masked.type_len')
+ read_of_ipv6_t(reader, 4, subtree, 'of13.oxm_ipv6_dst_masked.value')
+ read_of_ipv6_t(reader, 4, subtree, 'of13.oxm_ipv6_dst_masked.value_mask')
+ return 'of_oxm_ipv6_dst_masked'
+end
+of_oxm_v4_dissectors[2147497760] = dissect_of_oxm_ipv6_dst_masked_v4
+
+-- child class of_oxm_ipv6_flabel
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_flabel_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_flabel.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_flabel.value')
+ return 'of_oxm_ipv6_flabel'
+end
+of_oxm_v4_dissectors[2147497988] = dissect_of_oxm_ipv6_flabel_v4
+
+-- child class of_oxm_ipv6_flabel_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_flabel_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_flabel_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_flabel_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_flabel_masked.value_mask')
+ return 'of_oxm_ipv6_flabel_masked'
+end
+of_oxm_v4_dissectors[2147498248] = dissect_of_oxm_ipv6_flabel_masked_v4
+
+-- child class of_oxm_ipv6_nd_sll
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_sll_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_sll.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_sll.value')
+ return 'of_oxm_ipv6_nd_sll'
+end
+of_oxm_v4_dissectors[2147500038] = dissect_of_oxm_ipv6_nd_sll_v4
+
+-- child class of_oxm_ipv6_nd_sll_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_sll_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_sll_masked.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_sll_masked.value')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_sll_masked.value_mask')
+ return 'of_oxm_ipv6_nd_sll_masked'
+end
+of_oxm_v4_dissectors[2147500300] = dissect_of_oxm_ipv6_nd_sll_masked_v4
+
+-- child class of_oxm_ipv6_nd_target
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_target_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_target.type_len')
+ read_of_ipv6_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_target.value')
+ return 'of_oxm_ipv6_nd_target'
+end
+of_oxm_v4_dissectors[2147499536] = dissect_of_oxm_ipv6_nd_target_v4
+
+-- child class of_oxm_ipv6_nd_target_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_target_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_target_masked.type_len')
+ read_of_ipv6_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_target_masked.value')
+ read_of_ipv6_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_target_masked.value_mask')
+ return 'of_oxm_ipv6_nd_target_masked'
+end
+of_oxm_v4_dissectors[2147499808] = dissect_of_oxm_ipv6_nd_target_masked_v4
+
+-- child class of_oxm_ipv6_nd_tll
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_tll_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_tll.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_tll.value')
+ return 'of_oxm_ipv6_nd_tll'
+end
+of_oxm_v4_dissectors[2147500550] = dissect_of_oxm_ipv6_nd_tll_v4
+
+-- child class of_oxm_ipv6_nd_tll_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_nd_tll_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_tll_masked.type_len')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_tll_masked.value')
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.oxm_ipv6_nd_tll_masked.value_mask')
+ return 'of_oxm_ipv6_nd_tll_masked'
+end
+of_oxm_v4_dissectors[2147500812] = dissect_of_oxm_ipv6_nd_tll_masked_v4
+
+-- child class of_oxm_ipv6_src
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_src_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_src.type_len')
+ read_of_ipv6_t(reader, 4, subtree, 'of13.oxm_ipv6_src.value')
+ return 'of_oxm_ipv6_src'
+end
+of_oxm_v4_dissectors[2147496976] = dissect_of_oxm_ipv6_src_v4
+
+-- child class of_oxm_ipv6_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_src_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_src_masked.type_len')
+ read_of_ipv6_t(reader, 4, subtree, 'of13.oxm_ipv6_src_masked.value')
+ read_of_ipv6_t(reader, 4, subtree, 'of13.oxm_ipv6_src_masked.value_mask')
+ return 'of_oxm_ipv6_src_masked'
+end
+of_oxm_v4_dissectors[2147497248] = dissect_of_oxm_ipv6_src_masked_v4
+
+-- child class of_oxm_metadata
+-- Child of of_oxm
+function dissect_of_oxm_metadata_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_metadata.type_len')
+ read_uint64_t(reader, 4, subtree, 'of13.oxm_metadata.value')
+ return 'of_oxm_metadata'
+end
+of_oxm_v4_dissectors[2147484680] = dissect_of_oxm_metadata_v4
+
+-- child class of_oxm_metadata_masked
+-- Child of of_oxm
+function dissect_of_oxm_metadata_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_metadata_masked.type_len')
+ read_uint64_t(reader, 4, subtree, 'of13.oxm_metadata_masked.value')
+ read_uint64_t(reader, 4, subtree, 'of13.oxm_metadata_masked.value_mask')
+ return 'of_oxm_metadata_masked'
+end
+of_oxm_v4_dissectors[2147484944] = dissect_of_oxm_metadata_masked_v4
+
+-- child class of_oxm_mpls_label
+-- Child of of_oxm
+function dissect_of_oxm_mpls_label_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_mpls_label.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_mpls_label.value')
+ return 'of_oxm_mpls_label'
+end
+of_oxm_v4_dissectors[2147501060] = dissect_of_oxm_mpls_label_v4
+
+-- child class of_oxm_mpls_label_masked
+-- Child of of_oxm
+function dissect_of_oxm_mpls_label_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_mpls_label_masked.type_len')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_mpls_label_masked.value')
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_mpls_label_masked.value_mask')
+ return 'of_oxm_mpls_label_masked'
+end
+of_oxm_v4_dissectors[2147501320] = dissect_of_oxm_mpls_label_masked_v4
+
+-- child class of_oxm_mpls_tc
+-- Child of of_oxm
+function dissect_of_oxm_mpls_tc_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_mpls_tc.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_mpls_tc.value')
+ return 'of_oxm_mpls_tc'
+end
+of_oxm_v4_dissectors[2147501569] = dissect_of_oxm_mpls_tc_v4
+
+-- child class of_oxm_mpls_tc_masked
+-- Child of of_oxm
+function dissect_of_oxm_mpls_tc_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_mpls_tc_masked.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_mpls_tc_masked.value')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_mpls_tc_masked.value_mask')
+ return 'of_oxm_mpls_tc_masked'
+end
+of_oxm_v4_dissectors[2147501826] = dissect_of_oxm_mpls_tc_masked_v4
+
+-- child class of_oxm_sctp_dst
+-- Child of of_oxm
+function dissect_of_oxm_sctp_dst_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_sctp_dst.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_sctp_dst.value')
+ return 'of_oxm_sctp_dst'
+end
+of_oxm_v4_dissectors[2147492866] = dissect_of_oxm_sctp_dst_v4
+
+-- child class of_oxm_sctp_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_sctp_dst_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_sctp_dst_masked.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_sctp_dst_masked.value')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_sctp_dst_masked.value_mask')
+ return 'of_oxm_sctp_dst_masked'
+end
+of_oxm_v4_dissectors[2147493124] = dissect_of_oxm_sctp_dst_masked_v4
+
+-- child class of_oxm_sctp_src
+-- Child of of_oxm
+function dissect_of_oxm_sctp_src_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_sctp_src.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_sctp_src.value')
+ return 'of_oxm_sctp_src'
+end
+of_oxm_v4_dissectors[2147492354] = dissect_of_oxm_sctp_src_v4
+
+-- child class of_oxm_sctp_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_sctp_src_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_sctp_src_masked.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_sctp_src_masked.value')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_sctp_src_masked.value_mask')
+ return 'of_oxm_sctp_src_masked'
+end
+of_oxm_v4_dissectors[2147492612] = dissect_of_oxm_sctp_src_masked_v4
+
+-- child class of_oxm_tcp_dst
+-- Child of of_oxm
+function dissect_of_oxm_tcp_dst_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_tcp_dst.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_tcp_dst.value')
+ return 'of_oxm_tcp_dst'
+end
+of_oxm_v4_dissectors[2147490818] = dissect_of_oxm_tcp_dst_v4
+
+-- child class of_oxm_tcp_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_tcp_dst_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_tcp_dst_masked.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_tcp_dst_masked.value')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_tcp_dst_masked.value_mask')
+ return 'of_oxm_tcp_dst_masked'
+end
+of_oxm_v4_dissectors[2147491076] = dissect_of_oxm_tcp_dst_masked_v4
+
+-- child class of_oxm_tcp_src
+-- Child of of_oxm
+function dissect_of_oxm_tcp_src_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_tcp_src.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_tcp_src.value')
+ return 'of_oxm_tcp_src'
+end
+of_oxm_v4_dissectors[2147490306] = dissect_of_oxm_tcp_src_v4
+
+-- child class of_oxm_tcp_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_tcp_src_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_tcp_src_masked.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_tcp_src_masked.value')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_tcp_src_masked.value_mask')
+ return 'of_oxm_tcp_src_masked'
+end
+of_oxm_v4_dissectors[2147490564] = dissect_of_oxm_tcp_src_masked_v4
+
+-- child class of_oxm_tunnel_id
+-- Child of of_oxm
+function dissect_of_oxm_tunnel_id_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_tunnel_id.type_len')
+ read_uint64_t(reader, 4, subtree, 'of13.oxm_tunnel_id.value')
+ return 'of_oxm_tunnel_id'
+end
+of_oxm_v4_dissectors[2147503112] = dissect_of_oxm_tunnel_id_v4
+
+-- child class of_oxm_tunnel_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_tunnel_id_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_tunnel_id_masked.type_len')
+ read_uint64_t(reader, 4, subtree, 'of13.oxm_tunnel_id_masked.value')
+ read_uint64_t(reader, 4, subtree, 'of13.oxm_tunnel_id_masked.value_mask')
+ return 'of_oxm_tunnel_id_masked'
+end
+of_oxm_v4_dissectors[2147503376] = dissect_of_oxm_tunnel_id_masked_v4
+
+-- child class of_oxm_udp_dst
+-- Child of of_oxm
+function dissect_of_oxm_udp_dst_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_udp_dst.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_udp_dst.value')
+ return 'of_oxm_udp_dst'
+end
+of_oxm_v4_dissectors[2147491842] = dissect_of_oxm_udp_dst_v4
+
+-- child class of_oxm_udp_dst_masked
+-- Child of of_oxm
+function dissect_of_oxm_udp_dst_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_udp_dst_masked.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_udp_dst_masked.value')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_udp_dst_masked.value_mask')
+ return 'of_oxm_udp_dst_masked'
+end
+of_oxm_v4_dissectors[2147492100] = dissect_of_oxm_udp_dst_masked_v4
+
+-- child class of_oxm_udp_src
+-- Child of of_oxm
+function dissect_of_oxm_udp_src_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_udp_src.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_udp_src.value')
+ return 'of_oxm_udp_src'
+end
+of_oxm_v4_dissectors[2147491330] = dissect_of_oxm_udp_src_v4
+
+-- child class of_oxm_udp_src_masked
+-- Child of of_oxm
+function dissect_of_oxm_udp_src_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_udp_src_masked.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_udp_src_masked.value')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_udp_src_masked.value_mask')
+ return 'of_oxm_udp_src_masked'
+end
+of_oxm_v4_dissectors[2147491588] = dissect_of_oxm_udp_src_masked_v4
+
+-- child class of_oxm_vlan_pcp
+-- Child of of_oxm
+function dissect_of_oxm_vlan_pcp_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_vlan_pcp.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_vlan_pcp.value')
+ return 'of_oxm_vlan_pcp'
+end
+of_oxm_v4_dissectors[2147487233] = dissect_of_oxm_vlan_pcp_v4
+
+-- child class of_oxm_vlan_pcp_masked
+-- Child of of_oxm
+function dissect_of_oxm_vlan_pcp_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_vlan_pcp_masked.type_len')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_vlan_pcp_masked.value')
+ read_uint8_t(reader, 4, subtree, 'of13.oxm_vlan_pcp_masked.value_mask')
+ return 'of_oxm_vlan_pcp_masked'
+end
+of_oxm_v4_dissectors[2147487490] = dissect_of_oxm_vlan_pcp_masked_v4
+
+-- child class of_oxm_vlan_vid
+-- Child of of_oxm
+function dissect_of_oxm_vlan_vid_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_vlan_vid.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_vlan_vid.value')
+ return 'of_oxm_vlan_vid'
+end
+of_oxm_v4_dissectors[2147486722] = dissect_of_oxm_vlan_vid_v4
+
+-- child class of_oxm_vlan_vid_masked
+-- Child of of_oxm
+function dissect_of_oxm_vlan_vid_masked_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.oxm_vlan_vid_masked.type_len')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_vlan_vid_masked.value')
+ read_uint16_t(reader, 4, subtree, 'of13.oxm_vlan_vid_masked.value_mask')
+ return 'of_oxm_vlan_vid_masked'
+end
+of_oxm_v4_dissectors[2147486980] = dissect_of_oxm_vlan_vid_masked_v4
+
+-- child class of_packet_in
+-- Child of of_header
+function dissect_of_packet_in_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.packet_in.version')
+ read_uint8_t(reader, 4, subtree, 'of13.packet_in.type')
+ read_uint16_t(reader, 4, subtree, 'of13.packet_in.length')
+ read_uint32_t(reader, 4, subtree, 'of13.packet_in.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.packet_in.buffer_id')
+ read_uint16_t(reader, 4, subtree, 'of13.packet_in.total_len')
+ read_uint8_t(reader, 4, subtree, 'of13.packet_in.reason')
+ read_uint8_t(reader, 4, subtree, 'of13.packet_in.table_id')
+ read_uint64_t(reader, 4, subtree, 'of13.packet_in.cookie')
+ read_of_match_t(reader, 4, subtree, 'of13.packet_in.match')
+ reader.skip(2)
+ read_ethernet(reader, 4, subtree, 'of13.packet_in.data')
+ return 'of_packet_in'
+end
+of_header_v4_dissectors[10] = dissect_of_packet_in_v4
+
+-- child class of_packet_out
+-- Child of of_header
+function dissect_of_packet_out_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.packet_out.version')
+ read_uint8_t(reader, 4, subtree, 'of13.packet_out.type')
+ read_uint16_t(reader, 4, subtree, 'of13.packet_out.length')
+ read_uint32_t(reader, 4, subtree, 'of13.packet_out.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.packet_out.buffer_id')
+ read_of_port_no_t(reader, 4, subtree, 'of13.packet_out.in_port')
+ local _actions_length = reader.peek(0, 2):uint()
+ read_uint16_t(reader, 4, subtree, 'of13.packet_out.actions_len')
+ reader.skip(6)
+ read_list(reader.slice(_actions_length), dissect_of_action_v4, subtree, 'of_action')
+ read_ethernet(reader, 4, subtree, 'of13.packet_out.data')
+ return 'of_packet_out'
+end
+of_header_v4_dissectors[13] = dissect_of_packet_out_v4
+
+-- top-level class of_packet_queue
+function dissect_of_packet_queue_v4(reader, subtree)
+ local _length = reader.peek(8, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint32_t(reader, 4, subtree, 'of13.packet_queue.queue_id')
+ read_of_port_no_t(reader, 4, subtree, 'of13.packet_queue.port')
+ read_uint16_t(reader, 4, subtree, 'of13.packet_queue.len')
+ reader.skip(6)
+ read_list(reader, dissect_of_queue_prop_v4, subtree, 'of_queue_prop')
+ return 'of_packet_queue'
+end
+-- top-level class of_port_desc
+function dissect_of_port_desc_v4(reader, subtree)
+ read_of_port_no_t(reader, 4, subtree, 'of13.port_desc.port_no')
+ reader.skip(4)
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.port_desc.hw_addr')
+ reader.skip(2)
+ read_of_port_name_t(reader, 4, subtree, 'of13.port_desc.name')
+ read_uint32_t(reader, 4, subtree, 'of13.port_desc.config')
+ read_uint32_t(reader, 4, subtree, 'of13.port_desc.state')
+ read_uint32_t(reader, 4, subtree, 'of13.port_desc.curr')
+ read_uint32_t(reader, 4, subtree, 'of13.port_desc.advertised')
+ read_uint32_t(reader, 4, subtree, 'of13.port_desc.supported')
+ read_uint32_t(reader, 4, subtree, 'of13.port_desc.peer')
+ read_uint32_t(reader, 4, subtree, 'of13.port_desc.curr_speed')
+ read_uint32_t(reader, 4, subtree, 'of13.port_desc.max_speed')
+ return 'of_port_desc'
+end
+-- child class of_port_desc_stats_reply
+-- Child of of_stats_reply
+function dissect_of_port_desc_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.port_desc_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.port_desc_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_desc_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.port_desc_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.port_desc_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_desc_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_port_desc_v4, subtree, 'of_port_desc')
+ return 'of_port_desc_stats_reply'
+end
+of_stats_reply_v4_dissectors[13] = dissect_of_port_desc_stats_reply_v4
+
+-- child class of_port_desc_stats_request
+-- Child of of_stats_request
+function dissect_of_port_desc_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.port_desc_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.port_desc_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_desc_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.port_desc_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.port_desc_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_desc_stats_request.flags')
+ reader.skip(4)
+ return 'of_port_desc_stats_request'
+end
+of_stats_request_v4_dissectors[13] = dissect_of_port_desc_stats_request_v4
+
+-- child class of_port_mod
+-- Child of of_header
+function dissect_of_port_mod_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.port_mod.version')
+ read_uint8_t(reader, 4, subtree, 'of13.port_mod.type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_mod.length')
+ read_uint32_t(reader, 4, subtree, 'of13.port_mod.xid')
+ read_of_port_no_t(reader, 4, subtree, 'of13.port_mod.port_no')
+ reader.skip(4)
+ read_of_mac_addr_t(reader, 4, subtree, 'of13.port_mod.hw_addr')
+ reader.skip(2)
+ read_uint32_t(reader, 4, subtree, 'of13.port_mod.config')
+ read_uint32_t(reader, 4, subtree, 'of13.port_mod.mask')
+ read_uint32_t(reader, 4, subtree, 'of13.port_mod.advertise')
+ reader.skip(4)
+ return 'of_port_mod'
+end
+of_header_v4_dissectors[16] = dissect_of_port_mod_v4
+
+-- child class of_port_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_port_mod_failed_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.port_mod_failed_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.port_mod_failed_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_mod_failed_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.port_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.port_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_mod_failed_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.port_mod_failed_error_msg.data')
+ return 'of_port_mod_failed_error_msg'
+end
+of_error_msg_v4_dissectors[7] = dissect_of_port_mod_failed_error_msg_v4
+
+-- top-level class of_port_stats_entry
+function dissect_of_port_stats_entry_v4(reader, subtree)
+ read_of_port_no_t(reader, 4, subtree, 'of13.port_stats_entry.port_no')
+ reader.skip(4)
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.rx_packets')
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.tx_packets')
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.rx_bytes')
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.tx_bytes')
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.rx_dropped')
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.tx_dropped')
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.rx_errors')
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.tx_errors')
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.rx_frame_err')
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.rx_over_err')
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.rx_crc_err')
+ read_uint64_t(reader, 4, subtree, 'of13.port_stats_entry.collisions')
+ read_uint32_t(reader, 4, subtree, 'of13.port_stats_entry.duration_sec')
+ read_uint32_t(reader, 4, subtree, 'of13.port_stats_entry.duration_nsec')
+ return 'of_port_stats_entry'
+end
+-- child class of_port_stats_reply
+-- Child of of_stats_reply
+function dissect_of_port_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.port_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.port_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.port_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.port_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_port_stats_entry_v4, subtree, 'of_port_stats_entry')
+ return 'of_port_stats_reply'
+end
+of_stats_reply_v4_dissectors[4] = dissect_of_port_stats_reply_v4
+
+-- child class of_port_stats_request
+-- Child of of_stats_request
+function dissect_of_port_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.port_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.port_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.port_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.port_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_stats_request.flags')
+ reader.skip(4)
+ read_of_port_no_t(reader, 4, subtree, 'of13.port_stats_request.port_no')
+ reader.skip(4)
+ return 'of_port_stats_request'
+end
+of_stats_request_v4_dissectors[4] = dissect_of_port_stats_request_v4
+
+-- child class of_port_status
+-- Child of of_header
+function dissect_of_port_status_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.port_status.version')
+ read_uint8_t(reader, 4, subtree, 'of13.port_status.type')
+ read_uint16_t(reader, 4, subtree, 'of13.port_status.length')
+ read_uint32_t(reader, 4, subtree, 'of13.port_status.xid')
+ read_uint8_t(reader, 4, subtree, 'of13.port_status.reason')
+ reader.skip(7)
+ read_of_port_desc_t(reader, 4, subtree, 'of13.port_status.desc')
+ return 'of_port_status'
+end
+of_header_v4_dissectors[12] = dissect_of_port_status_v4
+
+-- child class of_queue_get_config_reply
+-- Child of of_header
+function dissect_of_queue_get_config_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.queue_get_config_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.queue_get_config_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_get_config_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.queue_get_config_reply.xid')
+ read_of_port_no_t(reader, 4, subtree, 'of13.queue_get_config_reply.port')
+ reader.skip(4)
+ read_list(reader, dissect_of_packet_queue_v4, subtree, 'of_packet_queue')
+ return 'of_queue_get_config_reply'
+end
+of_header_v4_dissectors[23] = dissect_of_queue_get_config_reply_v4
+
+-- child class of_queue_get_config_request
+-- Child of of_header
+function dissect_of_queue_get_config_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.queue_get_config_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.queue_get_config_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_get_config_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.queue_get_config_request.xid')
+ read_of_port_no_t(reader, 4, subtree, 'of13.queue_get_config_request.port')
+ reader.skip(4)
+ return 'of_queue_get_config_request'
+end
+of_header_v4_dissectors[22] = dissect_of_queue_get_config_request_v4
+
+-- child class of_queue_op_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_queue_op_failed_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.queue_op_failed_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.queue_op_failed_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_op_failed_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.queue_op_failed_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_op_failed_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_op_failed_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.queue_op_failed_error_msg.data')
+ return 'of_queue_op_failed_error_msg'
+end
+of_error_msg_v4_dissectors[9] = dissect_of_queue_op_failed_error_msg_v4
+
+-- virtual top-level class of_queue_prop
+-- Discriminator is type
+function dissect_of_queue_prop_v4(reader, subtree)
+ return of_queue_prop_v4_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- virtual child class of_queue_prop_experimenter
+-- Child of of_queue_prop
+-- Discriminator is experimenter
+function dissect_of_queue_prop_experimenter_v4(reader, subtree)
+ return of_queue_prop_experimenter_v4_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_queue_prop_v4_dissectors[65535] = dissect_of_queue_prop_experimenter_v4
+
+-- child class of_queue_prop_max_rate
+-- Child of of_queue_prop
+function dissect_of_queue_prop_max_rate_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.queue_prop_max_rate.type')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_prop_max_rate.len')
+ reader.skip(4)
+ read_uint16_t(reader, 4, subtree, 'of13.queue_prop_max_rate.rate')
+ reader.skip(6)
+ return 'of_queue_prop_max_rate'
+end
+of_queue_prop_v4_dissectors[2] = dissect_of_queue_prop_max_rate_v4
+
+-- child class of_queue_prop_min_rate
+-- Child of of_queue_prop
+function dissect_of_queue_prop_min_rate_v4(reader, subtree)
+ read_uint16_t(reader, 4, subtree, 'of13.queue_prop_min_rate.type')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_prop_min_rate.len')
+ reader.skip(4)
+ read_uint16_t(reader, 4, subtree, 'of13.queue_prop_min_rate.rate')
+ reader.skip(6)
+ return 'of_queue_prop_min_rate'
+end
+of_queue_prop_v4_dissectors[1] = dissect_of_queue_prop_min_rate_v4
+
+-- top-level class of_queue_stats_entry
+function dissect_of_queue_stats_entry_v4(reader, subtree)
+ read_of_port_no_t(reader, 4, subtree, 'of13.queue_stats_entry.port_no')
+ read_uint32_t(reader, 4, subtree, 'of13.queue_stats_entry.queue_id')
+ read_uint64_t(reader, 4, subtree, 'of13.queue_stats_entry.tx_bytes')
+ read_uint64_t(reader, 4, subtree, 'of13.queue_stats_entry.tx_packets')
+ read_uint64_t(reader, 4, subtree, 'of13.queue_stats_entry.tx_errors')
+ read_uint32_t(reader, 4, subtree, 'of13.queue_stats_entry.duration_sec')
+ read_uint32_t(reader, 4, subtree, 'of13.queue_stats_entry.duration_nsec')
+ return 'of_queue_stats_entry'
+end
+-- child class of_queue_stats_reply
+-- Child of of_stats_reply
+function dissect_of_queue_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.queue_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.queue_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.queue_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_queue_stats_entry_v4, subtree, 'of_queue_stats_entry')
+ return 'of_queue_stats_reply'
+end
+of_stats_reply_v4_dissectors[5] = dissect_of_queue_stats_reply_v4
+
+-- child class of_queue_stats_request
+-- Child of of_stats_request
+function dissect_of_queue_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.queue_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.queue_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.queue_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.queue_stats_request.flags')
+ reader.skip(4)
+ read_of_port_no_t(reader, 4, subtree, 'of13.queue_stats_request.port_no')
+ read_uint32_t(reader, 4, subtree, 'of13.queue_stats_request.queue_id')
+ return 'of_queue_stats_request'
+end
+of_stats_request_v4_dissectors[5] = dissect_of_queue_stats_request_v4
+
+-- child class of_role_reply
+-- Child of of_header
+function dissect_of_role_reply_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.role_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.role_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.role_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.role_reply.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.role_reply.role')
+ reader.skip(4)
+ read_uint64_t(reader, 4, subtree, 'of13.role_reply.generation_id')
+ return 'of_role_reply'
+end
+of_header_v4_dissectors[25] = dissect_of_role_reply_v4
+
+-- child class of_role_request
+-- Child of of_header
+function dissect_of_role_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.role_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.role_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.role_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.role_request.xid')
+ read_uint32_t(reader, 4, subtree, 'of13.role_request.role')
+ reader.skip(4)
+ read_uint64_t(reader, 4, subtree, 'of13.role_request.generation_id')
+ return 'of_role_request'
+end
+of_header_v4_dissectors[24] = dissect_of_role_request_v4
+
+-- child class of_role_request_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_role_request_failed_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.role_request_failed_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.role_request_failed_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.role_request_failed_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.role_request_failed_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.role_request_failed_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.role_request_failed_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.role_request_failed_error_msg.data')
+ return 'of_role_request_failed_error_msg'
+end
+of_error_msg_v4_dissectors[11] = dissect_of_role_request_failed_error_msg_v4
+
+-- child class of_set_config
+-- Child of of_header
+function dissect_of_set_config_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.set_config.version')
+ read_uint8_t(reader, 4, subtree, 'of13.set_config.type')
+ read_uint16_t(reader, 4, subtree, 'of13.set_config.length')
+ read_uint32_t(reader, 4, subtree, 'of13.set_config.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.set_config.flags')
+ read_uint16_t(reader, 4, subtree, 'of13.set_config.miss_send_len')
+ return 'of_set_config'
+end
+of_header_v4_dissectors[9] = dissect_of_set_config_v4
+
+-- child class of_switch_config_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_switch_config_failed_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.switch_config_failed_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.switch_config_failed_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.switch_config_failed_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.switch_config_failed_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.switch_config_failed_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.switch_config_failed_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.switch_config_failed_error_msg.data')
+ return 'of_switch_config_failed_error_msg'
+end
+of_error_msg_v4_dissectors[10] = dissect_of_switch_config_failed_error_msg_v4
+
+-- virtual top-level class of_table_feature_prop
+-- Discriminator is type
+function dissect_of_table_feature_prop_v4(reader, subtree)
+ return of_table_feature_prop_v4_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_table_feature_prop_apply_actions
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_apply_actions_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_apply_actions.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_apply_actions.length')
+ read_list(reader, dissect_of_action_id_v4, subtree, 'of_action_id')
+ return 'of_table_feature_prop_apply_actions'
+end
+of_table_feature_prop_v4_dissectors[6] = dissect_of_table_feature_prop_apply_actions_v4
+
+-- child class of_table_feature_prop_apply_actions_miss
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_apply_actions_miss_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_apply_actions_miss.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_apply_actions_miss.length')
+ read_list(reader, dissect_of_action_id_v4, subtree, 'of_action_id')
+ return 'of_table_feature_prop_apply_actions_miss'
+end
+of_table_feature_prop_v4_dissectors[7] = dissect_of_table_feature_prop_apply_actions_miss_v4
+
+-- child class of_table_feature_prop_apply_setfield
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_apply_setfield_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_apply_setfield.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_apply_setfield.length')
+ read_list(reader, dissect_of_uint32_v4, subtree, 'of_uint32')
+ return 'of_table_feature_prop_apply_setfield'
+end
+of_table_feature_prop_v4_dissectors[14] = dissect_of_table_feature_prop_apply_setfield_v4
+
+-- child class of_table_feature_prop_apply_setfield_miss
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_apply_setfield_miss_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_apply_setfield_miss.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_apply_setfield_miss.length')
+ read_list(reader, dissect_of_uint32_v4, subtree, 'of_uint32')
+ return 'of_table_feature_prop_apply_setfield_miss'
+end
+of_table_feature_prop_v4_dissectors[15] = dissect_of_table_feature_prop_apply_setfield_miss_v4
+
+-- child class of_table_feature_prop_experimenter
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_experimenter_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter.length')
+ read_uint32_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter.subtype')
+ read_of_octets_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter.experimenter_data')
+ return 'of_table_feature_prop_experimenter'
+end
+of_table_feature_prop_v4_dissectors[65534] = dissect_of_table_feature_prop_experimenter_v4
+
+-- child class of_table_feature_prop_experimenter_miss
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_experimenter_miss_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter_miss.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter_miss.length')
+ read_uint32_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter_miss.experimenter')
+ read_uint32_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter_miss.subtype')
+ read_of_octets_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter_miss.experimenter_data')
+ return 'of_table_feature_prop_experimenter_miss'
+end
+of_table_feature_prop_v4_dissectors[65535] = dissect_of_table_feature_prop_experimenter_miss_v4
+
+-- child class of_table_feature_prop_instructions
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_instructions_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_instructions.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_instructions.length')
+ read_list(reader, dissect_of_instruction_id_v4, subtree, 'of_instruction_id')
+ return 'of_table_feature_prop_instructions'
+end
+of_table_feature_prop_v4_dissectors[0] = dissect_of_table_feature_prop_instructions_v4
+
+-- child class of_table_feature_prop_instructions_miss
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_instructions_miss_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_instructions_miss.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_instructions_miss.length')
+ read_list(reader, dissect_of_instruction_id_v4, subtree, 'of_instruction_id')
+ return 'of_table_feature_prop_instructions_miss'
+end
+of_table_feature_prop_v4_dissectors[1] = dissect_of_table_feature_prop_instructions_miss_v4
+
+-- child class of_table_feature_prop_match
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_match_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_match.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_match.length')
+ read_list(reader, dissect_of_uint32_v4, subtree, 'of_uint32')
+ return 'of_table_feature_prop_match'
+end
+of_table_feature_prop_v4_dissectors[8] = dissect_of_table_feature_prop_match_v4
+
+-- child class of_table_feature_prop_next_tables
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_next_tables_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_next_tables.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_next_tables.length')
+ read_list(reader, dissect_of_uint8_v4, subtree, 'of_uint8')
+ return 'of_table_feature_prop_next_tables'
+end
+of_table_feature_prop_v4_dissectors[2] = dissect_of_table_feature_prop_next_tables_v4
+
+-- child class of_table_feature_prop_next_tables_miss
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_next_tables_miss_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_next_tables_miss.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_next_tables_miss.length')
+ read_list(reader, dissect_of_uint8_v4, subtree, 'of_uint8')
+ return 'of_table_feature_prop_next_tables_miss'
+end
+of_table_feature_prop_v4_dissectors[3] = dissect_of_table_feature_prop_next_tables_miss_v4
+
+-- child class of_table_feature_prop_wildcards
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_wildcards_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_wildcards.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_wildcards.length')
+ read_list(reader, dissect_of_uint32_v4, subtree, 'of_uint32')
+ return 'of_table_feature_prop_wildcards'
+end
+of_table_feature_prop_v4_dissectors[10] = dissect_of_table_feature_prop_wildcards_v4
+
+-- child class of_table_feature_prop_write_actions
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_write_actions_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_write_actions.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_write_actions.length')
+ read_list(reader, dissect_of_action_id_v4, subtree, 'of_action_id')
+ return 'of_table_feature_prop_write_actions'
+end
+of_table_feature_prop_v4_dissectors[4] = dissect_of_table_feature_prop_write_actions_v4
+
+-- child class of_table_feature_prop_write_actions_miss
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_write_actions_miss_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_write_actions_miss.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_write_actions_miss.length')
+ read_list(reader, dissect_of_action_id_v4, subtree, 'of_action_id')
+ return 'of_table_feature_prop_write_actions_miss'
+end
+of_table_feature_prop_v4_dissectors[5] = dissect_of_table_feature_prop_write_actions_miss_v4
+
+-- child class of_table_feature_prop_write_setfield
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_write_setfield_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_write_setfield.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_write_setfield.length')
+ read_list(reader, dissect_of_uint32_v4, subtree, 'of_uint32')
+ return 'of_table_feature_prop_write_setfield'
+end
+of_table_feature_prop_v4_dissectors[12] = dissect_of_table_feature_prop_write_setfield_v4
+
+-- child class of_table_feature_prop_write_setfield_miss
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_write_setfield_miss_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_write_setfield_miss.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_write_setfield_miss.length')
+ read_list(reader, dissect_of_uint32_v4, subtree, 'of_uint32')
+ return 'of_table_feature_prop_write_setfield_miss'
+end
+of_table_feature_prop_v4_dissectors[13] = dissect_of_table_feature_prop_write_setfield_miss_v4
+
+-- top-level class of_table_features
+function dissect_of_table_features_v4(reader, subtree)
+ local _length = reader.peek(0, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint16_t(reader, 4, subtree, 'of13.table_features.length')
+ read_uint8_t(reader, 4, subtree, 'of13.table_features.table_id')
+ reader.skip(5)
+ read_of_table_name_t(reader, 4, subtree, 'of13.table_features.name')
+ read_uint64_t(reader, 4, subtree, 'of13.table_features.metadata_match')
+ read_uint64_t(reader, 4, subtree, 'of13.table_features.metadata_write')
+ read_uint32_t(reader, 4, subtree, 'of13.table_features.config')
+ read_uint32_t(reader, 4, subtree, 'of13.table_features.max_entries')
+ read_list(reader, dissect_of_table_feature_prop_v4, subtree, 'of_table_feature_prop')
+ return 'of_table_features'
+end
+-- child class of_table_features_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_table_features_failed_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.table_features_failed_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.table_features_failed_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_features_failed_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.table_features_failed_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.table_features_failed_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_features_failed_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.table_features_failed_error_msg.data')
+ return 'of_table_features_failed_error_msg'
+end
+of_error_msg_v4_dissectors[13] = dissect_of_table_features_failed_error_msg_v4
+
+-- child class of_table_features_stats_reply
+-- Child of of_stats_reply
+function dissect_of_table_features_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.table_features_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.table_features_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_features_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.table_features_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.table_features_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_features_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_table_features_v4, subtree, 'of_table_features')
+ return 'of_table_features_stats_reply'
+end
+of_stats_reply_v4_dissectors[12] = dissect_of_table_features_stats_reply_v4
+
+-- child class of_table_features_stats_request
+-- Child of of_stats_request
+function dissect_of_table_features_stats_request_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.table_features_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.table_features_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_features_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.table_features_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.table_features_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_features_stats_request.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_table_features_v4, subtree, 'of_table_features')
+ return 'of_table_features_stats_request'
+end
+of_stats_request_v4_dissectors[12] = dissect_of_table_features_stats_request_v4
+
+-- child class of_table_mod
+-- Child of of_header
+function dissect_of_table_mod_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.table_mod.version')
+ read_uint8_t(reader, 4, subtree, 'of13.table_mod.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_mod.length')
+ read_uint32_t(reader, 4, subtree, 'of13.table_mod.xid')
+ read_uint8_t(reader, 4, subtree, 'of13.table_mod.table_id')
+ reader.skip(3)
+ read_uint32_t(reader, 4, subtree, 'of13.table_mod.config')
+ return 'of_table_mod'
+end
+of_header_v4_dissectors[17] = dissect_of_table_mod_v4
+
+-- child class of_table_mod_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_table_mod_failed_error_msg_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.table_mod_failed_error_msg.version')
+ read_uint8_t(reader, 4, subtree, 'of13.table_mod_failed_error_msg.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_mod_failed_error_msg.length')
+ read_uint32_t(reader, 4, subtree, 'of13.table_mod_failed_error_msg.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.table_mod_failed_error_msg.err_type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_mod_failed_error_msg.code')
+ read_openflow(reader, 4, subtree, 'of13.table_mod_failed_error_msg.data')
+ return 'of_table_mod_failed_error_msg'
+end
+of_error_msg_v4_dissectors[8] = dissect_of_table_mod_failed_error_msg_v4
+
+-- top-level class of_table_stats_entry
+function dissect_of_table_stats_entry_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.table_stats_entry.table_id')
+ reader.skip(3)
+ read_uint32_t(reader, 4, subtree, 'of13.table_stats_entry.active_count')
+ read_uint64_t(reader, 4, subtree, 'of13.table_stats_entry.lookup_count')
+ read_uint64_t(reader, 4, subtree, 'of13.table_stats_entry.matched_count')
+ return 'of_table_stats_entry'
+end
+-- child class of_table_stats_reply
+-- Child of of_stats_reply
+function dissect_of_table_stats_reply_v4(reader, subtree)
+ local _length = reader.peek(2, 2):uint()
+ local orig_reader = reader
+ reader = orig_reader.slice(_length)
+ read_uint8_t(reader, 4, subtree, 'of13.table_stats_reply.version')
+ read_uint8_t(reader, 4, subtree, 'of13.table_stats_reply.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_stats_reply.length')
+ read_uint32_t(reader, 4, subtree, 'of13.table_stats_reply.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.table_stats_reply.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_stats_reply.flags')
+ reader.skip(4)
+ read_list(reader, dissect_of_table_stats_entry_v4, subtree, 'of_table_stats_entry')
+ return 'of_table_stats_reply'
+end
+of_stats_reply_v4_dissectors[3] = dissect_of_table_stats_reply_v4
+
+-- child class of_table_stats_request
+-- Child of of_stats_request
+function dissect_of_table_stats_request_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.table_stats_request.version')
+ read_uint8_t(reader, 4, subtree, 'of13.table_stats_request.type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_stats_request.length')
+ read_uint32_t(reader, 4, subtree, 'of13.table_stats_request.xid')
+ read_uint16_t(reader, 4, subtree, 'of13.table_stats_request.stats_type')
+ read_uint16_t(reader, 4, subtree, 'of13.table_stats_request.flags')
+ reader.skip(4)
+ return 'of_table_stats_request'
+end
+of_stats_request_v4_dissectors[3] = dissect_of_table_stats_request_v4
+
+-- top-level class of_uint32
+function dissect_of_uint32_v4(reader, subtree)
+ read_uint32_t(reader, 4, subtree, 'of13.uint32.value')
+ return 'of_uint32'
+end
+-- top-level class of_uint64
+function dissect_of_uint64_v4(reader, subtree)
+ read_uint64_t(reader, 4, subtree, 'of13.uint64.value')
+ return 'of_uint64'
+end
+-- top-level class of_uint8
+function dissect_of_uint8_v4(reader, subtree)
+ read_uint8_t(reader, 4, subtree, 'of13.uint8.value')
+ return 'of_uint8'
+end
+
+local of_message_dissectors = {
+ [1] = dissect_of_header_v1,
+ [2] = dissect_of_header_v2,
+ [3] = dissect_of_header_v3,
+ [4] = dissect_of_header_v4,
+}
+
+local of_port_desc_dissectors = {
+ [1] = dissect_of_port_desc_v1,
+ [2] = dissect_of_port_desc_v2,
+ [3] = dissect_of_port_desc_v3,
+ [4] = dissect_of_port_desc_v4,
+}
+
+local of_oxm_dissectors = {
+ [1] = dissect_of_oxm_v1,
+ [2] = dissect_of_oxm_v2,
+ [3] = dissect_of_oxm_v3,
+ [4] = dissect_of_oxm_v4,
+}
+
+local of_bsn_vport_q_in_q_dissectors = {
+ [1] = dissect_of_bsn_vport_q_in_q_v1,
+ [2] = dissect_of_bsn_vport_q_in_q_v2,
+ [3] = dissect_of_bsn_vport_q_in_q_v3,
+ [4] = dissect_of_bsn_vport_q_in_q_v4,
+}
+
+
+function read_scalar(reader, subtree, field_name, length)
+ subtree:add(fields[field_name], reader.read(length))
+end
+
+function read_uint8_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 1)
+end
+
+function read_uint16_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 2)
+end
+
+function read_uint32_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 4)
+end
+
+function read_uint64_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 8)
+end
+
+function read_of_bitmap_128_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 16)
+end
+
+function read_of_checksum_128_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 16)
+end
+
+function read_of_octets_t(reader, version, subtree, field_name)
+ if not reader.is_empty() then
+ subtree:add(fields[field_name], reader.read_all())
+ end
+end
+
+function read_list_of_hello_elem_t(reader, version, subtree, field_name)
+ -- TODO
+end
+
+function read_of_match_t(reader, version, subtree, field_name)
+ if version == 1 then
+ dissect_of_match_v1_v1(reader, subtree:add("of_match"))
+ elseif version == 2 then
+ dissect_of_match_v2_v2(reader, subtree:add("of_match"))
+ elseif version >= 3 then
+ dissect_of_match_v3_v3(reader, subtree:add("of_match"))
+ end
+end
+
+function read_of_wc_bmap_t(reader, version, subtree, field_name)
+ if version <= 2 then
+ read_scalar(reader, subtree, field_name, 4)
+ else
+ read_scalar(reader, subtree, field_name, 8)
+ end
+end
+
+function read_of_port_no_t(reader, version, subtree, field_name)
+ if version == 1 then
+ read_scalar(reader, subtree, field_name, 2)
+ else
+ read_scalar(reader, subtree, field_name, 4)
+ end
+end
+
+function read_of_port_name_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 16)
+end
+
+function read_of_mac_addr_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 6)
+end
+
+function read_of_ipv4_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 4)
+end
+
+function read_of_ipv6_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 16)
+end
+
+function read_of_fm_cmd_t(reader, version, subtree, field_name)
+ if version == 1 then
+ read_scalar(reader, subtree, field_name, 2)
+ else
+ read_scalar(reader, subtree, field_name, 1)
+ end
+end
+
+function read_of_desc_str_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 256)
+end
+
+function read_of_serial_num_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 32)
+end
+
+function read_of_table_name_t(reader, version, subtree, field_name)
+ read_scalar(reader, subtree, field_name, 32)
+end
+
+function read_of_port_desc_t(reader, version, subtree, field_name)
+ if reader.is_empty() then
+ return
+ end
+ local child_subtree = subtree:add(fields[field_name], reader.peek_all(0))
+ local info = of_port_desc_dissectors[version](reader, child_subtree)
+ child_subtree:set_text(info)
+end
+
+function read_of_oxm_t(reader, version, subtree, field_name)
+ if reader.is_empty() then
+ return
+ end
+ local child_subtree = subtree:add(fields[field_name], reader.peek_all(0))
+ local info = of_oxm_dissectors[version](reader, child_subtree)
+ child_subtree:set_text(info)
+end
+
+function read_list(reader, dissector, subtree, field_name)
+ if not reader.is_empty() then
+ local list_subtree = subtree:add(field_name .. " list", reader.peek_all(0))
+ while not reader.is_empty() do
+ local atom_subtree = list_subtree:add(field_name, reader.peek_all(0))
+ local info = dissector(reader, atom_subtree)
+ atom_subtree:set_text(info)
+ end
+ else
+ return
+ end
+end
+
+function read_ethernet(reader, version, subtree, field_name)
+ if reader.is_empty() then
+ return
+ end
+ local child_subtree = subtree:add(fields[field_name], reader.peek_all(0))
+ child_subtree:set_text("Ethernet packet")
+ ethernet_dissector:call(reader.read_all():tvb(), current_pkt, child_subtree)
+end
+
+function read_of_bsn_vport_q_in_q_t(reader, version, subtree, field_name)
+ if reader.is_empty() then
+ return
+ end
+ local child_subtree = subtree:add(fields[field_name], reader.peek_all(0))
+ local info = of_bsn_vport_q_in_q_dissectors[version](reader, child_subtree)
+ child_subtree:set_text(info)
+end
+
+function read_openflow(reader, version, subtree, field_name)
+ if reader.is_empty() then
+ return
+ end
+ local child_subtree = subtree:add(fields[field_name], reader.peek_all(0))
+ child_subtree:set_text("OpenFlow message")
+ pcall(function () -- Message may be truncated, ignore errors dissecting
+ p_of.dissector:call(reader.read_all():tvb(), current_pkt, child_subtree)
+ end)
+end
+
+function dissect_of_message(buf, root)
+ local reader = OFReader.new(buf)
+ local subtree = root:add(p_of, buf(0))
+ local version_val = buf(0,1):uint()
+ local type_val = buf(1,1):uint()
+
+ local protocol = "OF ?"
+ if openflow_versions[version_val] then
+ protocol = "OF " .. openflow_versions[version_val]
+ else
+ return "Unknown protocol", "Dissection error"
+ end
+
+ local info = "unknown"
+ info = of_message_dissectors[version_val](reader, subtree)
+
+ return protocol, info
+end
+
+-- of dissector function
+function p_of.dissector (buf, pkt, root)
+ local offset = 0
+ current_pkt = pkt
+ repeat
+ if buf:len() - offset >= 4 then
+ local msg_version = buf(offset,1):uint()
+ local msg_type = buf(offset+1,1):uint()
+ local msg_len = buf(offset+2,2):uint()
+
+ -- Detect obviously broken messages
+ if msg_version == 0 or msg_version > 4 then break end
+ if msg_type > 29 then break end
+ if msg_len < 8 then break end
+
+ if offset + msg_len > buf:len() then
+ -- we don't have all the data we need yet
+ pkt.desegment_len = offset + msg_len - buf:len()
+ pkt.desegment_offset = offset
+ return
+ end
+
+ protocol, info = dissect_of_message(buf(offset, msg_len), root)
+
+ if offset == 0 then
+ pkt.cols.protocol:clear()
+ pkt.cols.info:clear()
+ else
+ pkt.cols.protocol:append(" + ")
+ pkt.cols.info:append(" + ")
+ end
+ pkt.cols.protocol:append(protocol)
+ pkt.cols.info:append(info)
+ offset = offset + msg_len
+ else
+ -- we don't have all of length field yet
+ pkt.desegment_len = DESEGMENT_ONE_MORE_SEGMENT
+ pkt.desegment_offset = offset
+ return
+ end
+ until offset >= buf:len()
+end
+
+-- Initialization routine
+function p_of.init()
+end
+
+-- register a chained dissector for OpenFlow port numbers
+local tcp_dissector_table = DissectorTable.get("tcp.port")
+tcp_dissector_table:add(6633, p_of)
+tcp_dissector_table:add(6653, p_of)
diff --git a/opt-setup.sh b/opt-setup.sh
new file mode 100755
index 0000000..9cd431a
--- /dev/null
+++ b/opt-setup.sh
@@ -0,0 +1,123 @@
+#!/bin/bash
+# opt-setup.sh
+#
+# Runs as optical user.
+#
+# Sets up the packet-optical tutorial.
+
+export USER=optical
+export USER_HOME=/home/${USER}
+
+echo "Creating optical tutorial"
+
+DESKTOP=${USER_HOME}/Desktop
+
+mkdir -p ${DESKTOP}
+
+cat > ${DESKTOP}/ONOS << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=ONOS
+Name[en_US]=ONOS
+Icon=konsole
+Exec=/usr/bin/lxterminal -t 'ONOS' -e '/home/mininet/apache-karaf-3.0.5/bin/client -u karaf -h 10.0.3.11'
+Comment[en_US]=
+EOF
+
+
+cat > "${DESKTOP}/Mininet Small" << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Mininet Small
+Name[en_US]=Mininet Small
+Icon=konsole
+Exec=/usr/bin/lxterminal -t 'Mininet Small Topology' -e '/bin/bash -c "export ONOS_ROOT=~/onos ; sudo -E python /home/mininet/onos/tools/test/topos/opticalTest.py 10.0.3.11"'
+Comment[en_US]=
+EOF
+
+cat > "${DESKTOP}/Mininet Large" << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Mininet Large
+Name[en_US]=Mininet Large
+Icon=konsole
+Exec=/usr/bin/lxterminal -t 'Mininet Large Topology' -e '/bin/bash -c "export ONOS_ROOT=~/onos ; sudo -E python /home/mininet/onos/tools/test/topos/opticalTestBig.py 10.0.3.11"'
+Comment[en_US]=
+EOF
+
+cat > "${DESKTOP}/LINC-OE" << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=LINC-OE
+Name[en_US]=LINC-OE
+Icon=konsole
+Exec=/usr/bin/lxterminal -t 'LINC-OE' -e 'sudo linc-oe/rel/linc/bin/linc attach'
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Tutorial << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Tutorial
+Name[en_US]=Tutorial
+Icon=internet-web-browser
+Exec=/usr/bin/chromium-browser https://wiki.onosproject.org/display/ONOS/Packet+Optical+Tutorial
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/GUI << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=ONOS GUI
+Name[en_US]=ONOS GUI
+Icon=internet-web-browser
+Exec=/usr/bin/chromium-browser http://10.0.3.11:8181/onos/ui/index.html#topo
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Wireshark << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Wireshark
+Name[en_US]=Wireshark
+Icon=wireshark
+Exec=/usr/bin/wireshark
+Comment[en_US]=
+EOF
+
+
+cat > ${DESKTOP}/Reset << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Reset ONOS
+Name[en_US]=Reset ONOS
+Icon=konsole
+Exec=/usr/bin/lxterminal -t 'Resetting; please wait' -e '/bin/bash -c "/home/mininet/reset-to-1.sh proxyarp,optical"'
+Comment[en_US]=
+EOF
+
+
+ln -s /home/mininet/onos onos
+ln -s /home/mininet/.m2 .m2
+
+# -------------- Setup LINC & dependencies ---------------
+git clone https://github.com/FlowForwarding/LINC-config-generator.git
+cd ~/LINC-config-generator
+cp priv/* .
+make
+cd
+
+git clone https://github.com/FlowForwarding/LINC-Switch.git linc-oe
+cd linc-oe
+sed -i s/3000/300000/ rel/files/vm.args
+cp rel/files/sys.config.orig rel/files/sys.config
+make
+cd
\ No newline at end of file
diff --git a/sdnip-setup.sh b/sdnip-setup.sh
new file mode 100755
index 0000000..b8d0ae8
--- /dev/null
+++ b/sdnip-setup.sh
@@ -0,0 +1,91 @@
+#!/bin/bash
+# sdnip-setup.sh
+#
+# Runs as sdnip user.
+#
+# Sets up the SDN-IP tutorial.
+
+export USER=sdnip
+
+echo "Creating SDN-IP tutorial"
+
+#--------------- Copy SDNIP code to home -----
+
+cp -r /home/mininet/onos/tools/tutorials/sdnip /home/sdnip/
+cp -r /home/sdnip/sdnip/configs /home/sdnip/
+sudo -u mininet sh -c 'cp -r /home/sdnip/sdnip/configs/network-cfg.json /home/mininet/onos/tools/package/config'
+
+
+#--------------- Add iptables rule for BGP-ONOS communication -----
+
+echo "sudo iptables -A PREROUTING -t nat -i root-eth0 -p tcp --dport 2000 -j DNAT --to 10.0.3.11:2000 " >> /home/sdnip/.xprofile
+
+DESKTOP=/home/${USER}/Desktop
+
+mkdir -p ${DESKTOP}
+
+cat > ${DESKTOP}/ONOS << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=ONOS
+Name[en_US]=ONOS
+Icon=konsole
+Exec=/usr/bin/lxterminal -e '/home/mininet/apache-karaf-3.0.5/bin/client -u karaf -h 10.0.3.11'
+Comment[en_US]=
+EOF
+
+cat > "${DESKTOP}/SDN-IP Mininet" << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=SDN-IP Mininet
+Name[en_US]=SDN-IP Mininet
+Icon=konsole
+Exec=/usr/bin/lxterminal -e 'sudo mn --custom /home/sdnip/sdnip/tutorial.py --topo sdnip --controller remote,10.0.3.11 --nolistenport'
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Tutorial << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=SDN-IP Tutorial
+Name[en_US]=SDN-IP Tutorial
+Icon=internet-web-browser
+Exec=/usr/bin/chromium-browser https://wiki.onosproject.org/display/ONOS/SDN-IP+Tutorial
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/GUI << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=ONOS GUI
+Name[en_US]=ONOS GUI
+Icon=internet-web-browser
+Exec=/usr/bin/chromium-browser http://10.0.3.11:8181/onos/ui/index.html#topo
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Wireshark << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Wireshark
+Name[en_US]=Wireshark
+Icon=wireshark
+Exec=/usr/bin/wireshark
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Reset << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Reset
+Name[en_US]=Reset
+Icon=konsole
+Exec=/usr/bin/lxterminal -t 'Resetting; please wait' -e '/bin/bash -c /home/mininet/reset-to-1.sh'
+Comment[en_US]=
+EOF
diff --git a/tutorial1-setup.sh b/tutorial1-setup.sh
new file mode 100755
index 0000000..5e70ffa
--- /dev/null
+++ b/tutorial1-setup.sh
@@ -0,0 +1,82 @@
+#!/bin/bash
+# tutorial1-setup.sh
+#
+# Runs as tutorial1 user.
+#
+# Sets up the basic ONOS tutorial.
+
+export USER=tutorial1
+
+echo "Creating tutorial1"
+
+DESKTOP=/home/${USER}/Desktop
+
+mkdir -p ${DESKTOP}
+
+cat > ${DESKTOP}/ONOS << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=ONOS
+Name[en_US]=ONOS
+Icon=konsole
+Exec=/usr/bin/lxterminal -e '/home/mininet/apache-karaf-3.0.5/bin/client -u karaf -h 10.0.3.11'
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Mininet << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Mininet
+Name[en_US]=Mininet
+Icon=konsole
+Exec=/usr/bin/lxterminal -e 'sudo mn --custom /home/mininet/onos/tools/test/topos/tower.py --topo tower --controller remote,10.0.3.11 --mac'
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Tutorial << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=ONOS Tutorial
+Name[en_US]=ONOS Tutorial
+Icon=internet-web-browser
+Exec=/usr/bin/chromium-browser https://wiki.onosproject.org/display/ONOS/Basic+ONOS+Tutorial
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/GUI << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=ONOS GUI
+Name[en_US]=ONOS GUI
+Icon=internet-web-browser
+Exec=/usr/bin/chromium-browser http://10.0.3.11:8181/onos/ui/index.html#topo
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Wireshark << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Wireshark
+Name[en_US]=Wireshark
+Icon=wireshark
+Exec=/usr/bin/wireshark
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Reset << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Reset
+Name[en_US]=Reset
+Icon=konsole
+Exec=/usr/bin/lxterminal -t 'Resetting; please wait' -e '/bin/bash -c /home/mininet/reset-to-1.sh'
+Comment[en_US]=
+EOF
+
+
diff --git a/vm-setup.sh b/vm-setup.sh
new file mode 100755
index 0000000..260d52f
--- /dev/null
+++ b/vm-setup.sh
@@ -0,0 +1,179 @@
+#!/bin/bash
+# vm-setup.sh
+#
+# This script installs ONOS dependencies and installs a desktop environment on a Miniet VM.
+
+ONOS_USER=mininet
+ONOS_USER_HOME=/home/${ONOS_USER}
+
+ECLIPSE_URL=http://download.eclipse.org/technology/epp/downloads/release/luna/R/eclipse-java-luna-R-linux-gtk-x86_64.tar.gz
+
+sudo apt-get update
+=======
+oracle-java8-installer shared/accepted-oracle-license-v1-1 select true
+oracle-java8-installer shared/accepted-oracle-license-v1-1 seen true
+
+sudo add-apt-repository -y ppa:webupd8team/java
+
+sudo apt-get update
+
+sudo apt-get install -y git maven unzip curl wget lxc virtualbox-guest-utils wireshark \
+quagga erlang make gcc autoconf openssl libssl0.9.8 libssl-dev libncurses5 libncurses5-dev \
+oracle-java8-installer oracle-java8-set-default
+
+# -------------- Setup keys -------------------
+
+mkdir -p ~/.ssh
+ssh-keygen -t rsa -P "" -f .ssh/id_rsa
+
+# -------------- Setup 3-node LXC cluster ----------------
+
+sudo lxc-create --name onos1 -t download -- --dist ubuntu --release utopic --arch amd64
+
+sudo sh -c "echo lxc.start.auto=1 >> /var/lib/lxc/onos1/config"
+
+sudo sh -c "sed -i s/dhcp/static/ /var/lib/lxc/onos1/rootfs/etc/network/interfaces"
+sudo sh -c "cat << EOF >> /var/lib/lxc/onos1/rootfs/etc/network/interfaces
+ address 10.0.3.11
+ netmask 255.255.255.0
+ gateway 10.0.3.1
+ dns-nameservers 10.0.3.1
+EOF"
+
+sudo lxc-start --name onos1 --daemon
+
+sudo lxc-ls --fancy
+sleep 5
+sudo lxc-ls --fancy
+sudo lxc-attach --name onos1 -- ip a
+
+sudo lxc-attach --name onos1 -- useradd -m sdn -s /bin/bash
+sudo lxc-attach --name onos1 -- /bin/bash -c "echo sdn:rocks | chpasswd"
+sudo lxc-attach --name onos1 -- /bin/bash -c "echo \"sdn ALL=(ALL) NOPASSWD:ALL\" > /etc/sudoers.d/sdn"
+sudo lxc-attach --name onos1 -- oracle-java8-installer shared/accepted-oracle-license-v1-1 select true
+sudo lxc-attach --name onos1 -- oracle-java8-installer shared/accepted-oracle-license-v1-1 seen true
+sudo lxc-attach --name onos1 -- apt-get update
+sudo lxc-attach --name onos1 -- apt-get install -y openssh-server oracle-java8-installer oracle-java8-set-default
+
+sudo mkdir -p /var/lib/lxc/onos1/rootfs/home/sdn/.ssh
+sudo cp ~/.ssh/id_rsa.pub /var/lib/lxc/onos1/rootfs/home/sdn/.ssh/authorized_keys
+sudo lxc-attach --name onos1 -- chown sdn:sdn /home/sdn/.ssh/authorized_keys
+sudo lxc-attach --name onos1 -- chmod 600 /home/sdn/.ssh/authorized_keys
+
+sudo lxc-attach --name onos1 -- apt-get clean
+
+sudo lxc-stop --name onos1
+
+# Clone the first node to create two more nodes
+sudo lxc-clone onos1 onos2
+sudo sh -c "sed -i s/10.0.3.11/10.0.3.12/ /var/lib/lxc/onos2/rootfs/etc/network/interfaces"
+
+sudo lxc-clone onos1 onos3
+sudo sh -c "sed -i s/10.0.3.11/10.0.3.13/ /var/lib/lxc/onos3/rootfs/etc/network/interfaces"
+
+sudo lxc-start --name onos1
+sudo lxc-start --name onos2
+sudo lxc-start --name onos3
+
+sleep 10
+>>>>>>> Stashed changes
+
+# ------------- Install ONOS Dependencies -------------
+oracle-java8-installer shared/accepted-oracle-license-v1-1 select true
+oracle-java8-installer shared/accepted-oracle-license-v1-1 seen true
+sudo add-apt-repository -y ppa:webupd8team/java
+sudo apt-get update
+sudo apt-get install -y oracle-java8-installer oracle-java8-set-default
+sudo apt-get install -y maven
+
+# CLI dependencies
+sudo apt-get install -y python-flask python-cmd2 python-pyparsing
+
+# -------------- Setup Desktop ----------------
+sudo apt-get install -y xorg lxde
+
+#TODO: add backgrounds folder
+#TODO: change background
+# Remove wallpaper, change background color, and disable screensaver
+sudo sed -i 's/wallpaper_mode=1/wallpaper_mode=0/g' /usr/share/lxde/pcmanfm/LXDE.conf
+sudo sed -i 's/desktop_bg=#000000/desktop_bg=#104187/g' /usr/share/lxde/pcmanfm/LXDE.conf
+sudo sed -i '/screensaver/d' /etc/xdg/lxsession/LXDE/autostart
+
+DESKTOP=${ONOS_USER_HOME}/Desktop
+
+mkdir -p ${DESKTOP}
+
+cat > ${DESKTOP}/Eclipse << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Eclipse
+Name[en_US]=Eclipse
+Icon=/opt/eclipse/icon.xpm
+Exec=/usr/bin/eclipse
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Terminal << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Terminal
+Name[en_US]=Terminal
+Icon=konsole
+Exec=/usr/bin/x-terminal-emulator
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Gerrit << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=ONOS Gerrit
+Name[en_US]=ONOS Gerrit
+Icon=internet-web-browser
+Exec=/usr/bin/chromium-browser http://gerrit.onlab.us
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Docs << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=ONOS Docs
+Name[en_US]=ONOS Docs
+Icon=internet-web-browser
+Exec=/usr/bin/chromium-browser http://docs.onos.onlab.us
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Wireshark << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Wireshark
+Name[en_US]=Wireshark
+Icon=wireshark
+Exec=/usr/bin/wireshark
+Comment[en_US]=
+EOF
+
+# ------------- Install Other Tools -------------
+sudo apt-get install -y wireshark
+# Enable root-less wireshark and add mininet
+echo "Enabling wireshark group"
+echo "wireshark-common wireshark-common/install-setuid boolean true" | sudo debconf-set-selections
+sudo dpkg-reconfigure -f noninteractive wireshark-common
+sudo usermod -a -G wireshark mininet
+
+sudo apt-get install -y git-review
+
+wget -c -N -O /tmp/eclipse.tar.gz ${ECLIPSE_URL}
+tar xzf /tmp/eclipse.tar.gz
+sudo mv eclipse /opt
+sudo ln -s /opt/eclipse/eclipse /usr/bin/eclipse
+
+# ------------ Change username and hostname ---------------
+echo 'mininet:onos' | sudo chpasswd
+sudo mv /home/mininet /home/onos
+sudo sed -i 's/mininet/onos/g' /etc/group /etc/gshadow /etc/hosts /etc/hostname /etc/passwd /etc/shadow /etc/sudoers