Skip to content

Commit

Permalink
Merge into master from pull request #512:
Browse files Browse the repository at this point in the history
add tcp_flags (#512)
  • Loading branch information
abat committed Sep 5, 2016
2 parents 424a68b + 6f190cb commit 7821095
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 0 deletions.
2 changes: 2 additions & 0 deletions java_gen/java_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -684,6 +684,8 @@ def gen_fixed_length_string_jtype(length):

'of_oxm_tcp_flags' : { 'value' : u16obj },
'of_oxm_tcp_flags_masked' : { 'value' : u16obj, 'value_mask' : u16obj },
'of_oxm_ovs_tcp_flags' : { 'value' : u16obj },
'of_oxm_ovs_tcp_flags_masked' : { 'value' : u16obj, 'value_mask' : u16obj },
'of_oxm_actset_output' : { 'value' : of_port },
'of_oxm_actset_output_masked' : { 'value' : of_port, 'value_mask' : of_port },
'of_oxm_packet_type' : { 'value' : packet_type },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,10 @@ private MatchField(final String name, final MatchFields id, Prerequisite<?>... p
new MatchField<U16>("tcp_flags", MatchFields.TCP_FLAGS,
new Prerequisite<IpProtocol>(MatchField.IP_PROTO, IpProtocol.TCP));

public final static MatchField<U16> OVS_TCP_FLAGS =
new MatchField<U16>("ovs_tcp_flags", MatchFields.OVS_TCP_FLAGS,
new Prerequisite<IpProtocol>(MatchField.IP_PROTO, IpProtocol.TCP));

public final static MatchField<PacketType> PACKET_TYPE =
new MatchField<PacketType>("packet_type", MatchFields.PACKET_TYPE);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ public enum MatchFields {
IPV6_EXTHDR,
PBB_UCA,
TCP_FLAGS,
OVS_TCP_FLAGS,
ACTSET_OUTPUT,
TUNNEL_IPV4_SRC,
TUNNEL_IPV4_DST,
Expand Down
64 changes: 64 additions & 0 deletions openflow_input/ovs_tcp_flags
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
// Copyright 2014, 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 removed
// 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 the LoxiGen Compiler."
//
// You may not use this file except in compliance with the EPL or
// LOXI Exception. You may obtain 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
#version 6

/*
*Experimenter TCP flags
*Author: fangtuo90@gmail.com
*/

enum ofp_ovs_tcp_flag(wire_type=uint16_t, bitmask=True) {
OFP_OVS_TCP_FLAG_FIN = 0x001,
OFP_OVS_TCP_FLAG_SYN = 0x002,
OFP_OVS_TCP_FLAG_RST = 0x004,
OFP_OVS_TCP_FLAG_PSH = 0x008,
OFP_OVS_TCP_FLAG_ACK = 0x010,
OFP_OVS_TCP_FLAG_URG = 0x020,
OFP_OVS_TCP_FLAG_ECE = 0x040,
OFP_OVS_TCP_FLAG_CWR = 0x080,
OFP_OVS_TCP_FLAG_NS = 0x100,
};

struct of_oxm_ovs_tcp_flags : of_oxm {
uint32_t type_len == 0xffff5406;
uint32_t experimenter_id == 0x4f4e4600;
uint16_t value;
};

struct of_oxm_ovs_tcp_flags_masked : of_oxm {
uint32_t type_len == 0xffff5508;
uint32_t experimenter_id == 0x4f4e4600;
uint16_t value;
uint16_t value_mask;
};

0 comments on commit 7821095

Please sign in to comment.