Skip to content

Commit

Permalink
[ONOS-3291] Match fields added in LOXI for NSH extension
Browse files Browse the repository at this point in the history
Change-Id: I3a51c914afb9ee3c836de2800ae9cb87d9a1470a
  • Loading branch information
Phaneendra-Huawei committed Dec 9, 2015
1 parent b5baacc commit 4c728b3
Show file tree
Hide file tree
Showing 4 changed files with 145 additions and 0 deletions.
18 changes: 18 additions & 0 deletions java_gen/java_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 },
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,24 @@ private MatchField(final String name, final MatchFields id, Prerequisite<?>... p
public final static MatchField<U32> REG7 =
new MatchField<U32>("reg7", MatchFields.REG7);

public final static MatchField<U32> NSH_SPI =
new MatchField<U32>("set_nsp", MatchFields.NSH_SPI);

public final static MatchField<U8> NSH_SI =
new MatchField<U8>("set_nsi", MatchFields.NSH_SI);

public final static MatchField<U32> NSH_CH1 =
new MatchField<U32>("set_nshc1", MatchFields.NSH_CH1);

public final static MatchField<U32> NSH_CH2 =
new MatchField<U32>("set_nshc2", MatchFields.NSH_CH2);

public final static MatchField<U32> NSH_CH3 =
new MatchField<U32>("set_nshc3", MatchFields.NSH_CH3);

public final static MatchField<U32> NSH_CH4 =
new MatchField<U32>("set_nshc4", MatchFields.NSH_CH4);

public String getName() {
return name;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,10 @@ public enum MatchFields {
REG5,
REG6,
REG7,
NSH_SPI,
NSH_SI,
NSH_CH1,
NSH_CH2,
NSH_CH3,
NSH_CH4,
}
103 changes: 103 additions & 0 deletions openflow_input/oxm_nicira_nsh
Original file line number Diff line number Diff line change
@@ -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;
};

0 comments on commit 4c728b3

Please sign in to comment.