From 4c728b3a828973c8a11d2f2a1da31ee6a497cd7e Mon Sep 17 00:00:00 2001 From: Phanendra Manda Date: Wed, 9 Dec 2015 23:04:16 +0530 Subject: [PATCH] [ONOS-3291] Match fields added in LOXI for NSH extension Change-Id: I3a51c914afb9ee3c836de2800ae9cb87d9a1470a --- java_gen/java_type.py | 18 +++ .../openflow/protocol/match/MatchField.java | 18 +++ .../openflow/protocol/match/MatchFields.java | 6 + openflow_input/oxm_nicira_nsh | 103 ++++++++++++++++++ 4 files changed, 145 insertions(+) create mode 100644 openflow_input/oxm_nicira_nsh diff --git a/java_gen/java_type.py b/java_gen/java_type.py index 6b47fc363..9bce6533d 100644 --- a/java_gen/java_type.py +++ b/java_gen/java_type.py @@ -807,6 +807,24 @@ def gen_fixed_length_string_jtype(length): 'of_oxm_reg7' : { 'value' : u32obj }, 'of_oxm_reg7_masked' : { 'value' : u32obj, 'value_mask' : u32obj }, + + 'of_oxm_nsh_spi' : { 'value' : u32obj }, + 'of_oxm_nsh_spi_masked' : { 'value' : u32obj, 'value_mask' : u32obj }, + + 'of_oxm_nsh_si' : { 'value' : u8obj }, + 'of_oxm_nsh_si_masked' : { 'value' : u8obj, 'value_mask' : u8obj }, + + 'of_oxm_nsh_ch1' : { 'value' : u32obj }, + 'of_oxm_nsh_ch1_masked' : { 'value' : u32obj, 'value_mask' : u32obj }, + + 'of_oxm_nsh_ch2' : { 'value' : u32obj }, + 'of_oxm_nsh_ch2_masked' : { 'value' : u32obj, 'value_mask' : u32obj }, + + 'of_oxm_nsh_ch3' : { 'value' : u32obj }, + 'of_oxm_nsh_ch3_masked' : { 'value' : u32obj, 'value_mask' : u32obj }, + + 'of_oxm_nsh_ch4' : { 'value' : u32obj }, + 'of_oxm_nsh_ch4_masked' : { 'value' : u32obj, 'value_mask' : u32obj }, } diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java index c911132a7..45887a20b 100644 --- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java +++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchField.java @@ -328,6 +328,24 @@ private MatchField(final String name, final MatchFields id, Prerequisite... p public final static MatchField REG7 = new MatchField("reg7", MatchFields.REG7); + public final static MatchField NSH_SPI = + new MatchField("set_nsp", MatchFields.NSH_SPI); + + public final static MatchField NSH_SI = + new MatchField("set_nsi", MatchFields.NSH_SI); + + public final static MatchField NSH_CH1 = + new MatchField("set_nshc1", MatchFields.NSH_CH1); + + public final static MatchField NSH_CH2 = + new MatchField("set_nshc2", MatchFields.NSH_CH2); + + public final static MatchField NSH_CH3 = + new MatchField("set_nshc3", MatchFields.NSH_CH3); + + public final static MatchField NSH_CH4 = + new MatchField("set_nshc4", MatchFields.NSH_CH4); + public String getName() { return name; } diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java index be3671306..ed8a2305b 100644 --- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java +++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/MatchFields.java @@ -85,4 +85,10 @@ public enum MatchFields { REG5, REG6, REG7, + NSH_SPI, + NSH_SI, + NSH_CH1, + NSH_CH2, + NSH_CH3, + NSH_CH4, } diff --git a/openflow_input/oxm_nicira_nsh b/openflow_input/oxm_nicira_nsh new file mode 100644 index 000000000..eb32b4dfd --- /dev/null +++ b/openflow_input/oxm_nicira_nsh @@ -0,0 +1,103 @@ +// Copyright 2013, Big Switch Networks, Inc. +// +// LoxiGen is licensed under the Eclipse Public License, version 1.0 (EPL), with +// the following special exception: +// +// LOXI Exception +// +// As a special exception to the terms of the EPL, you may distribute libraries +// generated by LoxiGen (LoxiGen Libraries) under the terms of your choice, provided +// that copyright and licensing notices generated by LoxiGen are not altered or removd +// from the LoxiGen Libraries and the notice provided below is (i) included in +// the LoxiGen Libraries, if distributed in source code form and (ii) included in any +// documentation for the LoxiGen Libraries, if distributed in binary form. +// +// Notice: "Copyright 2013, Big Switch Networks, Inc. This library was generated by t" +// +// You may not use this file except in compliance with the EPL or LOXI Exception. Youn +// a copy of the EPL at: +// +// http://www.eclipse.org/legal/epl-v10.html +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// EPL for the specific language governing permissions and limitations +// under the EPL. + +#version 3 +#version 4 +#version 5 + +// Nicira extension for nsh_spi (37) +struct of_oxm_nsh_spi : of_oxm { + uint32_t type_len == 0x00014a04; + uint32_t value; +}; + +struct of_oxm_nsh_spi_masked : of_oxm { + uint32_t type_len == 0x00014b08; + uint32_t value; + uint32_t value_mask; +}; + +// Nicira extension for nsh_si (38) +struct of_oxm_nsh_si : of_oxm { + uint32_t type_len == 0x00014c04; + uint8_t value; +}; + +struct of_oxm_nsh_si_masked : of_oxm { + uint32_t type_len == 0x00014d08; + uint8_t value; + uint8_t value_mask; +}; + +// Nicira extension for nsh_ch1 (39) +struct of_oxm_nsh_ch1 : of_oxm { + uint32_t type_len == 0x00014e04; + uint32_t value; +}; + +struct of_oxm_nsh_ch1_masked : of_oxm { + uint32_t type_len == 0x00014f08; + uint32_t value; + uint32_t value_mask; +}; + +// Nicira extension for nsh_ch2 (40) +struct of_oxm_nsh_ch2 : of_oxm { + uint32_t type_len == 0x00015004; + uint32_t value; +}; + +struct of_oxm_nsh_ch2_masked : of_oxm { + uint32_t type_len == 0x00015108; + uint32_t value; + uint32_t value_mask; +}; + + +// Nicira extension for nsh_ch3 (41) +struct of_oxm_nsh_ch3 : of_oxm { + uint32_t type_len == 0x00015204; + uint32_t value; +}; + +struct of_oxm_nsh_ch3_masked : of_oxm { + uint32_t type_len == 0x00015308; + uint32_t value; + uint32_t value_mask; +}; + +// Nicira extension for nsh_ch4 (42) +struct of_oxm_nsh_ch4 : of_oxm { + uint32_t type_len == 0x00015404; + uint32_t value; +}; + +struct of_oxm_nsh_ch4_masked : of_oxm { + uint32_t type_len == 0x00015508; + uint32_t value; + uint32_t value_mask; +};