add several BSN OXMs
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 574cb55..ecced06 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
@@ -1,6 +1,7 @@
package org.projectfloodlight.openflow.protocol.match;
import org.projectfloodlight.openflow.types.ArpOpcode;
+import org.projectfloodlight.openflow.types.ClassId;
import org.projectfloodlight.openflow.types.EthType;
import org.projectfloodlight.openflow.types.ICMPv4Code;
import org.projectfloodlight.openflow.types.ICMPv4Type;
@@ -21,6 +22,7 @@
import org.projectfloodlight.openflow.types.U8;
import org.projectfloodlight.openflow.types.VlanPcp;
import org.projectfloodlight.openflow.types.VlanVid;
+import org.projectfloodlight.openflow.types.VRF;
@SuppressWarnings("unchecked")
public class MatchField<F extends OFValueType<F>> {
@@ -178,6 +180,21 @@
public final static MatchField<LagId> BSN_LAG_ID =
new MatchField<LagId>("bsn_lag_id", MatchFields.BSN_LAG_ID);
+ public final static MatchField<VRF> BSN_VRF =
+ new MatchField<VRF>("bsn_vrf", MatchFields.BSN_VRF);
+
+ public final static MatchField<U8> BSN_GLOBAL_VRF_ALLOWED =
+ new MatchField<U8>("bsn_global_vrf_allowed", MatchFields.BSN_GLOBAL_VRF_ALLOWED);
+
+ public final static MatchField<ClassId> BSN_L3_INTERFACE_CLASS_ID =
+ new MatchField<ClassId>("bsn_l3_interface_class_id", MatchFields.BSN_L3_INTERFACE_CLASS_ID);
+
+ public final static MatchField<ClassId> BSN_L3_SRC_CLASS_ID =
+ new MatchField<ClassId>("bsn_l3_src_class_id", MatchFields.BSN_L3_SRC_CLASS_ID);
+
+ public final static MatchField<ClassId> BSN_L3_DST_CLASS_ID =
+ new MatchField<ClassId>("bsn_l3_dst_class_id", MatchFields.BSN_L3_DST_CLASS_ID);
+
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 e41f786..6d9b20e 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
@@ -40,4 +40,9 @@
MPLS_TC,
BSN_IN_PORTS_128,
BSN_LAG_ID,
+ BSN_VRF,
+ BSN_GLOBAL_VRF_ALLOWED,
+ BSN_L3_INTERFACE_CLASS_ID,
+ BSN_L3_SRC_CLASS_ID,
+ BSN_L3_DST_CLASS_ID,
}
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/ClassId.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/ClassId.java
index 72ed3da..b082f8b 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/ClassId.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/ClassId.java
@@ -2,6 +2,8 @@
import javax.annotation.concurrent.Immutable;
+import org.jboss.netty.buffer.ChannelBuffer;
+
import com.google.common.hash.PrimitiveSink;
import com.google.common.primitives.UnsignedInts;
@@ -65,6 +67,14 @@
return true;
}
+ public void write4Bytes(ChannelBuffer c) {
+ c.writeInt(rawValue);
+ }
+
+ public static ClassId read4Bytes(ChannelBuffer c) {
+ return ClassId.of(c.readInt());
+ }
+
@Override
public int compareTo(ClassId o) {
return UnsignedInts.compare(rawValue, rawValue);
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VRF.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VRF.java
index b3f187f..b742da5 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VRF.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VRF.java
@@ -12,6 +12,7 @@
static final int LENGTH = 4;
private final int rawValue;
+ public static final VRF ZERO = VRF.of(0x0);
public static final VRF NO_MASK = VRF.of(0xFFFFFFFF);
public static final VRF FULL_MASK = VRF.of(0x00000000);