Supports the legacy v2 APIs to provide backward compatibility for Hydrogen Release
Also supports the newer v3 APIs to provide schema-independent access to the OVSDB protocol.
-- of-extension : Adds OpenFlow Nicera extensions.
-
- openstack
+-- net-virt : Handles the Openstack Neutron ML2 and Network Service calls and performs all the logic required
for Network Virtualization.
odl-ovsdb-northbound | 0.6.0-SNAPSHOT | | ovsdb-1.0.0-SNAPSHOT | OpenDaylight :: OVSDB :: Northbound
odl-ovsdb-openstack | 1.0.0-SNAPSHOT | x | ovsdb-1.0.0-SNAPSHOT | OpenDaylight :: OVSDB :: OpenStack Network Virtual
odl-ovsdb-ovssfc | 0.0.1-SNAPSHOT | | ovsdb-0.0.1-SNAPSHOT | OpenDaylight :: OVSDB :: OVS Service Function Chai
- odl-openflow-nxm-extensions | 0.0.3-SNAPSHOT | x | ovsdb-0.0.3-SNAPSHOT | OpenDaylight :: Openflow :: Nicira Extensions
2. Building a bundle and deploying it in an Opendaylight Karaf distribution :
<ovsdb.northbound.version>0.7.0-SNAPSHOT</ovsdb.northbound.version>
<schema.openvswitch.version>1.1.0-SNAPSHOT</schema.openvswitch.version>
<schema.hardwarevtep.version>1.1.0-SNAPSHOT</schema.hardwarevtep.version>
- <ovsdb.ofextension.version>1.1.0-SNAPSHOT</ovsdb.ofextension.version>
<ovsdb.utils.config.version>1.1.0-SNAPSHOT</ovsdb.utils.config.version>
<utils.mdsal.openflow.version>1.1.0-SNAPSHOT</utils.mdsal.openflow.version>
<ovsdb.ovssfc.version>0.1.0-SNAPSHOT</ovsdb.ovssfc.version>
<sal.networkconfiguration.version>0.1.0-SNAPSHOT</sal.networkconfiguration.version>
<mdsal.version>1.2.0-SNAPSHOT</mdsal.version>
<openflowplugin.version>0.1.0-SNAPSHOT</openflowplugin.version>
- <openflowplugin-nicira.version>0.1.0-SNAPSHOT</openflowplugin-nicira.version>
- <openflowplugin-extension.version>0.1.0-SNAPSHOT</openflowplugin-extension.version>
<openflowjava-nicira.version>0.1.0-SNAPSHOT</openflowjava-nicira.version>
<openflowjava-extension.version>0.1.0-SNAPSHOT</openflowjava-extension.version>
<openflowjava.version>0.6.0-SNAPSHOT</openflowjava.version>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-extension-api</artifactId>
- <version>${openflowplugin-extension.version}</version>
+ <version>${openflowplugin.version}</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-extension-nicira</artifactId>
- <version>${openflowplugin-nicira.version}</version>
+ <version>${openflowplugin.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.openflowplugin</groupId>
+ <artifactId>openflowplugin-extension-nicira-config</artifactId>
+ <version>${openflowplugin.version}</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>plugin-mdsal-adapter</artifactId>
<version>${ovsdb.plugin.version}</version>
</dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.nx-ofjava</artifactId>
- <version>${ovsdb.ofextension.version}</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.nx-sal</artifactId>
- <version>${ovsdb.ofextension.version}</version>
- </dependency>
<dependency>
<groupId>org.opendaylight.sfc</groupId>
<artifactId>sfc-model</artifactId>
<!-- Other ODL features needed -->
<dependency>
<groupId>org.opendaylight.integration</groupId>
- <artifactId>features-integration</artifactId>
+ <artifactId>features-integration-index</artifactId>
<version>0.3.0-SNAPSHOT</version>
<classifier>features</classifier>
<type>xml</type>
<artifactId>openflowplugin-controller-config</artifactId>
<version>${openflowplugin.version}</version>
</dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.nx-ofjava</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.nx-sal</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>library</artifactId>
<outputDirectory>${project.build.directory}/generated-resources/opendaylight/configuration</outputDirectory>
<includeArtifactIds>
openflowplugin-controller-config, test-extension, openflowjava-extension-nicira, openflowjava-extension-nicira-api, openflowplugin-extension-nicira,
- of-extension.nx-ofjava, of-extension.nx-sal, ovssfc
+ ovssfc
</includeArtifactIds>
<includes>**\/*.xml</includes>
<excludeTransitive>true</excludeTransitive>
find configuration/initial -type l -exec rm {} \;
# OF Filter selection
-OF_FILTER="org.opendaylight.(openflowplugin|openflowjava|controller.sal-compatibility|ovsdb.of-extension)"
+OF_FILTER="org.opendaylight.(openflowplugin|openflowjava|controller.sal-compatibility)"
OF_PLUGIN_RUNTIME="1.0"
if (( $OF13 != 0 )); then
OF_PLUGIN_RUNTIME="1.3"
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>commons</artifactId>
- <version>1.3.0-SNAPSHOT</version>
- <relativePath>../../commons/parent</relativePath>
- </parent>
- <artifactId>features-openflow-nxm</artifactId>
- <name>Openflow Nicira Extensions Karaf Feature</name>
- <version>0.1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
- <properties>
- <features.file>features.xml</features.file>
- <openflowjava.version>0.6.0-SNAPSHOT</openflowjava.version>
- <openflowplugin.version>0.1.0-SNAPSHOT</openflowplugin.version>
- <openflowj.version>1.0.2</openflowj.version>
- <ovsdb.nx.version>1.1.0-SNAPSHOT</ovsdb.nx.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>features-test</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>opendaylight-karaf-empty</artifactId>
- <type>zip</type>
- </dependency>
- <!-- openflowplugin -->
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>features-openflowplugin</artifactId>
- <version>${openflowplugin.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>openflowplugin-extension-nicira</artifactId>
- <version>${openflowplugin.version}</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>openflowjava-extension-nicira-api</artifactId>
- <version>${openflowplugin.version}</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>openflowjava-extension-nicira</artifactId>
- <version>${openflowplugin.version}</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.nx-ofjava</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.nx-sal</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.openflowjava-nx-config</artifactId>
- <version>${ovsdb.ofextension.version}</version>
- <classifier>config</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.openflowjava-nx-api-config</artifactId>
- <version>${ovsdb.ofextension.version}</version>
- <classifier>config</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.nicira-extension-config</artifactId>
- <version>${ovsdb.ofextension.version}</version>
- <classifier>config</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.ovs-nx-api-config</artifactId>
- <version>${ovsdb.ofextension.version}</version>
- <classifier>config</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.ovs-nx-config</artifactId>
- <version>${ovsdb.ofextension.version}</version>
- <classifier>config</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.nx-sal-config</artifactId>
- <version>${ovsdb.ofextension.version}</version>
- <classifier>config</classifier>
- <type>xml</type>
- </dependency>
- </dependencies>
- <build>
- <resources>
- <resource>
- <filtering>true</filtering>
- <directory>src/main/resources</directory>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-artifacts</id>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/classes/${features.file}</file>
- <type>xml</type>
- <classifier>features</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <skip>${skip.karaf}</skip>
- <systemPropertyVariables>
- <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
- <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
- <karaf.distro.version>1.5.0-SNAPSHOT</karaf.distro.version>
- </systemPropertyVariables>
- <dependenciesToScan>
- <dependency>org.opendaylight.yangtools:features-test</dependency>
- </dependenciesToScan>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <scm>
- <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
- <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
- <tag>HEAD</tag>
- <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
- </scm>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<features name="ovsdb-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
- <repository>mvn:org.opendaylight.openflowplugin/features-openflowplugin/${openflowplugin.version}/xml/features</repository>
-
- <feature name="odl-openflow-nxm-extensions" description="OpenDaylight :: Openflow :: Nicira Extensions" version='${openflowplugin.version}'>
- <configfile finalname="etc/opendaylight/karaf/43-openflowjava-nx-api-config.xml">mvn:org.opendaylight.ovsdb/of-extension.openflowjava-nx-api-config/${ovsdb.ofextension.version}/xml/config</configfile>
- <configfile finalname="etc/opendaylight/karaf/44-openflowjava-nx-config.xml">mvn:org.opendaylight.ovsdb/of-extension.openflowjava-nx-config/${ovsdb.ofextension.version}/xml/config</configfile>
- <configfile finalname="etc/opendaylight/karaf/44-nicira-extension.xml">mvn:org.opendaylight.ovsdb/of-extension.nicira-extension-config/${ovsdb.ofextension.version}/xml/config</configfile>
- <configfile finalname="etc/opendaylight/karaf/50-ovs-nx-api-config.xml">mvn:org.opendaylight.ovsdb/of-extension.ovs-nx-api-config/${ovsdb.ofextension.version}/xml/config</configfile>
- <configfile finalname="etc/opendaylight/karaf/51-ovs-nx-config.xml">mvn:org.opendaylight.ovsdb/of-extension.ovs-nx-config/${ovsdb.ofextension.version}/xml/config</configfile>
- <configfile finalname="etc/opendaylight/karaf/52-ovs-nx-sal-config.xml">mvn:org.opendaylight.ovsdb/of-extension.nx-sal-config/${ovsdb.ofextension.version}/xml/config</configfile>
- <bundle>mvn:org.opendaylight.openflowplugin/openflowjava-extension-nicira-api/${openflowplugin.version}</bundle>
- <bundle>mvn:org.opendaylight.openflowplugin/openflowjava-extension-nicira/${openflowplugin.version}</bundle>
- <bundle>mvn:org.opendaylight.openflowplugin/openflowplugin-extension-nicira/${openflowplugin.version}</bundle>
- <bundle>mvn:org.opendaylight.ovsdb/of-extension.nx-ofjava/${ovsdb.nx.version}</bundle>
- <bundle>mvn:org.opendaylight.ovsdb/of-extension.nx-sal/${ovsdb.nx.version}</bundle>
- <feature version="${openflowplugin.version}">odl-openflowplugin-southbound</feature>
- </feature>
-</features>
<features.file>features.xml</features.file>
</properties>
<dependencies>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>features-openflow-nxm</artifactId>
- <version>${openflowplugin.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- </dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>features-ovsdb</artifactId>
<classifier>features</classifier>
<type>xml</type>
</dependency>
+ <dependency>
+ <groupId>org.opendaylight.openflowplugin</groupId>
+ <artifactId>features-openflowplugin-extension</artifactId>
+ <version>${openflowplugin.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>features-test</artifactId>
xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
<repository>mvn:org.opendaylight.controller/features-nsf/${nsf.version}/xml/features</repository>
<repository>mvn:org.opendaylight.controller/features-adsal-compatibility/${odl.karaf.base.version}/xml/features</repository>
- <repository>mvn:org.opendaylight.ovsdb/features-openflow-nxm/${openflowplugin.version}/xml/features</repository>
+ <repository>mvn:org.opendaylight.openflowplugin/features-openflowplugin-extension/${openflowplugin.version}/xml/features</repository>
<repository>mvn:org.opendaylight.ovsdb/features-ovsdb/${ovsdb.library.version}/xml/features</repository>
<repository>mvn:org.opendaylight.sfc/features-sfc/0.1.0-SNAPSHOT/xml/features</repository>
description="OpenDaylight :: OVSDB :: OVS Service Function Chaining"
version='${ovsdb.ovssfc.version}'>
<feature version="${ovsdb.plugin.version}">odl-ovsdb-plugin</feature>
- <feature version="${openflowplugin.version}">odl-openflow-nxm-extensions</feature>
+ <feature version="${openflowplugin.version}">odl-openflowplugin-nxm-extensions</feature>
<feature version="${nsf.version}">odl-nsf-all</feature>
<feature version="${sal.version}">odl-adsal-compatibility</feature>
<feature version='0.1.0-SNAPSHOT'>odl-sfc-provider</feature>
<type>xml</type>
</dependency>
<dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>features-openflow-nxm</artifactId>
+ <groupId>org.opendaylight.openflowplugin</groupId>
+ <artifactId>features-openflowplugin</artifactId>
<version>${openflowplugin.version}</version>
<classifier>features</classifier>
<type>xml</type>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>features-openflowplugin</artifactId>
+ <artifactId>features-openflowplugin-extension</artifactId>
<version>${openflowplugin.version}</version>
<classifier>features</classifier>
<type>xml</type>
<repository>mvn:org.opendaylight.controller/features-adsal/${sal.version}/xml/features</repository>
<repository>mvn:org.opendaylight.controller/features-adsal-compatibility/${odl.karaf.base.version}/xml/features</repository>
<repository>mvn:org.opendaylight.controller/features-nsf/${nsf.version}/xml/features</repository>
- <repository>mvn:org.opendaylight.ovsdb/features-openflow-nxm/${openflowplugin.version}/xml/features</repository>
+ <repository>mvn:org.opendaylight.openflowplugin/features-openflowplugin-extension/${openflowplugin.version}/xml/features</repository>
<repository>mvn:org.opendaylight.openflowplugin/features-openflowplugin/${openflowplugin.version}/xml/features</repository>
<feature name="odl-ovsdb-openstack" description="OpenDaylight :: OVSDB :: OpenStack Network Virtualization" version='${openstack.netvirt.version}'>
<feature version="${ovsdb.plugin.version}">odl-ovsdb-plugin</feature>
- <feature version="${openflowplugin.version}">odl-openflow-nxm-extensions</feature>
+ <feature version="${openflowplugin.version}">odl-openflowplugin-nxm-extensions</feature>
<feature version="${openflowplugin.version}">odl-openflowplugin-southbound</feature>
<feature version="${openflowplugin.version}">odl-openflowplugin-flow-services</feature>
<feature version="${nsf.version}">odl-nsf-all</feature>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>commons</artifactId>
- <groupId>org.opendaylight.ovsdb</groupId>
- <version>1.3.0-SNAPSHOT</version>
- <relativePath>../../commons/parent/pom.xml</relativePath>
- </parent>
-
- <properties>
- <configfile>44-nicira-extension.xml</configfile>
- </properties>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.nicira-extension-config</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-artifacts</id>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/classes/${configfile}</file>
- <type>xml</type>
- <classifier>config</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!--
-Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<snapshot>
- <required-capabilities>
- <capability>urn:opendaylight:params:xml:ns:yang:openflowplugin:nx:config:impl?module=nicira-extension-impl&revision=2014-07-11</capability>
- <!-- openflowplugin -->
- <capability>urn:opendaylight:params:xml:ns:yang:openflow:common:config?module=openflow-provider&revision=2014-03-26</capability>
- </required-capabilities>
-
- <configuration>
-
- <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
- <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <module>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:openflowplugin:nx:config:impl">prefix:nicira-extension-provider-impl</type>
- <name>nicira-extension-provider-default-impl</name>
-
- <openflow-plugin-provider>
- <type xmlns:opfprov="urn:opendaylight:params:xml:ns:yang:openflow:common:config">opfprov:openflow-provider</type>
- <name>openflow-provider</name>
- </openflow-plugin-provider>
- </module>
- </modules>
- </data>
-
- </configuration>
-</snapshot>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>commons</artifactId>
- <groupId>org.opendaylight.ovsdb</groupId>
- <version>1.3.0-SNAPSHOT</version>
- <relativePath>../../commons/parent</relativePath>
- </parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>of-extension.nx-ofjava</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>bundle</packaging>
- <name>Opendaylight OVS NX for OpenflowJava Models</name>
-
- <dependencies>
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>config-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowjava</groupId>
- <artifactId>openflow-protocol-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowjava</groupId>
- <artifactId>openflow-protocol-spi</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowjava</groupId>
- <artifactId>util</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>openflowjava-extension-nicira-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>openflowjava-extension-nicira</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-buffer</artifactId>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>2.4.0</version>
- <extensions>true</extensions>
- </plugin>
- <plugin>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>yang-maven-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>generate-sources</goal>
- </goals>
- <configuration>
- <codeGenerators>
- <generator>
- <codeGeneratorClass>
- org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
- </codeGeneratorClass>
- <outputBaseDir>${project.build.directory}/generated-sources/config</outputBaseDir>
- <additionalConfiguration>
- <namespaceToPackage1>
- urn:opendaylight:params:xml:ns:yang:controller:config==org.opendaylight.controller.config.yang
- </namespaceToPackage1>
- </additionalConfiguration>
- </generator>
- <generator>
- <codeGeneratorClass>
- org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
- </codeGeneratorClass>
- <outputBaseDir>${project.build.directory}/generated-sources/sal</outputBaseDir>
- </generator>
- <generator>
- <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
- <outputBaseDir>${project.build.directory}/site/models</outputBaseDir>
- </generator>
- </codeGenerators>
- <inspectDependencies>true</inspectDependencies>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>yang-jmx-generator-plugin</artifactId>
- <version>${controller.config.version}</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>maven-sal-api-gen-plugin</artifactId>
- <version>${yangtools.version}</version>
- <type>jar</type>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
-</project>
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovs.nx.ofjava;
-import org.opendaylight.openflowjava.nx.api.NiciraExtensionCodecRegistrator;
-import org.opendaylight.ovs.nx.ofjava.codec.action.NiciraActionCodecs;
-import org.opendaylight.ovs.nx.ofjava.codec.action.ResubmitCodec;
-import org.opendaylight.ovs.nx.ofjava.codec.action.SetNsiCodec;
-import org.opendaylight.ovs.nx.ofjava.codec.action.SetNspCodec;
-import org.opendaylight.ovs.nx.ofjava.codec.action.MultipathCodec;
-import org.opendaylight.ovs.nx.ofjava.codec.match.NiciraMatchCodecs;
-import org.opendaylight.ovs.nx.ofjava.codec.match.NspCodec;
-import org.opendaylight.ovs.nx.ofjava.codec.match.NsiCodec;
-
-import com.google.common.base.Preconditions;
-
-public class NiciraExtensionsRegistrator implements AutoCloseable {
-
- private final NiciraExtensionCodecRegistrator registrator;
- public NiciraExtensionsRegistrator(NiciraExtensionCodecRegistrator registrator) {
- Preconditions.checkNotNull(registrator);
- this.registrator = registrator;
- }
-
- public void registerNiciraExtensions() {
- registrator.registerActionDeserializer(ResubmitCodec.RESUBMIT_DESERIALIZER_KEY, NiciraActionCodecs.RESUBMIT_CODEC);
- registrator.registerActionDeserializer(ResubmitCodec.RESUBMIT_TABLE_DESERIALIZER_KEY, NiciraActionCodecs.RESUBMIT_CODEC);
- registrator.registerActionSerializer(ResubmitCodec.SERIALIZER_KEY, NiciraActionCodecs.RESUBMIT_CODEC);
-
- registrator.registerActionDeserializer(SetNspCodec.DESERIALIZER_KEY, NiciraActionCodecs.SET_NSP_CODEC);
- registrator.registerActionSerializer(SetNspCodec.SERIALIZER_KEY, NiciraActionCodecs.SET_NSP_CODEC);
-
- registrator.registerActionDeserializer(SetNsiCodec.DESERIALIZER_KEY, NiciraActionCodecs.SET_NSI_CODEC);
- registrator.registerActionSerializer(SetNsiCodec.SERIALIZER_KEY, NiciraActionCodecs.SET_NSI_CODEC);
-
- registrator.registerActionDeserializer(MultipathCodec.DESERIALIZER_KEY, NiciraActionCodecs.MULTIPATH_CODEC);
- registrator.registerActionSerializer(MultipathCodec.SERIALIZER_KEY, NiciraActionCodecs.MULTIPATH_CODEC);
-
- registrator.registerMatchEntrySerializer(NspCodec.SERIALIZER_KEY, NiciraMatchCodecs.NSP_CODEC);
- registrator.registerMatchEntryDeserializer(NspCodec.DESERIALIZER_KEY, NiciraMatchCodecs.NSP_CODEC);
-
- registrator.registerMatchEntrySerializer(NsiCodec.SERIALIZER_KEY, NiciraMatchCodecs.NSI_CODEC);
- registrator.registerMatchEntryDeserializer(NsiCodec.DESERIALIZER_KEY, NiciraMatchCodecs.NSI_CODEC);
-
- }
-
- public void unregisterExtensions() {
- registrator.unregisterActionDeserializer(ResubmitCodec.RESUBMIT_DESERIALIZER_KEY);
- registrator.unregisterActionDeserializer(ResubmitCodec.RESUBMIT_TABLE_DESERIALIZER_KEY);
- registrator.unregisterActionSerializer(ResubmitCodec.SERIALIZER_KEY);
- registrator.unregisterActionDeserializer(SetNsiCodec.DESERIALIZER_KEY);
- registrator.unregisterActionSerializer(SetNsiCodec.SERIALIZER_KEY);
- registrator.unregisterActionDeserializer(SetNspCodec.DESERIALIZER_KEY);
- registrator.unregisterActionSerializer(SetNspCodec.SERIALIZER_KEY);
- registrator.unregisterActionDeserializer(MultipathCodec.DESERIALIZER_KEY);
- registrator.unregisterActionSerializer(MultipathCodec.SERIALIZER_KEY);
-
- registrator.unregisterMatchEntrySerializer(NspCodec.SERIALIZER_KEY);
- registrator.unregisterMatchEntryDeserializer(NspCodec.DESERIALIZER_KEY);
- registrator.unregisterMatchEntrySerializer(NsiCodec.SERIALIZER_KEY);
- registrator.unregisterMatchEntryDeserializer(NsiCodec.DESERIALIZER_KEY);
- }
-
- @Override
- public void close() throws Exception {
- unregisterExtensions();
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 SDN Hub, LLC.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Srini Seetharaman
- */
-
-package org.opendaylight.ovs.nx.ofjava.codec.action;
-
-import io.netty.buffer.ByteBuf;
-
-import org.opendaylight.openflowjava.nx.api.NiciraActionDeserializerKey;
-import org.opendaylight.openflowjava.nx.api.NiciraActionSerializerKey;
-import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterIdAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder;
-import org.opendaylight.openflowjava.nx.codec.action.AbstractActionCodec;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.NxmNxMultipath;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjNxMpAlgorithm;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjNxHashFields;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.multipath.grouping.ActionMultipath;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.multipath.grouping.ActionMultipathBuilder;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Codec for the NX_MULTIPATH
- */
-public class MultipathCodec extends AbstractActionCodec {
- private static final Logger logger = LoggerFactory.getLogger(MultipathCodec.class);
-
- public static final int LENGTH = 32;
- public static final byte NXAST_MULTIPATH_SUBTYPE = 10;
- public static final NiciraActionSerializerKey SERIALIZER_KEY =
- new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, NxmNxMultipath.class);
- public static final NiciraActionDeserializerKey DESERIALIZER_KEY =
- new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_MULTIPATH_SUBTYPE);
-
- @Override
- public void serialize(Action input, ByteBuf outBuffer) {
- ActionMultipath action = input.getAugmentation(OfjAugNxAction.class).getActionMultipath();
- serializeHeader(LENGTH, NXAST_MULTIPATH_SUBTYPE, outBuffer);
-
- outBuffer.writeShort(action.getFields().getIntValue());
- outBuffer.writeShort(action.getBasis().shortValue());
- outBuffer.writeZero(2);
-
- outBuffer.writeShort(action.getAlgorithm().getIntValue());
- outBuffer.writeShort(action.getMaxLink().shortValue());
- outBuffer.writeInt(action.getArg().intValue());
- outBuffer.writeZero(2);
-
- outBuffer.writeShort(action.getOfsNbits().shortValue());
- outBuffer.writeInt(action.getDst().intValue());
- }
-
- @Override
- public Action deserialize(ByteBuf message) {
- ActionBuilder actionBuilder = deserializeHeader(message);
- ActionMultipathBuilder builder = new ActionMultipathBuilder();
- builder.setFields(OfjNxHashFields.forValue(message.readUnsignedShort()));
- builder.setBasis(message.readUnsignedShort());
- message.skipBytes(2); //two bytes
-
- builder.setAlgorithm(OfjNxMpAlgorithm.forValue(message.readUnsignedShort()));
- builder.setMaxLink(message.readUnsignedShort());
- builder.setArg(message.readUnsignedInt());
- message.skipBytes(2); //two bytes
-
- builder.setOfsNbits(message.readUnsignedShort());
- builder.setDst(message.readUnsignedInt());
-
- OfjAugNxActionBuilder augNxActionBuilder = new OfjAugNxActionBuilder();
- augNxActionBuilder.setActionMultipath(builder.build());
- actionBuilder.addAugmentation(ExperimenterIdAction.class,
- createExperimenterIdAction(NxmNxMultipath.class));
- actionBuilder.addAugmentation(OfjAugNxAction.class, augNxActionBuilder.build());
- return actionBuilder.build();
- }
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovs.nx.ofjava.codec.action;
-public class NiciraActionCodecs {
- public static final ResubmitCodec RESUBMIT_CODEC = new ResubmitCodec();
- public static final SetNspCodec SET_NSP_CODEC = new SetNspCodec();
- public static final SetNsiCodec SET_NSI_CODEC = new SetNsiCodec();
- public static final MultipathCodec MULTIPATH_CODEC = new MultipathCodec();
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-
-package org.opendaylight.ovs.nx.ofjava.codec.action;
-
-import io.netty.buffer.ByteBuf;
-
-import org.opendaylight.openflowjava.nx.api.NiciraActionDeserializerKey;
-import org.opendaylight.openflowjava.nx.api.NiciraActionSerializerKey;
-import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterIdAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder;
-import org.opendaylight.openflowjava.nx.codec.action.AbstractActionCodec;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.NxmNxResubmit;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.resubmit.grouping.ActionResubmit;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.resubmit.grouping.ActionResubmitBuilder;
-
-/**
- * Codec for the NX_RESUBMIT and NX_RESUBMIT_TABLE
- */
-public class ResubmitCodec extends AbstractActionCodec {
- public static final int LENGTH = 16;
- public static final byte NXAST_RESUBMIT_SUBTYPE = 1;
- public static final byte NXAST_RESUBMIT_TABLE_SUBTYPE = 14;
- public static final NiciraActionSerializerKey SERIALIZER_KEY =
- new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, NxmNxResubmit.class);
- public static final NiciraActionDeserializerKey RESUBMIT_DESERIALIZER_KEY =
- new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_RESUBMIT_SUBTYPE);
- public static final NiciraActionDeserializerKey RESUBMIT_TABLE_DESERIALIZER_KEY =
- new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_RESUBMIT_TABLE_SUBTYPE);
-
- private static final byte OFP_TABLE_ALL = (byte)255;
- private static final short OFP_IN_PORT = (short)0xfff8;
- private static final int padding = 3; // nx_action_resubmit : uint8_t pad[3];
-
- public byte getSubType(ActionResubmit action) {
- if ((action.getTable() == null) || (action.getTable().byteValue() == OFP_TABLE_ALL)) return NXAST_RESUBMIT_SUBTYPE;
- return NXAST_RESUBMIT_TABLE_SUBTYPE;
- }
-
- @Override
- public void serialize(Action input, ByteBuf outBuffer) {
- byte table = OFP_TABLE_ALL;
- short inPort = OFP_IN_PORT;
-
- ActionResubmit action = input.getAugmentation(OfjAugNxAction.class).getActionResubmit();
- serializeHeader(LENGTH, getSubType(action), outBuffer);
-
- if (action.getInPort() != null) inPort = action.getInPort().shortValue();
- if (action.getTable() != null) table = action.getTable().byteValue();
- outBuffer.writeShort(inPort);
- outBuffer.writeByte(table);
- outBuffer.writeZero(padding);
- }
-
- @Override
- public Action deserialize(ByteBuf message) {
- ActionBuilder actionBuilder = deserializeHeader(message);
- ActionResubmitBuilder builder = new ActionResubmitBuilder();
- builder.setInPort(message.readUnsignedShort());
- builder.setTable(message.readUnsignedByte());
- message.skipBytes(padding);
- OfjAugNxActionBuilder augNxActionBuilder = new OfjAugNxActionBuilder();
- augNxActionBuilder.setActionResubmit(builder.build());
- actionBuilder.addAugmentation(ExperimenterIdAction.class,
- createExperimenterIdAction(NxmNxResubmit.class));
- actionBuilder.addAugmentation(OfjAugNxAction.class, augNxActionBuilder.build());
- return actionBuilder.build();
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-
-package org.opendaylight.ovs.nx.ofjava.codec.action;
-
-import io.netty.buffer.ByteBuf;
-
-import org.opendaylight.openflowjava.nx.api.NiciraActionDeserializerKey;
-import org.opendaylight.openflowjava.nx.api.NiciraActionSerializerKey;
-import org.opendaylight.openflowjava.nx.codec.action.AbstractActionCodec;
-import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterIdAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.NxmNxSetNsi;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.set.nsi.grouping.ActionSetNsi;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.set.nsi.grouping.ActionSetNsiBuilder;
-
-/**
- * Codec for the NX_SetNsi and NX_SetNsi_TABLE
- */
-public class SetNsiCodec extends AbstractActionCodec {
- public static final int LENGTH = 16;
- public static final byte NXAST_SET_NSI_SUBTYPE = 33;
- public static final NiciraActionSerializerKey SERIALIZER_KEY =
- new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, NxmNxSetNsi.class);
- public static final NiciraActionDeserializerKey DESERIALIZER_KEY =
- new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_SET_NSI_SUBTYPE);
- private static final int padding = 5; // nx_action_SetNsi : uint8_t pad[3];
-
- @Override
- public void serialize(Action input, ByteBuf outBuffer) {
- ActionSetNsi action = input.getAugmentation(OfjAugNxAction.class).getActionSetNsi();
- serializeHeader(LENGTH, NXAST_SET_NSI_SUBTYPE, outBuffer);
- outBuffer.writeByte(action.getNsi().byteValue());
- outBuffer.writeZero(padding);
- }
-
- @Override
- public Action deserialize(ByteBuf message) {
- ActionBuilder actionBuilder = deserializeHeader(message);
- ActionSetNsiBuilder builder = new ActionSetNsiBuilder();
- builder.setNsi(message.readUnsignedByte());
- message.skipBytes(padding);
-
- OfjAugNxActionBuilder augNxActionBuilder = new OfjAugNxActionBuilder();
- augNxActionBuilder.setActionSetNsi(builder.build());
- actionBuilder.addAugmentation(ExperimenterIdAction.class,
- createExperimenterIdAction(NxmNxSetNsi.class));
- actionBuilder.addAugmentation(OfjAugNxAction.class, augNxActionBuilder.build());
- return actionBuilder.build();
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-
-package org.opendaylight.ovs.nx.ofjava.codec.action;
-
-import io.netty.buffer.ByteBuf;
-
-import org.opendaylight.openflowjava.nx.api.NiciraActionDeserializerKey;
-import org.opendaylight.openflowjava.nx.api.NiciraActionSerializerKey;
-import org.opendaylight.openflowjava.nx.codec.action.AbstractActionCodec;
-import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterIdAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.NxmNxSetNsp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.set.nsp.grouping.ActionSetNsp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.set.nsp.grouping.ActionSetNspBuilder;
-
-/**
- * Codec for the NX_SetNsp and NX_SetNsp_TABLE
- */
-public class SetNspCodec extends AbstractActionCodec {
- public static final int LENGTH = 16;
- public static final byte NXAST_SET_NSP_SUBTYPE = 32;
- public static final NiciraActionSerializerKey SERIALIZER_KEY =
- new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, NxmNxSetNsp.class);
- public static final NiciraActionDeserializerKey DESERIALIZER_KEY =
- new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_SET_NSP_SUBTYPE);
- private static final int padding = 2; // nx_action_SetNsp : uint8_t pad[3];
-
- @Override
- public void serialize(Action input, ByteBuf outBuffer) {
- ActionSetNsp action = input.getAugmentation(OfjAugNxAction.class).getActionSetNsp();
- serializeHeader(LENGTH, NXAST_SET_NSP_SUBTYPE, outBuffer);
- outBuffer.writeZero(padding);
- outBuffer.writeInt(action.getNsp().intValue());
- }
-
- @Override
- public Action deserialize(ByteBuf message) {
- ActionBuilder actionBuilder = deserializeHeader(message);
- ActionSetNspBuilder builder = new ActionSetNspBuilder();
- message.skipBytes(padding);
- builder.setNsp(message.readUnsignedInt());
-
- OfjAugNxActionBuilder augNxActionBuilder = new OfjAugNxActionBuilder();
- augNxActionBuilder.setActionSetNsp(builder.build());
- actionBuilder.addAugmentation(ExperimenterIdAction.class,
- createExperimenterIdAction(NxmNxSetNsp.class));
- actionBuilder.addAugmentation(OfjAugNxAction.class, augNxActionBuilder.build());
- return actionBuilder.build();
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovs.nx.ofjava.codec.match;
-public class NiciraMatchCodecs {
- public static final NspCodec NSP_CODEC = new NspCodec();
- public static final NsiCodec NSI_CODEC = new NsiCodec();
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-
-package org.opendaylight.ovs.nx.ofjava.codec.match;
-import io.netty.buffer.ByteBuf;
-
-import org.opendaylight.openflowjava.nx.codec.match.AbstractMatchCodec;
-import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey;
-import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey;
-import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MatchField;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Nxm1Class;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OxmClassBase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntries;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntriesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.NxmNxNsi;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.OfjAugNxMatch;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.OfjAugNxMatchBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.ofj.nxm.nx.match.nsi.grouping.NsiValuesBuilder;
-
-public class NsiCodec extends AbstractMatchCodec {
-
- private static final int VALUE_LENGTH = 1;
- private static final int NXM_FIELD_CODE = 38;
- public static final MatchEntrySerializerKey<Nxm1Class, NxmNxNsi> SERIALIZER_KEY = new MatchEntrySerializerKey<>(
- EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNsi.class);
- public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey(
- EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, NXM_FIELD_CODE);
-
- @Override
- public void serialize(MatchEntries input, ByteBuf outBuffer) {
- serializeHeader(input, outBuffer);
- Short nsi = input.getAugmentation(OfjAugNxMatch.class).getNsiValues().getNsi();
- outBuffer.writeByte(nsi.byteValue());
- }
-
- @Override
- public MatchEntries deserialize(ByteBuf message) {
- MatchEntriesBuilder matchEntriesBuilder = deserializeHeader(message);
- OfjAugNxMatchBuilder augNxMatchBuilder = new OfjAugNxMatchBuilder();
- augNxMatchBuilder.setNsiValues(new NsiValuesBuilder().setNsi(message.readUnsignedByte()).build());
- matchEntriesBuilder.addAugmentation(OfjAugNxMatch.class, augNxMatchBuilder.build());
- return matchEntriesBuilder.build();
- }
-
- @Override
- public int getNxmFieldCode() {
- return NXM_FIELD_CODE;
- }
-
- @Override
- public int getOxmClassCode() {
- return OxmMatchConstants.NXM_1_CLASS;
- }
-
- @Override
- public int getValueLength() {
- return VALUE_LENGTH;
- }
-
- @Override
- public Class<? extends MatchField> getNxmField() {
- return NxmNxNsi.class;
- }
-
- @Override
- public Class<? extends OxmClassBase> getOxmClass() {
- return Nxm1Class.class;
- }
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-
-package org.opendaylight.ovs.nx.ofjava.codec.match;
-import io.netty.buffer.ByteBuf;
-
-import org.opendaylight.openflowjava.nx.codec.match.AbstractMatchCodec;
-import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey;
-import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey;
-import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MatchField;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Nxm1Class;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OxmClassBase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntries;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntriesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.NxmNxNsp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.OfjAugNxMatch;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.OfjAugNxMatchBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.ofj.nxm.nx.match.nsp.grouping.NspValuesBuilder;
-
-public class NspCodec extends AbstractMatchCodec {
-
- private static final int VALUE_LENGTH = 4;
- private static final int NXM_FIELD_CODE = 37;
- public static final MatchEntrySerializerKey<Nxm1Class, NxmNxNsp> SERIALIZER_KEY = new MatchEntrySerializerKey<>(
- EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNsp.class);
- public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey(
- EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, NXM_FIELD_CODE);
-
- @Override
- public void serialize(MatchEntries input, ByteBuf outBuffer) {
- serializeHeader(input, outBuffer);
- Long nsp = input.getAugmentation(OfjAugNxMatch.class).getNspValues().getNsp();
- outBuffer.writeInt(nsp.intValue());
- }
-
- @Override
- public MatchEntries deserialize(ByteBuf message) {
- MatchEntriesBuilder matchEntriesBuilder = deserializeHeader(message);
- OfjAugNxMatchBuilder augNxMatchBuilder = new OfjAugNxMatchBuilder();
- augNxMatchBuilder.setNspValues(new NspValuesBuilder().setNsp(message.readUnsignedInt()).build());
- matchEntriesBuilder.addAugmentation(OfjAugNxMatch.class, augNxMatchBuilder.build());
- return matchEntriesBuilder.build();
- }
-
- @Override
- public int getNxmFieldCode() {
- return NXM_FIELD_CODE;
- }
-
- @Override
- public int getOxmClassCode() {
- return OxmMatchConstants.NXM_1_CLASS;
- }
-
- @Override
- public int getValueLength() {
- return VALUE_LENGTH;
- }
-
- @Override
- public Class<? extends MatchField> getNxmField() {
- return NxmNxNsp.class;
- }
-
- @Override
- public Class<? extends OxmClassBase> getOxmClass() {
- return Nxm1Class.class;
- }
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.api.config.rev140711;
-
-import org.opendaylight.openflowjava.nx.api.impl.NiciraExtensionCodecRegistratorImpl;
-
-public class NiciraExtensionApiProviderModule extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.api.config.rev140711.AbstractNiciraExtensionApiProviderModule {
- public NiciraExtensionApiProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
- super(identifier, dependencyResolver);
- }
-
- public NiciraExtensionApiProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.api.config.rev140711.NiciraExtensionApiProviderModule oldModule, java.lang.AutoCloseable oldInstance) {
- super(identifier, dependencyResolver, oldModule, oldInstance);
- }
-
- @Override
- public void customValidation() {
- // add custom validation form module attributes here.
- }
-
- @Override
- public java.lang.AutoCloseable createInstance() {
- return new NiciraExtensionCodecRegistratorImpl(getOpenflowSwitchConnectionProviderDependency());
-
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-/*
-* Generated file
-*
-* Generated from: yang module name: ovs-nx-api-config yang module local name: ovs-nx-api
-* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
-* Generated at: Sat Aug 09 23:38:15 PDT 2014
-*
-* Do not modify this file unless it is present under src/main directory
-*/
-package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.api.config.rev140711;
-public class NiciraExtensionApiProviderModuleFactory extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.api.config.rev140711.AbstractNiciraExtensionApiProviderModuleFactory {
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.config.rev140711;
-
-import org.opendaylight.ovs.nx.ofjava.NiciraExtensionsRegistrator;
-
-public class NiciraExtensionProviderModule extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.config.rev140711.AbstractNiciraExtensionProviderModule {
- public NiciraExtensionProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
- super(identifier, dependencyResolver);
- }
-
- public NiciraExtensionProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.config.rev140711.NiciraExtensionProviderModule oldModule, java.lang.AutoCloseable oldInstance) {
- super(identifier, dependencyResolver, oldModule, oldInstance);
- }
-
- @Override
- public void customValidation() {
- // add custom validation form module attributes here.
- }
-
- @Override
- public java.lang.AutoCloseable createInstance() {
- NiciraExtensionsRegistrator registrator = new NiciraExtensionsRegistrator(getNxCodecRegistratorDependency());
- registrator.registerNiciraExtensions();
- return registrator;
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-/*
-* Generated file
-*
-* Generated from: yang module name: ovs-nx-config yang module local name: ovs-nx
-* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
-* Generated at: Sat Aug 09 23:54:31 PDT 2014
-*
-* Do not modify this file unless it is present under src/main directory
-*/
-package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.config.rev140711;
-public class NiciraExtensionProviderModuleFactory extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.config.rev140711.AbstractNiciraExtensionProviderModuleFactory {
-
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<snapshot>
- <required-capabilities>
- <capability>urn:opendaylight:params:xml:ns:yang:ovs:nx:api:config?module=ovs-nx-api-config&revision=2014-07-11</capability>
- </required-capabilities>
-
- <configuration>
-
- <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
- <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <module>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:ovs:nx:api:config">prefix:ovs-nx-api</type>
- <name>ovs-nx-api-bundle</name>
- <openflow-switch-connection-provider>
- <type xmlns:ofSwitch="urn:opendaylight:params:xml:ns:yang:openflow:switch:connection:provider">ofSwitch:openflow-switch-connection-provider</type>
- <name>openflow-switch-connection-provider-legacy</name>
- </openflow-switch-connection-provider>
- <openflow-switch-connection-provider>
- <type xmlns:ofSwitch="urn:opendaylight:params:xml:ns:yang:openflow:switch:connection:provider">ofSwitch:openflow-switch-connection-provider</type>
- <name>openflow-switch-connection-provider-default</name>
- </openflow-switch-connection-provider>
- </module>
- </modules>
-
- <services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <service>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:ovs:nx:api:config">prefix:nx-codec-registrator</type>
- <instance>
- <name>ovs-nx-registrator</name>
- <provider>/modules/module[type='ovs-nx-api'][name='ovs-nx-api-bundle']</provider>
- </instance>
- </service>
- </services>
- </data>
-
- </configuration>
-</snapshot>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<snapshot>
- <required-capabilities>
- <capability>urn:opendaylight:params:xml:ns:yang:ovs:nx:config?module=ovs-nx-config&revision=2014-07-11</capability>
- </required-capabilities>
-
- <configuration>
-
- <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
- <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <module>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:ovs:nx:config">prefix:ovs-nx</type>
- <name>ovs-nx-bundle</name>
- <nx-codec-registrator>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:ovs:nx:api:config">prefix:nx-codec-registrator</type>
- <name>ovs-nx-registrator</name>
- </nx-codec-registrator>
- </module>
- </modules>
- </data>
-
- </configuration>
-</snapshot>
+++ /dev/null
-module ovs-nx-action {
- yang-version 1;
-
- namespace "urn:opendaylight:ovs:nx:action";
- prefix "nx-action";
-
- import openflow-action {prefix ofaction;}
- import openflow-types {prefix oft;}
- import yang-ext {prefix ext; revision-date "2013-07-09";}
-
- description
- "Nicira openflow action extensions";
-
- revision "2014-04-21" {
- description "Initial revision";
- }
-
- identity nxm-nx-resubmit {
- base ofaction:experimenter-action-sub-type;
- }
-
- identity nxm-nx-set-nsp {
- base ofaction:experimenter-action-sub-type;
- }
-
- identity nxm-nx-set-nsi {
- base ofaction:experimenter-action-sub-type;
- }
-
- identity nxm-nx-multipath {
- base ofaction:experimenter-action-sub-type;
- }
-
- grouping ofj-nx-action-resubmit-grouping {
- container action-resubmit {
- leaf in-port {
- type uint16;
- default 0xfff8; // OFPP_INPORT
- }
- leaf table {
- type uint8 {
- range "0 .. 255";
- }
- default 255; // Current Table
- }
- }
- }
-
- grouping ofj-nx-action-set-nsp-grouping {
- container action-set-nsp {
- leaf nsp {
- type uint32;
- }
- }
- }
-
- grouping ofj-nx-action-set-nsi-grouping {
- container action-set-nsi {
- leaf nsi {
- type uint8;
- }
- }
- }
-
- typedef ofj-nx-hash-fields {
- type enumeration {
- enum NX_HASH_FIELDS_ETH_SRC {
- value 0;
- description "eth src address only";
- }
- enum NX_HASH_FIELDS_SYMMETRIC_L4 {
- value 1;
- description "L2 through L4 fields";
- }
- }
- }
-
- typedef ofj-nx-mp-algorithm {
- type enumeration {
- enum NX_MP_ALG_MODULO_N {
- value 0;
- }
- enum NX_MP_ALG_HASH_THRESHOLD {
- value 1;
- }
- enum NX_MP_ALG_HRW {
- value 2;
- }
- enum NX_MP_ALG_ITER_HASH {
- value 3;
- }
- }
- }
-
- grouping ofj-nx-action-multipath-grouping {
- container action-multipath {
- leaf fields {
- type ofj-nx-hash-fields;
- }
- leaf basis {
- type uint16;
- default 0x400;
- }
- leaf algorithm {
- type ofj-nx-mp-algorithm;
- }
- leaf max-link {
- type uint16;
- }
- leaf arg {
- type uint32;
- }
- leaf ofs-nbits {
- type uint16;
- }
- leaf dst {
- type uint32;
- }
- }
- }
-
- augment "/ofaction:actions-container/ofaction:action" {
- ext:augment-identifier "ofj-aug-nx-action";
- uses ofj-nx-action-resubmit-grouping;
- uses ofj-nx-action-set-nsp-grouping;
- uses ofj-nx-action-set-nsi-grouping;
- uses ofj-nx-action-multipath-grouping;
- }
-}
+++ /dev/null
-module ovs-nx-api-config {
- yang-version 1;
- namespace "urn:opendaylight:params:xml:ns:yang:ovs:nx:api:config";
- prefix "ovs-nx-api";
-
- import config {prefix config; revision-date 2013-04-05;}
- import openflow-switch-connection-provider {prefix openflow-switch-connection-provider;revision-date 2014-03-28;}
-
- description
- "Nicira extensions API in openflow library.";
-
- revision "2014-07-11" {
- description
- "Initial revision";
- }
-
- identity ovs-nx-api {
- base config:module-type;
- config:provided-service nx-codec-registrator;
- config:java-name-prefix NiciraExtensionApiProvider;
- }
-
- identity nx-codec-registrator {
- base config:service-type;
- config:java-class "org.opendaylight.openflowjava.nx.api.NiciraExtensionCodecRegistrator";
- }
-
- augment "/config:modules/config:module/config:configuration" {
- case ovs-nx-api {
- when "/config:modules/config:module/config:type = 'ovs-nx-api'";
-
- list openflow-switch-connection-provider {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity openflow-switch-connection-provider:openflow-switch-connection-provider;
- }
- }
- }
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-module ovs-nx-config {
- yang-version 1;
- namespace "urn:opendaylight:params:xml:ns:yang:ovs:nx:config";
- prefix "ovs-nx";
-
- import config {prefix config; revision-date 2013-04-05;}
- import ovs-nx-api-config {prefix ovs-nx-api-config;revision-date 2014-07-11;}
-
- description
- "Nicira extensions in openflow library.";
-
- revision "2014-07-11" {
- description
- "Initial revision";
- }
-
- identity ovs-nx {
- base config:module-type;
- config:java-name-prefix NiciraExtensionProvider;
- }
-
- augment "/config:modules/config:module/config:configuration" {
- case ovs-nx {
- when "/config:modules/config:module/config:type = 'ovs-nx'";
-
- container nx-codec-registrator {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity ovs-nx-api-config:nx-codec-registrator;
- }
- }
- }
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-module ovs-nx-match {
- yang-version 1;
-
- namespace "urn:opendaylight:ovs:nx:match";
- prefix "ovs-nx-match";
-
- import openflow-extensible-match {prefix ofoxm;}
- import openflow-types {prefix oft;}
- import ietf-yang-types {prefix yang; revision-date "2010-09-24";}
- import yang-ext {prefix ext; revision-date "2013-07-09";}
-
- description
- "OVS Openflow NX match extensions";
-
- revision "2014-04-21" {
- description "Initial revision";
- }
-
- identity nxm-nx-nsp {
- base ofoxm:match-field;
- }
-
- identity nxm-nx-nsi {
- base ofoxm:match-field;
- }
-
- grouping ofj-nxm-nx-match-nsp-grouping {
- container nsp-values {
- leaf nsp {
- type uint32;
- }
- }
- }
-
- grouping ofj-nxm-nx-match-nsi-grouping {
- container nsi-values {
- leaf nsi {
- type uint8;
- }
- }
- }
-
- augment "/ofoxm:oxm-container/ofoxm:match-entries" {
- ext:augment-identifier "ofj-aug_nx_match";
- uses ofj-nxm-nx-match-nsp-grouping;
- uses ofj-nxm-nx-match-nsi-grouping;
- }
-}
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Sam Hague
- */
-package org.opendaylight.ovs.nx.ofjava;
-
-import static org.junit.Assert.assertTrue;
-import org.junit.Test;
-
-public class NiciraExtensionsRegistratorTest {
-
- @Test
- public void testRegisterNiciraExtensions () {
- assertTrue(true);
- }
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>commons</artifactId>
- <groupId>org.opendaylight.ovsdb</groupId>
- <version>1.3.0-SNAPSHOT</version>
- <relativePath>../../commons/parent/pom.xml</relativePath>
- </parent>
-
- <artifactId>of-extension.nx-sal-config</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <properties>
- <configfile>52-ovs-nx-sal-config.xml</configfile>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-artifacts</id>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/classes/${configfile}</file>
- <type>xml</type>
- <classifier>config</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<snapshot>
- <required-capabilities>
- <capability>urn:opendaylight:params:xml:ns:yang:ovs:nx:sal:config:impl?module=ovs-nx-sal-cfg-impl&revision=2014-07-11</capability>
- <!-- openflowplugin -->
- <capability>urn:opendaylight:params:xml:ns:yang:openflow:common:config?module=openflow-provider&revision=2014-03-26</capability>
- </required-capabilities>
-
- <configuration>
-
- <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
- <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <module>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:ovs:nx:sal:config:impl">prefix:ovs-nx-sal-provider-impl</type>
- <name>ovs-nx-sal-provider-default-impl</name>
-
- <openflow-plugin-provider>
- <type xmlns:opfprov="urn:opendaylight:params:xml:ns:yang:openflow:common:config">opfprov:openflow-provider</type>
- <name>openflow-provider</name>
- </openflow-plugin-provider>
- </module>
- </modules>
- </data>
-
- </configuration>
-</snapshot>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>commons</artifactId>
- <groupId>org.opendaylight.ovsdb</groupId>
- <version>1.3.0-SNAPSHOT</version>
- <relativePath>../../commons/parent</relativePath>
- </parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>of-extension.nx-sal</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>bundle</packaging>
- <name>Opendaylight OVS NX Extensions for SAL Flow Models</name>
-
- <dependencies>
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>openflowjava-extension-nicira</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>openflowjava-extension-nicira-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>openflowplugin-extension-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>openflowplugin-extension-nicira</artifactId>
- </dependency>
- <dependency>
- <!-- configSubsystem yang should be moved to API and this would be doomed for removal -->
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>openflowplugin</artifactId>
- </dependency>
-
- <!-- MD-SAL models -->
- <dependency>
- <groupId>org.opendaylight.controller.model</groupId>
- <artifactId>model-flow-base</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.controller.model</groupId>
- <artifactId>model-flow-service</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.controller.model</groupId>
- <artifactId>model-flow-statistics</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.controller.model</groupId>
- <artifactId>model-inventory</artifactId>
- </dependency>
-
- <!-- OpenFlowJava-API models -->
- <dependency>
- <groupId>org.opendaylight.openflowjava</groupId>
- <artifactId>openflow-protocol-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowjava</groupId>
- <artifactId>openflow-protocol-impl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.nx-ofjava</artifactId>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>2.4.0</version>
- <extensions>true</extensions>
- </plugin>
- <plugin>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>yang-maven-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>generate-sources</goal>
- </goals>
- <configuration>
- <codeGenerators>
- <generator>
- <codeGeneratorClass>
- org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
- </codeGeneratorClass>
- <outputBaseDir>${project.build.directory}/generated-sources/config</outputBaseDir>
- <additionalConfiguration>
- <namespaceToPackage1>
- urn:opendaylight:params:xml:ns:yang:controller:config==org.opendaylight.controller.config.yang
- </namespaceToPackage1>
- </additionalConfiguration>
- </generator>
- <generator>
- <codeGeneratorClass>
- org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
- </codeGeneratorClass>
- <outputBaseDir>${project.build.directory}/generated-sources/sal</outputBaseDir>
- </generator>
- <generator>
- <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
- <outputBaseDir>${project.build.directory}/site/models</outputBaseDir>
- </generator>
- </codeGenerators>
- <inspectDependencies>true</inspectDependencies>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>yang-jmx-generator-plugin</artifactId>
- <version>${controller.config.version}</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>maven-sal-api-gen-plugin</artifactId>
- <version>${yangtools.version}</version>
- <type>jar</type>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-</project>
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovs.nx.sal;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.opendaylight.openflowjava.nx.api.NiciraUtil;
-import org.opendaylight.ovs.nx.sal.convertor.action.ResubmitConvertor;
-import org.opendaylight.ovs.nx.sal.convertor.action.SetNsiConvertor;
-import org.opendaylight.ovs.nx.sal.convertor.action.SetNspConvertor;
-import org.opendaylight.ovs.nx.sal.convertor.action.MultipathConvertor;
-import org.opendaylight.ovs.nx.sal.convertor.match.NspConvertor;
-import org.opendaylight.ovs.nx.sal.convertor.match.NsiConvertor;
-import org.opendaylight.ovs.nx.ofjava.codec.action.ResubmitCodec;
-import org.opendaylight.ovs.nx.ofjava.codec.action.SetNsiCodec;
-import org.opendaylight.ovs.nx.ofjava.codec.action.SetNspCodec;
-import org.opendaylight.ovs.nx.ofjava.codec.action.MultipathCodec;
-import org.opendaylight.ovs.nx.ofjava.codec.match.NspCodec;
-import org.opendaylight.ovs.nx.ofjava.codec.match.NsiCodec;
-import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-import org.opendaylight.openflowplugin.extension.api.ConverterExtensionKey;
-import org.opendaylight.openflowplugin.extension.api.ConvertorActionToOFJava;
-import org.opendaylight.openflowplugin.extension.api.ExtensionConverterRegistrator;
-import org.opendaylight.openflowplugin.extension.api.TypeVersionKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionResubmitRpcAddFlowApplyActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionResubmitRpcAddFlowWriteActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionResubmitRpcAddGroupCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionResubmitNodesNodeGroupBucketsBucketActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionResubmitNodesNodeTableFlowApplyActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionResubmitNodesNodeTableFlowWriteActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionResubmitRpcRemoveGroupCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionResubmitRpcUpdateGroupOriginalCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionResubmitRpcUpdateGroupUpdatedCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNspRpcAddFlowApplyActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNspRpcAddFlowWriteActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionSetNspRpcAddGroupCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionSetNspNodesNodeGroupBucketsBucketActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNspNodesNodeTableFlowApplyActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNspNodesNodeTableFlowWriteActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionSetNspRpcRemoveGroupCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionSetNspRpcUpdateGroupOriginalCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionSetNspRpcUpdateGroupUpdatedCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNsiRpcAddFlowApplyActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNsiRpcAddFlowWriteActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionSetNsiRpcAddGroupCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionSetNsiNodesNodeGroupBucketsBucketActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNsiNodesNodeTableFlowApplyActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNsiNodesNodeTableFlowWriteActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionSetNsiRpcRemoveGroupCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionSetNsiRpcUpdateGroupOriginalCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionSetNsiRpcUpdateGroupUpdatedCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionMultipathRpcAddFlowApplyActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionMultipathRpcAddFlowWriteActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionMultipathRpcAddGroupCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionMultipathNodesNodeGroupBucketsBucketActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionMultipathNodesNodeTableFlowApplyActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionMultipathNodesNodeTableFlowWriteActionsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionMultipathRpcRemoveGroupCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionMultipathRpcUpdateGroupOriginalCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionMultipathRpcUpdateGroupUpdatedCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxmNxNspKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxmNxNsiKey;
-import org.opendaylight.yangtools.concepts.ObjectRegistration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Preconditions;
-
-public class NiciraExtensionProvider implements AutoCloseable {
-
- private static final Logger LOG = LoggerFactory
- .getLogger(NiciraExtensionProvider.class);
-
- private ExtensionConverterRegistrator extensionConverterRegistrator;
- private Set<ObjectRegistration<?>> registrations;
-
- private final static ResubmitConvertor RESUBMIT_CONVERTOR = new ResubmitConvertor();
- private final static SetNspConvertor SET_NSP_CONVERTOR = new SetNspConvertor();
- private final static SetNsiConvertor SET_NSI_CONVERTOR = new SetNsiConvertor();
- private final static MultipathConvertor MULTIPATH_CONVERTOR = new MultipathConvertor();
- private final static NspConvertor NSP_CONVERTOR = new NspConvertor();
- private final static NsiConvertor NSI_CONVERTOR = new NsiConvertor();
-
- @Override
- public void close() {
- for (AutoCloseable janitor : registrations) {
- try {
- janitor.close();
- } catch (Exception e) {
- LOG.warn("closing of extension converter failed", e);
- }
- }
- extensionConverterRegistrator = null;
- }
-
- public void setExtensionConverterRegistrator(
- ExtensionConverterRegistrator extensionConverterRegistrator) {
- this.extensionConverterRegistrator = extensionConverterRegistrator;
- }
-
- public void registerConverters() {
- Preconditions.checkNotNull(extensionConverterRegistrator);
- registrations = new HashSet<>();
-
- registerAction13(NxActionResubmitNodesNodeTableFlowApplyActionsCase.class, RESUBMIT_CONVERTOR);
- registerAction13(NxActionResubmitNodesNodeTableFlowWriteActionsCase.class, RESUBMIT_CONVERTOR);
- registerAction13(NxActionResubmitNodesNodeGroupBucketsBucketActionsCase.class, RESUBMIT_CONVERTOR);
-
-
- registerAction13(NxActionResubmitRpcAddFlowApplyActionsCase.class, RESUBMIT_CONVERTOR);
- registerAction13(NxActionResubmitRpcAddFlowWriteActionsCase.class, RESUBMIT_CONVERTOR);
- registerAction13(NxActionResubmitRpcAddGroupCase.class, RESUBMIT_CONVERTOR);
- registerAction13(NxActionResubmitRpcRemoveGroupCase.class, RESUBMIT_CONVERTOR);
- registerAction13(NxActionResubmitRpcUpdateGroupOriginalCase.class, RESUBMIT_CONVERTOR);
- registerAction13(NxActionResubmitRpcUpdateGroupUpdatedCase.class, RESUBMIT_CONVERTOR);
-
- registerAction13(NxActionSetNspNodesNodeTableFlowApplyActionsCase.class, SET_NSP_CONVERTOR);
- registerAction13(NxActionSetNspNodesNodeTableFlowWriteActionsCase.class, SET_NSP_CONVERTOR);
- registerAction13(NxActionSetNspNodesNodeGroupBucketsBucketActionsCase.class, SET_NSP_CONVERTOR);
-
-
- registerAction13(NxActionSetNspRpcAddFlowApplyActionsCase.class, SET_NSP_CONVERTOR);
- registerAction13(NxActionSetNspRpcAddFlowWriteActionsCase.class, SET_NSP_CONVERTOR);
- registerAction13(NxActionSetNspRpcAddGroupCase.class, SET_NSP_CONVERTOR);
- registerAction13(NxActionSetNspRpcRemoveGroupCase.class, SET_NSP_CONVERTOR);
- registerAction13(NxActionSetNspRpcUpdateGroupOriginalCase.class, SET_NSP_CONVERTOR);
- registerAction13(NxActionSetNspRpcUpdateGroupUpdatedCase.class, SET_NSP_CONVERTOR);
-
-
- registerAction13(NxActionMultipathNodesNodeTableFlowApplyActionsCase.class, MULTIPATH_CONVERTOR);
- registerAction13(NxActionMultipathNodesNodeTableFlowWriteActionsCase.class, MULTIPATH_CONVERTOR);
- registerAction13(NxActionMultipathNodesNodeGroupBucketsBucketActionsCase.class, MULTIPATH_CONVERTOR);
-
-
- registerAction13(NxActionMultipathRpcAddFlowApplyActionsCase.class, MULTIPATH_CONVERTOR);
- registerAction13(NxActionMultipathRpcAddFlowWriteActionsCase.class, MULTIPATH_CONVERTOR);
- registerAction13(NxActionMultipathRpcAddGroupCase.class, MULTIPATH_CONVERTOR);
- registerAction13(NxActionMultipathRpcRemoveGroupCase.class, MULTIPATH_CONVERTOR);
- registerAction13(NxActionMultipathRpcUpdateGroupOriginalCase.class, MULTIPATH_CONVERTOR);
- registerAction13(NxActionMultipathRpcUpdateGroupUpdatedCase.class, MULTIPATH_CONVERTOR);
-
- registerAction13(NxActionSetNsiNodesNodeTableFlowApplyActionsCase.class, SET_NSI_CONVERTOR);
- registerAction13(NxActionSetNsiNodesNodeTableFlowWriteActionsCase.class, SET_NSI_CONVERTOR);
- registerAction13(NxActionSetNsiNodesNodeGroupBucketsBucketActionsCase.class, SET_NSI_CONVERTOR);
-
-
- registerAction13(NxActionSetNsiRpcAddFlowApplyActionsCase.class, SET_NSI_CONVERTOR);
- registerAction13(NxActionSetNsiRpcAddFlowWriteActionsCase.class, SET_NSI_CONVERTOR);
- registerAction13(NxActionSetNsiRpcAddGroupCase.class, SET_NSI_CONVERTOR);
- registerAction13(NxActionSetNsiRpcRemoveGroupCase.class, SET_NSI_CONVERTOR);
- registerAction13(NxActionSetNsiRpcUpdateGroupOriginalCase.class, SET_NSI_CONVERTOR);
- registerAction13(NxActionSetNsiRpcUpdateGroupUpdatedCase.class, SET_NSI_CONVERTOR);
-
- registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(ResubmitCodec.SERIALIZER_KEY), RESUBMIT_CONVERTOR));
- registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(SetNspCodec.SERIALIZER_KEY), SET_NSP_CONVERTOR));
- registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(SetNsiCodec.SERIALIZER_KEY), SET_NSI_CONVERTOR));
- registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(MultipathCodec.SERIALIZER_KEY), MULTIPATH_CONVERTOR));
-
- registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmNxNspKey.class, EncodeConstants.OF13_VERSION_ID), NSP_CONVERTOR));
- registrations.add(extensionConverterRegistrator.registerMatchConvertor(NspCodec.SERIALIZER_KEY, NSP_CONVERTOR));
- registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmNxNsiKey.class, EncodeConstants.OF13_VERSION_ID), NSI_CONVERTOR));
- registrations.add(extensionConverterRegistrator.registerMatchConvertor(NsiCodec.SERIALIZER_KEY, NSI_CONVERTOR));
-
- }
-
- private void registerAction13(
- Class<? extends Action> actionCaseType,
- ConvertorActionToOFJava<Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action> actionConvertor) {
- TypeVersionKey<? extends Action> key = new TypeVersionKey<>(actionCaseType, EncodeConstants.OF13_VERSION_ID);
- registrations.add(extensionConverterRegistrator.registerActionConvertor(key, actionConvertor));
- }
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovs.nx.sal.convertor.action;
-
-import org.opendaylight.openflowjava.nx.api.NiciraConstants;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterIdAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterIdActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.Experimenter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.ExperimenterActionSubType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ExperimenterId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxAction;
-
-public class ActionUtil {
-
- private final static ExperimenterIdActionBuilder EXPERIMENTER_ID_ACTION_BUILDER;
-
- static {
- EXPERIMENTER_ID_ACTION_BUILDER = new ExperimenterIdActionBuilder();
- EXPERIMENTER_ID_ACTION_BUILDER.setExperimenter(new ExperimenterId(NiciraConstants.NX_VENDOR_ID));
- }
-
- /**
- * @param augNxAction
- * @param subType
- * @return OFJava action with augmentation containing action subtype and experimenter type
- */
- public static Action createNiciraAction(OfjAugNxAction augNxAction,
- Class<? extends ExperimenterActionSubType> subType) {
- ActionBuilder actionBuilder = new ActionBuilder();
- actionBuilder.setType(Experimenter.class);
- actionBuilder.addAugmentation(ExperimenterIdAction.class, EXPERIMENTER_ID_ACTION_BUILDER.setSubType(subType)
- .build());
- actionBuilder.addAugmentation(OfjAugNxAction.class, augNxAction);
- return actionBuilder.build();
- }
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 SDN Hub, LLC.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Srini Seetharaman
- */
-package org.opendaylight.ovs.nx.sal.convertor.action;
-
-import org.opendaylight.openflowplugin.extension.api.ConvertorActionFromOFJava;
-import org.opendaylight.openflowplugin.extension.api.ConvertorActionToOFJava;
-import org.opendaylight.openflowplugin.extension.api.path.ActionPath;
-import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.NxmNxMultipath;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.multipath.grouping.ActionMultipath;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.multipath.grouping.ActionMultipathBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.NxActionMultipathGrouping;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionMultipathNotifFlowsStatisticsUpdateApplyActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionMultipathNotifFlowsStatisticsUpdateWriteActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionMultipathNotifGroupDescStatsUpdatedCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionMultipathNodesNodeTableFlowWriteActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.multipath.grouping.NxMultipath;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.multipath.grouping.NxMultipathBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.multipath.grouping.nx.multipath.Dst;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.multipath.grouping.nx.multipath.DstBuilder;
-import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.RegMoveConvertor;
-
-import com.google.common.base.Preconditions;
-
-public class MultipathConvertor implements
-ConvertorActionToOFJava<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, Action>,
-ConvertorActionFromOFJava<Action, ActionPath> {
-
- @Override
- public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(Action input, ActionPath path) {
- ActionMultipath action = input.getAugmentation(OfjAugNxAction.class).getActionMultipath();
- DstBuilder dstBuilder = new DstBuilder();
- dstBuilder.setDstChoice(RegMoveConvertor.resolveDst(action.getDst()));
- dstBuilder.setStart(resolveStart(action.getOfsNbits()));
- dstBuilder.setEnd(resolveEnd(action.getOfsNbits()));
- NxMultipathBuilder builder = new NxMultipathBuilder();
- builder.setBasis(action.getBasis());
- builder.setAlgorithm(action.getAlgorithm());
- builder.setMaxLink(action.getMaxLink());
- builder.setArg(action.getArg());
- builder.setDst(dstBuilder.build());
- return resolveAction(builder.build(), path);
- }
-
- private static int resolveStart(int ofsNBints) {
- return extractSub(ofsNBints, 10, 6);
- }
-
- private static int resolveEnd(int ofsNBints) {
- int ofs = extractSub(ofsNBints, 10, 6);
- int nBits = extractSub(ofsNBints, 6, 0);
- return ofs + nBits;
- }
-
- private static int extractSub(final int l, final int nrBits, final int offset) {
- final int rightShifted = l >>> offset;
- final int mask = (1 << nrBits) - 1;
- return rightShifted & mask;
- }
-
- private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxMultipath value, ActionPath path) {
- switch (path) {
- case NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION:
- return new NxActionMultipathNodesNodeTableFlowWriteActionsCaseBuilder().setNxMultipath(value).build();
- case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION:
- return new NxActionMultipathNotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxMultipath(value).build();
- case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION:
- return new NxActionMultipathNotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxMultipath(value).build();
- case GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION:
- return new NxActionMultipathNotifGroupDescStatsUpdatedCaseBuilder().setNxMultipath(value).build();
- default:
- throw new CodecPreconditionException(path);
- }
- }
-
- @Override
- public Action convert(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) {
- Preconditions.checkArgument(nxActionArg instanceof NxActionMultipathGrouping);
- NxActionMultipathGrouping nxAction = (NxActionMultipathGrouping) nxActionArg;
- ActionMultipathBuilder builder = new ActionMultipathBuilder();
-
- builder.setFields(nxAction.getNxMultipath().getFields());
- builder.setBasis(nxAction.getNxMultipath().getBasis());
- builder.setAlgorithm(nxAction.getNxMultipath().getAlgorithm());
- builder.setMaxLink(nxAction.getNxMultipath().getMaxLink());
- builder.setArg(nxAction.getNxMultipath().getArg());
- Dst dst = nxAction.getNxMultipath().getDst();
- builder.setOfsNbits((dst.getStart() << 6) | (dst.getEnd() - dst.getStart()));
- builder.setDst(RegMoveConvertor.resolveDst(dst.getDstChoice()));
-
- OfjAugNxActionBuilder augNxActionBuilder = new OfjAugNxActionBuilder();
- augNxActionBuilder.setActionMultipath(builder.build());
- return ActionUtil.createNiciraAction(augNxActionBuilder.build(), NxmNxMultipath.class);
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-
-package org.opendaylight.ovs.nx.sal.convertor.action;
-
-import org.opendaylight.openflowplugin.extension.api.ConvertorActionFromOFJava;
-import org.opendaylight.openflowplugin.extension.api.ConvertorActionToOFJava;
-import org.opendaylight.openflowplugin.extension.api.path.ActionPath;
-import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.NxmNxResubmit;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.resubmit.grouping.ActionResubmit;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.resubmit.grouping.ActionResubmitBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.NxActionResubmitGrouping;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionResubmitNotifFlowsStatisticsUpdateApplyActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionResubmitNotifFlowsStatisticsUpdateWriteActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionResubmitNotifGroupDescStatsUpdatedCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionResubmitNodesNodeTableFlowWriteActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.resubmit.grouping.NxResubmit;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.resubmit.grouping.NxResubmitBuilder;
-
-import com.google.common.base.Preconditions;
-
-/**
- * Convert to/from SAL flow model to openflowjava model for Resubmit action
- */
-public class ResubmitConvertor implements
-ConvertorActionToOFJava<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, Action>,
-ConvertorActionFromOFJava<Action, ActionPath> {
-
- @Override
- public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(Action input, ActionPath path) {
- ActionResubmit action = input.getAugmentation(OfjAugNxAction.class).getActionResubmit();
- NxResubmitBuilder builder = new NxResubmitBuilder();
- builder.setInPort(action.getInPort());
- builder.setTable(action.getTable());
- return resolveAction(builder.build(), path);
- }
-
- private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxResubmit value, ActionPath path) {
- switch (path) {
- case NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION:
- return new NxActionResubmitNodesNodeTableFlowWriteActionsCaseBuilder().setNxResubmit(value).build();
- case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION:
- return new NxActionResubmitNotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxResubmit(value).build();
- case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION:
- return new NxActionResubmitNotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxResubmit(value).build();
- case GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION:
- return new NxActionResubmitNotifGroupDescStatsUpdatedCaseBuilder().setNxResubmit(value).build();
- default:
- throw new CodecPreconditionException(path);
- }
- }
-
- @Override
- public Action convert(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) {
- Preconditions.checkArgument(nxActionArg instanceof NxActionResubmitGrouping);
- NxActionResubmitGrouping nxAction = (NxActionResubmitGrouping) nxActionArg;
- ActionResubmitBuilder builder = new ActionResubmitBuilder();
- builder.setInPort(nxAction.getNxResubmit().getInPort());
- builder.setTable(nxAction.getNxResubmit().getTable());
- OfjAugNxActionBuilder augNxActionBuilder = new OfjAugNxActionBuilder();
- augNxActionBuilder.setActionResubmit(builder.build());
- return ActionUtil.createNiciraAction(augNxActionBuilder.build(), NxmNxResubmit.class);
- }
-
-}
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovs.nx.sal.convertor.action;
-
-import org.opendaylight.openflowplugin.extension.api.ConvertorActionFromOFJava;
-import org.opendaylight.openflowplugin.extension.api.ConvertorActionToOFJava;
-import org.opendaylight.openflowplugin.extension.api.path.ActionPath;
-import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.NxmNxSetNsi;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.set.nsi.grouping.ActionSetNsi;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.set.nsi.grouping.ActionSetNsiBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.NxActionSetNsiGrouping;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNsiNotifFlowsStatisticsUpdateApplyActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNsiNotifFlowsStatisticsUpdateWriteActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNsiNotifGroupDescStatsUpdatedCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNsiNodesNodeTableFlowWriteActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.set.nsi.grouping.NxSetNsi;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.set.nsi.grouping.NxSetNsiBuilder;
-
-import com.google.common.base.Preconditions;
-
-public class SetNsiConvertor implements
-ConvertorActionToOFJava<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, Action>,
-ConvertorActionFromOFJava<Action, ActionPath> {
-
- @Override
- public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(Action input, ActionPath path) {
- ActionSetNsi action = input.getAugmentation(OfjAugNxAction.class).getActionSetNsi();
- NxSetNsiBuilder builder = new NxSetNsiBuilder();
- builder.setNsi(action.getNsi());
- return resolveAction(builder.build(), path);
- }
-
- private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxSetNsi value, ActionPath path) {
- switch (path) {
- case NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION:
- return new NxActionSetNsiNodesNodeTableFlowWriteActionsCaseBuilder().setNxSetNsi(value).build();
- case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION:
- return new NxActionSetNsiNotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxSetNsi(value).build();
- case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION:
- return new NxActionSetNsiNotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxSetNsi(value).build();
- case GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION:
- return new NxActionSetNsiNotifGroupDescStatsUpdatedCaseBuilder().setNxSetNsi(value).build();
- default:
- throw new CodecPreconditionException(path);
- }
- }
-
- @Override
- public Action convert(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) {
- Preconditions.checkArgument(nxActionArg instanceof NxActionSetNsiGrouping);
- NxActionSetNsiGrouping nxAction = (NxActionSetNsiGrouping) nxActionArg;
- ActionSetNsiBuilder builder = new ActionSetNsiBuilder();
- builder.setNsi(nxAction.getNxSetNsi().getNsi());
- OfjAugNxActionBuilder augNxActionBuilder = new OfjAugNxActionBuilder();
- augNxActionBuilder.setActionSetNsi(builder.build());
- return ActionUtil.createNiciraAction(augNxActionBuilder.build(), NxmNxSetNsi.class);
- }
-
-}
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovs.nx.sal.convertor.action;
-
-import org.opendaylight.openflowplugin.extension.api.ConvertorActionFromOFJava;
-import org.opendaylight.openflowplugin.extension.api.ConvertorActionToOFJava;
-import org.opendaylight.openflowplugin.extension.api.path.ActionPath;
-import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.NxmNxSetNsp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjAugNxActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.set.nsp.grouping.ActionSetNsp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.ofj.nx.action.set.nsp.grouping.ActionSetNspBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.NxActionSetNspGrouping;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNspNotifFlowsStatisticsUpdateApplyActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNspNotifFlowsStatisticsUpdateWriteActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNspNotifGroupDescStatsUpdatedCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNspNodesNodeTableFlowWriteActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.set.nsp.grouping.NxSetNsp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.set.nsp.grouping.NxSetNspBuilder;
-
-import com.google.common.base.Preconditions;
-
-public class SetNspConvertor implements
-ConvertorActionToOFJava<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, Action>,
-ConvertorActionFromOFJava<Action, ActionPath> {
-
- @Override
- public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(Action input, ActionPath path) {
- ActionSetNsp action = input.getAugmentation(OfjAugNxAction.class).getActionSetNsp();
- NxSetNspBuilder builder = new NxSetNspBuilder();
- builder.setNsp(action.getNsp());
- return resolveAction(builder.build(), path);
- }
-
- private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxSetNsp value, ActionPath path) {
- switch (path) {
- case NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION:
- return new NxActionSetNspNodesNodeTableFlowWriteActionsCaseBuilder().setNxSetNsp(value).build();
- case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION:
- return new NxActionSetNspNotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxSetNsp(value).build();
- case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION:
- return new NxActionSetNspNotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxSetNsp(value).build();
- case GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION:
- return new NxActionSetNspNotifGroupDescStatsUpdatedCaseBuilder().setNxSetNsp(value).build();
- default:
- throw new CodecPreconditionException(path);
- }
- }
-
- @Override
- public Action convert(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) {
- Preconditions.checkArgument(nxActionArg instanceof NxActionSetNspGrouping);
- NxActionSetNspGrouping nxAction = (NxActionSetNspGrouping) nxActionArg;
- ActionSetNspBuilder builder = new ActionSetNspBuilder();
- builder.setNsp(nxAction.getNxSetNsp().getNsp());
- OfjAugNxActionBuilder augNxActionBuilder = new OfjAugNxActionBuilder();
- augNxActionBuilder.setActionSetNsp(builder.build());
- return ActionUtil.createNiciraAction(augNxActionBuilder.build(), NxmNxSetNsp.class);
- }
-
-}
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovs.nx.sal.convertor.match;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.opendaylight.openflowjava.nx.api.NiciraConstants;
-import org.opendaylight.openflowplugin.extension.api.GroupingResolver;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterIdMatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterIdMatchEntryBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ExperimenterId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MatchField;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OxmClassBase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntries;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntriesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.OfjAugNxMatch;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNodesNodeTableFlow;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifPacketIn;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifSwitchFlowRemoved;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifUpdateFlowStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchRpcAddFlow;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchRpcRemoveFlow;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchRpcUpdateFlowOriginal;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchRpcUpdateFlowUpdated;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxmNxNspGrouping;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxmNxNsiGrouping;
-import org.opendaylight.yangtools.yang.binding.Augmentation;
-
-public class MatchUtil {
-
- private final static Set<Class<? extends Augmentation<Extension>>> augmentationsOfExtension = new HashSet<>();
- public final static GroupingResolver<NxmNxNspGrouping, Extension> nspResolver = new GroupingResolver<>(
- NxmNxNspGrouping.class);
- public final static GroupingResolver<NxmNxNsiGrouping, Extension> nsiResolver = new GroupingResolver<>(
- NxmNxNsiGrouping.class);
- public final static ExperimenterIdMatchEntry EXPERIMENTER_ID_MATCH_ENTRY;
-
- static {
- augmentationsOfExtension.add(NxAugMatchRpcAddFlow.class);
- augmentationsOfExtension.add(NxAugMatchRpcRemoveFlow.class);
- augmentationsOfExtension.add(NxAugMatchRpcUpdateFlowOriginal.class);
- augmentationsOfExtension.add(NxAugMatchRpcUpdateFlowUpdated.class);
- augmentationsOfExtension.add(NxAugMatchNodesNodeTableFlow.class);
- augmentationsOfExtension.add(NxAugMatchNotifSwitchFlowRemoved.class);
- augmentationsOfExtension.add(NxAugMatchNotifPacketIn.class);
- augmentationsOfExtension.add(NxAugMatchNotifUpdateFlowStats.class);
- nspResolver.setAugmentations(augmentationsOfExtension);
- nsiResolver.setAugmentations(augmentationsOfExtension);
- ExperimenterIdMatchEntryBuilder experimenterIdMatchEntryBuilder = new ExperimenterIdMatchEntryBuilder();
- experimenterIdMatchEntryBuilder.setExperimenter(new ExperimenterId(NiciraConstants.NX_VENDOR_ID));
- EXPERIMENTER_ID_MATCH_ENTRY = experimenterIdMatchEntryBuilder.build();
- }
-
- public static MatchEntries createNiciraMatchEntries(Class<? extends OxmClassBase> oxmClass,
- Class<? extends MatchField> oxmMatchField, boolean hasMask, OfjAugNxMatch augNxMatch) {
- MatchEntriesBuilder matchEntriesBuilder = new MatchEntriesBuilder();
- matchEntriesBuilder.setOxmClass(oxmClass).setOxmMatchField(oxmMatchField).setHasMask(hasMask);
- matchEntriesBuilder.addAugmentation(ExperimenterIdMatchEntry.class, EXPERIMENTER_ID_MATCH_ENTRY);
- matchEntriesBuilder.addAugmentation(OfjAugNxMatch.class, augNxMatch);
- return matchEntriesBuilder.build();
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovs.nx.sal.convertor.match;
-
-import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
-import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
-import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
-import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
-import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Nxm1Class;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntries;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.OfjAugNxMatch;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.OfjAugNxMatchBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.ofj.nxm.nx.match.nsi.grouping.NsiValues;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.ofj.nxm.nx.match.nsi.grouping.NsiValuesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.ExtensionKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifPacketIn;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifPacketInBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifSwitchFlowRemoved;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifSwitchFlowRemovedBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifUpdateFlowStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifUpdateFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxmNxNsiGrouping;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxmNxNsiKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.nxm.nx.nsi.grouping.NxmNxNsi;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.nxm.nx.nsi.grouping.NxmNxNsiBuilder;
-import org.opendaylight.yangtools.yang.binding.Augmentation;
-
-import com.google.common.base.Optional;
-public class NsiConvertor implements ConvertorToOFJava<MatchEntries>, ConvertorFromOFJava<MatchEntries, MatchPath> {
- @Override
- public ExtensionAugment<? extends Augmentation<Extension>> convert(MatchEntries input, MatchPath path) {
- NsiValues values = input.getAugmentation(OfjAugNxMatch.class).getNsiValues();
- return resolveAugmentation(new NxmNxNsiBuilder().setNsi(values.getNsi()).build(), path,
- NxmNxNsiKey.class);
- }
-
- private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(NxmNxNsi value,
- MatchPath path, Class<? extends ExtensionKey> key) {
- switch (path) {
- case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_MATCH:
- return new ExtensionAugment<>(NxAugMatchNotifUpdateFlowStats.class,
- new NxAugMatchNotifUpdateFlowStatsBuilder().setNxmNxNsi(value).build(), key);
- case PACKETRECEIVED_MATCH:
- return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
- .setNxmNxNsi(value).build(), key);
- case SWITCHFLOWREMOVED_MATCH:
- return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
- new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNsi(value).build(), key);
- default:
- throw new CodecPreconditionException(path);
- }
- }
-
- @Override
- public MatchEntries convert(Extension extension) {
- Optional<NxmNxNsiGrouping> matchGrouping = MatchUtil.nsiResolver.getExtension(extension);
- if (!matchGrouping.isPresent()) {
- throw new CodecPreconditionException(extension);
- }
- Short value = matchGrouping.get().getNxmNxNsi().getNsi();
- OfjAugNxMatchBuilder augNxMatchBuilder = new OfjAugNxMatchBuilder().setNsiValues(new NsiValuesBuilder()
- .setNsi(value).build());
- return MatchUtil
- .createNiciraMatchEntries(
- Nxm1Class.class,
- org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.NxmNxNsi.class,
- false, augNxMatchBuilder.build());
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.ovs.nx.sal.convertor.match;
-
-import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
-import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
-import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
-import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
-import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Nxm1Class;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntries;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.OfjAugNxMatch;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.OfjAugNxMatchBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.ofj.nxm.nx.match.nsp.grouping.NspValues;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.ofj.nxm.nx.match.nsp.grouping.NspValuesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.ExtensionKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifPacketIn;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifPacketInBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifSwitchFlowRemoved;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifSwitchFlowRemovedBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifUpdateFlowStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNotifUpdateFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxmNxNspGrouping;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxmNxNspKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.nxm.nx.nsp.grouping.NxmNxNsp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.nxm.nx.nsp.grouping.NxmNxNspBuilder;
-import org.opendaylight.yangtools.yang.binding.Augmentation;
-
-import com.google.common.base.Optional;
-public class NspConvertor implements ConvertorToOFJava<MatchEntries>, ConvertorFromOFJava<MatchEntries, MatchPath> {
- @Override
- public ExtensionAugment<? extends Augmentation<Extension>> convert(MatchEntries input, MatchPath path) {
- NspValues values = input.getAugmentation(OfjAugNxMatch.class).getNspValues();
- return resolveAugmentation(new NxmNxNspBuilder().setValue(values.getNsp()).build(), path,
- NxmNxNspKey.class);
- }
-
- private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(NxmNxNsp value,
- MatchPath path, Class<? extends ExtensionKey> key) {
- switch (path) {
- case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_MATCH:
- return new ExtensionAugment<>(NxAugMatchNotifUpdateFlowStats.class,
- new NxAugMatchNotifUpdateFlowStatsBuilder().setNxmNxNsp(value).build(), key);
- case PACKETRECEIVED_MATCH:
- return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
- .setNxmNxNsp(value).build(), key);
- case SWITCHFLOWREMOVED_MATCH:
- return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
- new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNsp(value).build(), key);
- default:
- throw new CodecPreconditionException(path);
- }
- }
-
- @Override
- public MatchEntries convert(Extension extension) {
- Optional<NxmNxNspGrouping> matchGrouping = MatchUtil.nspResolver.getExtension(extension);
- if (!matchGrouping.isPresent()) {
- throw new CodecPreconditionException(extension);
- }
- Long value = matchGrouping.get().getNxmNxNsp().getValue();
- OfjAugNxMatchBuilder augNxMatchBuilder = new OfjAugNxMatchBuilder().setNspValues(new NspValuesBuilder()
- .setNsp(value).build());
- return MatchUtil
- .createNiciraMatchEntries(
- Nxm1Class.class,
- org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.match.rev140421.NxmNxNsp.class,
- false, augNxMatchBuilder.build());
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2014 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Madhu Venugopal
- */
-package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.sal.config.impl.rev140711;
-
-import org.opendaylight.openflowplugin.extension.api.ExtensionConverterRegistrator;
-import org.opendaylight.ovs.nx.sal.NiciraExtensionProvider;
-
-public class ConfigurableNiciraExtensionProviderModule extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.sal.config.impl.rev140711.AbstractConfigurableNiciraExtensionProviderModule {
- public ConfigurableNiciraExtensionProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
- super(identifier, dependencyResolver);
- }
-
- public ConfigurableNiciraExtensionProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.sal.config.impl.rev140711.ConfigurableNiciraExtensionProviderModule oldModule, java.lang.AutoCloseable oldInstance) {
- super(identifier, dependencyResolver, oldModule, oldInstance);
- }
-
- @Override
- public void customValidation() {
- // add custom validation form module attributes here.
- }
-
- @Override
- public java.lang.AutoCloseable createInstance() {
- NiciraExtensionProvider provider = new NiciraExtensionProvider();
- ExtensionConverterRegistrator registrator = getOpenflowPluginProviderDependency().getExtensionConverterRegistrator();
- provider.setExtensionConverterRegistrator(registrator);
- provider.registerConverters();
- return provider;
- }
-
-}
+++ /dev/null
-/*
-* Generated file
-*
-* Generated from: yang module name: ovs-nx-sal-impl yang module local name: ovs-nx-sal-provider-impl
-* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
-* Generated at: Sun Aug 10 00:20:39 PDT 2014
-*
-* Do not modify this file unless it is present under src/main directory
-*/
-package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.sal.config.impl.rev140711;
-public class ConfigurableNiciraExtensionProviderModuleFactory extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovs.nx.sal.config.impl.rev140711.AbstractConfigurableNiciraExtensionProviderModuleFactory {
-
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<snapshot>
- <required-capabilities>
- <capability>urn:opendaylight:params:xml:ns:yang:ovs:nx:sal:config:impl?module=ovs-nx-sal-cfg-impl&revision=2014-07-11</capability>
- <!-- openflowplugin -->
- <capability>urn:opendaylight:params:xml:ns:yang:openflow:common:config?module=openflow-provider&revision=2014-03-26</capability>
- </required-capabilities>
-
- <configuration>
-
- <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
- <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <module>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:ovs:nx:sal:config:impl">prefix:ovs-nx-sal-provider-impl</type>
- <name>ovs-nx-sal-provider-default-impl</name>
-
- <openflow-plugin-provider>
- <type xmlns:opfprov="urn:opendaylight:params:xml:ns:yang:openflow:common:config">opfprov:openflow-provider</type>
- <name>openflow-provider</name>
- </openflow-plugin-provider>
- </module>
- </modules>
- </data>
-
- </configuration>
-</snapshot>
+++ /dev/null
-module ovs-nx-sal-action {
- yang-version 1;
-
- namespace "urn:opendaylight:ovs:nx:sal:action";
- prefix "ovs-nx-sal-action";
-
- import yang-ext {prefix ext; revision-date "2013-07-09";}
- import flow-node-inventory {prefix fni; revision-date 2013-08-19; }
- import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
- import sal-flow {prefix sal-flow;revision-date "2013-08-19";}
- import sal-group {prefix sal-group;revision-date "2013-09-18";}
- import packet-processing {prefix sal-packet;revision-date "2013-07-09";}
- import opendaylight-flow-statistics {prefix odl-flow-stats;revision-date "2013-08-19";}
- import opendaylight-group-statistics {prefix odl-group-stats;revision-date "2013-11-11";}
- import nicira-match {prefix nicira-match;revision-date "2014-04-21";}
- import openflowplugin-extension-general {prefix ext-gen;revision-date "2014-07-14";}
- import openflow-action {prefix ofaction;revision-date "2013-07-31";}
- import ovs-nx-action {prefix ovsnx-action;revision-date "2014-04-21";}
- import openflowplugin-extension-nicira-action {prefix ofp-nx-action;revision-date "2014-07-14";}
-
- description
- "Nicira openflow action extensions.";
-
- revision "2014-07-14" {
- description "Initial revision";
- }
- grouping nx-action-resubmit-grouping {
- container nx-resubmit {
- description "Re-searches OpenFlow flow table (or the table whose number is specified by table)
- with the in-port field replaced by port (if port is specified) and executes the actions found";
- leaf in-port {
- type uint16;
- default 0xfff8; // OFPP_INPORT
- }
- leaf table {
- type uint8 {
- range "0 .. 255";
- }
- default 255; // Current Table
- }
- }
- }
-
- grouping nx-action-set-nsp-grouping {
- container nx-set-nsp {
- description "Sets NSP header";
- leaf nsp {
- type uint32;
- }
- }
- }
-
- grouping nx-action-set-nsi-grouping {
- container nx-set-nsi {
- description "Sets NSI header";
- leaf nsi {
- type uint8;
- }
- }
- }
-
- grouping nx-action-multipath-grouping {
- container nx-multipath {
- leaf fields {
- type ovsnx-action:ofj-nx-hash-fields;
- }
- leaf basis {
- type uint16;
- default 0x400;
- }
- leaf algorithm {
- type ovsnx-action:ofj-nx-mp-algorithm;
- }
- leaf max-link {
- type uint16;
- }
- leaf arg {
- type uint32;
- }
- container dst {
- description "Writes value to bits start through end, inclusive, in field dst.";
- uses ofp-nx-action:dst-choice-grouping;
- uses ofp-nx-action:range-grouping;
- }
- }
- }
-
- // ACTION augmentations
-
- augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case nx-action-resubmit-rpc-add-flow-write-actions-case {
- uses nx-action-resubmit-grouping;
- }
- }
-
- augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case nx-action-resubmit-rpc-add-flow-apply-actions-case {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-resubmit-rpc-remove-flow-write-actions-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-resubmit-rpc-remove-flow-apply-actions-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-resubmit-rpc-update-flow-original-write-actions-case" {
- uses nx-action-resubmit-grouping;
- }
- }
-
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-resubmit-rpc-update-flow-original-apply-actions-case" {
- uses nx-action-resubmit-grouping;
- }
- }
-
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-resubmit-rpc-update-flow-updated-write-actions-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-resubmit-rpc-update-flow-updated-apply-actions-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-resubmit-rpc-add-group-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-resubmit-rpc-remove-group-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-resubmit-rpc-update-group-original-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-resubmit-rpc-update-group-updated-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
- case "nx-action-resubmit-rpc-transmit-packet-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
- case "nx-action-resubmit-nodes-node-table-flow-write-actions-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
- case "nx-action-resubmit-nodes-node-table-flow-apply-actions-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
- case "nx-action-resubmit-nodes-node-group-buckets-bucket-actions-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
- case "nx-action-resubmit-notif-flows-statistics-update-write-actions-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
- case "nx-action-resubmit-notif-flows-statistics-update-apply-actions-case" {
- uses nx-action-resubmit-grouping;
- }
- }
- augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
- case "nx-action-resubmit-notif-group-desc-stats-updated-case" {
- uses nx-action-resubmit-grouping;
- }
- }
-
-// NSP
-
- augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case nx-action-set-nsp-rpc-add-flow-write-actions-case {
- uses nx-action-set-nsp-grouping;
- }
- }
-
- augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case nx-action-set-nsp-rpc-add-flow-apply-actions-case {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsp-rpc-remove-flow-write-actions-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsp-rpc-remove-flow-apply-actions-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsp-rpc-update-flow-original-write-actions-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
-
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsp-rpc-update-flow-original-apply-actions-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
-
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsp-rpc-update-flow-updated-write-actions-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsp-rpc-update-flow-updated-apply-actions-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-set-nsp-rpc-add-group-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-set-nsp-rpc-remove-group-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-set-nsp-rpc-update-group-original-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-set-nsp-rpc-update-group-updated-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
- case "nx-action-set-nsp-rpc-transmit-packet-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
- case "nx-action-set-nsp-nodes-node-table-flow-write-actions-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
- case "nx-action-set-nsp-nodes-node-table-flow-apply-actions-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
- case "nx-action-set-nsp-nodes-node-group-buckets-bucket-actions-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
- case "nx-action-set-nsp-notif-flows-statistics-update-write-actions-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
- case "nx-action-set-nsp-notif-flows-statistics-update-apply-actions-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
- augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
- case "nx-action-set-nsp-notif-group-desc-stats-updated-case" {
- uses nx-action-set-nsp-grouping;
- }
- }
-
-// NSI
-
- augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case nx-action-set-nsi-rpc-add-flow-write-actions-case {
- uses nx-action-set-nsi-grouping;
- }
- }
-
- augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case nx-action-set-nsi-rpc-add-flow-apply-actions-case {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsi-rpc-remove-flow-write-actions-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsi-rpc-remove-flow-apply-actions-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsi-rpc-update-flow-original-write-actions-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
-
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsi-rpc-update-flow-original-apply-actions-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
-
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsi-rpc-update-flow-updated-write-actions-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-set-nsi-rpc-update-flow-updated-apply-actions-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-set-nsi-rpc-add-group-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-set-nsi-rpc-remove-group-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-set-nsi-rpc-update-group-original-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-set-nsi-rpc-update-group-updated-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
- case "nx-action-set-nsi-rpc-transmit-packet-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
- case "nx-action-set-nsi-nodes-node-table-flow-write-actions-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
- case "nx-action-set-nsi-nodes-node-table-flow-apply-actions-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
- case "nx-action-set-nsi-nodes-node-group-buckets-bucket-actions-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
- case "nx-action-set-nsi-notif-flows-statistics-update-write-actions-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
- case "nx-action-set-nsi-notif-flows-statistics-update-apply-actions-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
- augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
- case "nx-action-set-nsi-notif-group-desc-stats-updated-case" {
- uses nx-action-set-nsi-grouping;
- }
- }
-
-// Multipath
-
- augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case nx-action-multipath-rpc-add-flow-write-actions-case {
- uses nx-action-multipath-grouping;
- }
- }
-
- augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case nx-action-multipath-rpc-add-flow-apply-actions-case {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-multipath-rpc-remove-flow-write-actions-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-multipath-rpc-remove-flow-apply-actions-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-multipath-rpc-update-flow-original-write-actions-case" {
- uses nx-action-multipath-grouping;
- }
- }
-
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-multipath-rpc-update-flow-original-apply-actions-case" {
- uses nx-action-multipath-grouping;
- }
- }
-
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-multipath-rpc-update-flow-updated-write-actions-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
- case "nx-action-multipath-rpc-update-flow-updated-apply-actions-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-multipath-rpc-add-group-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-multipath-rpc-remove-group-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-multipath-rpc-update-group-original-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
- case "nx-action-multipath-rpc-update-group-updated-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
- case "nx-action-multipath-rpc-transmit-packet-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
- case "nx-action-multipath-nodes-node-table-flow-write-actions-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
- case "nx-action-multipath-nodes-node-table-flow-apply-actions-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
- case "nx-action-multipath-nodes-node-group-buckets-bucket-actions-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
- case "nx-action-multipath-notif-flows-statistics-update-write-actions-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
- case "nx-action-multipath-notif-flows-statistics-update-apply-actions-case" {
- uses nx-action-multipath-grouping;
- }
- }
- augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
- case "nx-action-multipath-notif-group-desc-stats-updated-case" {
- uses nx-action-multipath-grouping;
- }
- }
-}
+++ /dev/null
-module ovs-nx-sal-cfg-impl {
- yang-version 1;
- namespace "urn:opendaylight:params:xml:ns:yang:ovs:nx:sal:config:impl";
- prefix "ovs-nx-sal-cfg-impl";
-
- import config {prefix config; revision-date 2013-04-05;}
- import openflow-provider {prefix openflow-provider; revision-date 2014-03-26;}
- import ovs-nx-sal-cfg {prefix ovs-nx-sal-cfg;}
-
- description
- "openflow extension for nicira - config-impl";
-
- revision "2014-07-11" {
- description
- "Initial revision";
- }
-
- identity ovs-nx-sal-provider-impl {
- base config:module-type;
- config:provided-service ovs-nx-sal-cfg:ovs-nx-sal-provider;
- config:java-name-prefix ConfigurableNiciraExtensionProvider;
- }
-
- augment "/config:modules/config:module/config:configuration" {
- case ovs-nx-sal-provider-impl {
- when "/config:modules/config:module/config:type = 'ovs-nx-sal-provider-impl'";
-
- container openflow-plugin-provider {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity openflow-provider:openflow-provider;
- }
- }
- }
- }
- }
-}
+++ /dev/null
-module ovs-nx-sal-cfg {
- yang-version 1;
- namespace "urn:opendaylight:params:xml:ns:yang:controller:config:ovs:nx:sal:config";
- prefix "ovs-nx-sal-cfg";
-
- import config {prefix config; revision-date 2013-04-05; }
-
- description
- "openflow extension for nicira - config";
-
- revision "2014-07-11" {
- description
- "Initial revision";
- }
-
- identity ovs-nx-sal-provider {
- base config:service-type;
- config:java-class "org.opendaylight.ovs.nx.sal.NiciraExtensionProvider";
- }
-}
\ No newline at end of file
+++ /dev/null
-module ovs-nx-sal-match {
- yang-version 1;
-
- namespace "urn:opendaylight:ovs:nx:sal:match";
- prefix "ovs-nx-sal-match";
-
- import yang-ext {prefix ext; revision-date "2013-07-09";}
- import flow-node-inventory {prefix fni; revision-date 2013-08-19; }
- import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
- import sal-flow {prefix sal-flow;revision-date "2013-08-19";}
- import packet-processing {prefix sal-packet;revision-date "2013-07-09";}
- import openflowplugin-extension-general {prefix ext-gen;revision-date "2014-07-14";}
- import opendaylight-flow-statistics {prefix odl-flow-stats;revision-date "2013-08-19";}
- import nicira-match {prefix nicira-match;revision-date "2014-04-21";}
- import ietf-inet-types {prefix inet; revision-date "2010-09-24";}
- import ietf-yang-types {prefix yang; revision-date "2010-09-24";}
-
- description
- "OVS Openflow NX match extensions.";
-
- revision "2014-07-14" {
- description "Initial revision";
- }
-
- identity nxm-nx-nsp-key {
- base ext-gen:extension-key;
- }
-
- identity nxm-nx-nsi-key {
- base ext-gen:extension-key;
- }
-
- grouping nxm-nx-nsp-grouping {
- container nxm-nx-nsp {
- leaf value {
- type uint32;
- }
- }
- }
-
- grouping nxm-nx-nsi-grouping {
- container nxm-nx-nsi {
- leaf nsi {
- type uint8;
- }
- }
- }
-
- grouping all-matches-grouping {
- uses nxm-nx-nsp-grouping;
- uses nxm-nx-nsi-grouping;
- }
-
- // MATCH augmentations
- // RPCS
- augment "/sal-flow:add-flow/sal-flow:input/sal-flow:match/ext-gen:extension-list/ext-gen:extension" {
- ext:augment-identifier "nx-aug-match-rpc-add-flow";
- uses all-matches-grouping;
- }
- augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:match/ext-gen:extension-list/ext-gen:extension" {
- ext:augment-identifier "nx-aug-match-rpc-remove-flow";
- uses all-matches-grouping;
- }
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:match/ext-gen:extension-list/ext-gen:extension" {
- ext:augment-identifier "nx-aug-match-rpc-update-flow-original";
- uses all-matches-grouping;
- }
- augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:match/ext-gen:extension-list/ext-gen:extension" {
- ext:augment-identifier "nx-aug-match-rpc-update-flow-updated";
- uses all-matches-grouping;
- }
-
- // DATA
- augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:match/ext-gen:extension-list/ext-gen:extension" {
- ext:augment-identifier "nx-aug-match-nodes-node-table-flow";
- uses all-matches-grouping;
- }
-
- // NOTIFICATIONS
- augment "/sal-flow:switch-flow-removed/sal-flow:match/ext-gen:extension-list/ext-gen:extension" {
- ext:augment-identifier "nx-aug-match-notif-switch-flow-removed";
- uses all-matches-grouping;
- }
- augment "/sal-packet:packet-received/sal-packet:match/ext-gen:extension-list/ext-gen:extension" {
- ext:augment-identifier "nx-aug-match-notif-packet-in";
- uses all-matches-grouping;
- }
- augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:match/ext-gen:extension-list/ext-gen:extension" {
- ext:augment-identifier "nx-aug-match-notif-update-flow-stats";
- uses all-matches-grouping;
- }
-}
\ No newline at end of file
+++ /dev/null
-/*
-* Copyright (C) 2014 Red Hat, Inc.
-*
-* This program and the accompanying materials are made available under the
-* terms of the Eclipse Public License v1.0 which accompanies this distribution,
-* and is available at http://www.eclipse.org/legal/epl-v10.html
-*
-* Authors : Sam Hague
-*/
-package org.opendaylight.ovs.nx.sal;
-
-import static org.junit.Assert.assertTrue;
-import org.junit.Test;
-
-public class NiciraExtensionProviderTest {
-
- @Test
- public void testRegisterConverters () {
- assertTrue(true);
- }
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>commons</artifactId>
- <groupId>org.opendaylight.ovsdb</groupId>
- <version>1.3.0-SNAPSHOT</version>
- <relativePath>../../commons/parent</relativePath>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>of-extension.openflowjava-nx-api-config</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <properties>
- <configfile>43-openflowjava-nx-api-config.xml</configfile>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-artifacts</id>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/classes/${configfile}</file>
- <type>xml</type>
- <classifier>config</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<snapshot>
- <required-capabilities>
- <capability>urn:opendaylight:params:xml:ns:yang:openflowplugin:ofjava:nx:api:config?module=openflowjava-nx-api-config&revision=2014-07-11</capability>
- </required-capabilities>
-
- <configuration>
-
- <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
- <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <module>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:openflowplugin:ofjava:nx:api:config">prefix:openflowjava-extension-nicira-api</type>
- <name>openflowjava-extension-nx-api-bundle</name>
- <openflow-switch-connection-provider>
- <type xmlns:ofSwitch="urn:opendaylight:params:xml:ns:yang:openflow:switch:connection:provider">ofSwitch:openflow-switch-connection-provider</type>
- <name>openflow-switch-connection-provider-legacy</name>
- </openflow-switch-connection-provider>
- <openflow-switch-connection-provider>
- <type xmlns:ofSwitch="urn:opendaylight:params:xml:ns:yang:openflow:switch:connection:provider">ofSwitch:openflow-switch-connection-provider</type>
- <name>openflow-switch-connection-provider-default</name>
- </openflow-switch-connection-provider>
- </module>
- </modules>
-
- <services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <service>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:openflowplugin:ofjava:nx:api:config">prefix:nicira-extension-codec-registrator</type>
- <instance>
- <name>openflowjava-nicira-ext-registrator</name>
- <provider>/modules/module[type='openflowjava-extension-nicira-api'][name='openflowjava-extension-nx-api-bundle']</provider>
- </instance>
- </service>
- </services>
- </data>
-
- </configuration>
-</snapshot>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>commons</artifactId>
- <groupId>org.opendaylight.ovsdb</groupId>
- <version>1.3.0-SNAPSHOT</version>
- <relativePath>../../commons/parent</relativePath>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>of-extension.openflowjava-nx-config</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <properties>
- <configfile>44-openflowjava-nx-config.xml</configfile>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-artifacts</id>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/classes/${configfile}</file>
- <type>xml</type>
- <classifier>config</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<snapshot>
- <required-capabilities>
- <capability>urn:opendaylight:params:xml:ns:yang:openflowplugin:ofjava:nx:config?module=openflowjava-nx-config&revision=2014-07-11</capability>
- </required-capabilities>
-
- <configuration>
-
- <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
- <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <module>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:openflowplugin:ofjava:nx:config">prefix:openflowjava-extension-nicira</type>
- <name>openflow-nx-bundle</name>
- <nicira-extension-codec-registrator>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:openflowplugin:ofjava:nx:api:config">prefix:nicira-extension-codec-registrator</type>
- <name>openflowjava-nicira-ext-registrator</name>
- </nicira-extension-codec-registrator>
- </module>
- </modules>
- </data>
-
- </configuration>
-</snapshot>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>commons</artifactId>
- <groupId>org.opendaylight.ovsdb</groupId>
- <version>1.3.0-SNAPSHOT</version>
- <relativePath>../../commons/parent/pom.xml</relativePath>
- </parent>
-
- <artifactId>of-extension.ovs-nx-api-config</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <properties>
- <configfile>50-ovs-nx-api-config.xml</configfile>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-artifacts</id>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/classes/${configfile}</file>
- <type>xml</type>
- <classifier>config</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<snapshot>
- <required-capabilities>
- <capability>urn:opendaylight:params:xml:ns:yang:ovs:nx:api:config?module=ovs-nx-api-config&revision=2014-07-11</capability>
- </required-capabilities>
-
- <configuration>
-
- <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
- <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <module>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:ovs:nx:api:config">prefix:ovs-nx-api</type>
- <name>ovs-nx-api-bundle</name>
- <openflow-switch-connection-provider>
- <type xmlns:ofSwitch="urn:opendaylight:params:xml:ns:yang:openflow:switch:connection:provider">ofSwitch:openflow-switch-connection-provider</type>
- <name>openflow-switch-connection-provider-legacy</name>
- </openflow-switch-connection-provider>
- <openflow-switch-connection-provider>
- <type xmlns:ofSwitch="urn:opendaylight:params:xml:ns:yang:openflow:switch:connection:provider">ofSwitch:openflow-switch-connection-provider</type>
- <name>openflow-switch-connection-provider-default</name>
- </openflow-switch-connection-provider>
- </module>
- </modules>
-
- <services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <service>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:ovs:nx:api:config">prefix:nx-codec-registrator</type>
- <instance>
- <name>ovs-nx-registrator</name>
- <provider>/modules/module[type='ovs-nx-api'][name='ovs-nx-api-bundle']</provider>
- </instance>
- </service>
- </services>
- </data>
-
- </configuration>
-</snapshot>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>commons</artifactId>
- <groupId>org.opendaylight.ovsdb</groupId>
- <version>1.3.0-SNAPSHOT</version>
- <relativePath>../../commons/parent/pom.xml</relativePath>
- </parent>
-
- <artifactId>of-extension.ovs-nx-config</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <properties>
- <configfile>51-ovs-nx-config.xml</configfile>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-artifacts</id>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/classes/${configfile}</file>
- <type>xml</type>
- <classifier>config</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<snapshot>
- <required-capabilities>
- <capability>urn:opendaylight:params:xml:ns:yang:ovs:nx:config?module=ovs-nx-config&revision=2014-07-11</capability>
- </required-capabilities>
-
- <configuration>
-
- <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
- <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <module>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:ovs:nx:config">prefix:ovs-nx</type>
- <name>ovs-nx-bundle</name>
- <nx-codec-registrator>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:ovs:nx:api:config">prefix:nx-codec-registrator</type>
- <name>ovs-nx-registrator</name>
- </nx-codec-registrator>
- </module>
- </modules>
- </data>
-
- </configuration>
-</snapshot>
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg1;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg2;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxRegCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjNxHashFields;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjNxMpAlgorithm;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.OfjNxHashFields;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.OfjNxMpAlgorithm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
<module>utils/mdsal-openflow</module>
<module>openstack/net-virt</module>
<module>openstack/net-virt-providers</module>
- <module>of-extension/nx-ofjava</module>
- <module>of-extension/nx-sal</module>
<module>ovs-sfc</module>
<!-- Integration Tests -->
<module>integrationtest</module>
<!-- Config Files -->
- <module>of-extension/openflowjava-nx-config</module>
- <module>of-extension/openflowjava-nx-api-config</module>
- <module>of-extension/nicira-extension-config</module>
- <module>of-extension/ovs-nx-api-config</module>
- <module>of-extension/ovs-nx-config</module>
- <module>of-extension/nx-sal-config</module>
<!-- Karaf Distribution -->
<module>features/ovsdb</module>
- <module>features/of-nxm-extensions</module>
<module>features/ovs-sfc</module>
<!-- OVSDB Distribution -->
<module>distribution/opendaylight</module>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-extension-nicira</artifactId>
- <version>${openflowplugin-nicira.version}</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>of-extension.nx-sal</artifactId>
- <version>1.1.0-SNAPSHOT</version>
+ <version>${openflowplugin.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxRegCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcOfArpSpaCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcOfEthSrcCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjNxHashFields;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.action.rev140421.OfjNxMpAlgorithm;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionMultipathNodesNodeTableFlowApplyActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionResubmitNodesNodeTableFlowApplyActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNsiNodesNodeTableFlowApplyActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNspNodesNodeTableFlowApplyActionsCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.multipath.grouping.NxMultipath;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.multipath.grouping.NxMultipathBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.resubmit.grouping.NxResubmit;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.resubmit.grouping.NxResubmitBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.set.nsi.grouping.NxSetNsi;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.set.nsi.grouping.NxSetNsiBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.set.nsp.grouping.NxSetNsp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.set.nsp.grouping.NxSetNspBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.OfjNxHashFields;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.OfjNxMpAlgorithm;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionMultipathNodesNodeTableFlowApplyActionsCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionResubmitNodesNodeTableFlowApplyActionsCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNsiNodesNodeTableFlowApplyActionsCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNspNodesNodeTableFlowApplyActionsCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.multipath.grouping.NxMultipath;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.multipath.grouping.NxMultipathBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.resubmit.grouping.NxResubmit;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.resubmit.grouping.NxResubmitBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nsi.grouping.NxSetNsi;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nsi.grouping.NxSetNsiBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nsp.grouping.NxSetNsp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nsp.grouping.NxSetNspBuilder;
import com.google.common.net.InetAddresses;
.setAlgorithm(algorithm)
.setMaxLink(maxLink)
.setArg(arg)
- .setDst(new org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.action.rev140714.nx.action.multipath.grouping.nx.multipath.DstBuilder()
- .setDstChoice(dstChoice)
+ .setDst(new org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.multipath.grouping.nx.multipath.DstBuilder()
+ .setDstChoice(dstChoice)
.setStart(start)
.setEnd(end)
.build())
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxTunIdKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.reg.grouping.NxmNxRegBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.tun.id.grouping.NxmNxTunIdBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxmNxNspKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.nxm.nx.nsp.grouping.NxmNxNspBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxmNxNsiKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.nxm.nx.nsi.grouping.NxmNxNsiBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsp.grouping.NxmNxNspBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNsiKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsi.grouping.NxmNxNsiBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
public static void addNxNsp(MatchBuilder match, long nsp) {
- org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNodesNodeTableFlow am =
- new org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNodesNodeTableFlowBuilder()
+ org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNodesNodeTableFlow am =
+ new org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNodesNodeTableFlowBuilder()
.setNxmNxNsp(new NxmNxNspBuilder()
.setValue(nsp)
.build())
}
public static void addNxNsi(MatchBuilder match, short nsi) {
- org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNodesNodeTableFlow am =
- new org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNodesNodeTableFlowBuilder()
+ org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNodesNodeTableFlow am =
+ new org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNodesNodeTableFlowBuilder()
.setNxmNxNsi(new NxmNxNsiBuilder()
.setNsi(nsi)
.build())
addExtension(match, NxmNxNsiKey.class, am);
}
- private static void addExtension (MatchBuilder match, Class<? extends ExtensionKey> extensionKey, org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNodesNodeTableFlow am) {
+ private static void addExtension (MatchBuilder match, Class<? extends ExtensionKey> extensionKey, org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNodesNodeTableFlow am) {
GeneralAugMatchNodesNodeTableFlow existingAugmentations = match.getAugmentation(GeneralAugMatchNodesNodeTableFlow.class);
List<ExtensionList> extensions = null;
if (existingAugmentations != null ) {
extensions.add(new ExtensionListBuilder()
.setExtensionKey(extensionKey)
.setExtension(new ExtensionBuilder()
- .addAugmentation(org.opendaylight.yang.gen.v1.urn.opendaylight.ovs.nx.sal.match.rev140714.NxAugMatchNodesNodeTableFlow.class, am)
+ .addAugmentation(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNodesNodeTableFlow.class, am)
.build())
.build());