public static final BigInteger METADATA_MASK_SERVICE_INDEX = new BigInteger("F000000000000000", 16);
public static final BigInteger METADATA_MASK_VRFID = new BigInteger("0000000000FFFFFE", 16);
public static final BigInteger METADATA_MASK_REMOTE_ACL_ID = new BigInteger("0000000000FFFFFE", 16);
+ public static final BigInteger METADATA_MASK_REMOTE_ACL_TAG = new BigInteger("0000000000FFFFF0", 16);
public static final BigInteger METADATA_MASK_POLICY_CLASSIFER_ID = new BigInteger("0000000000FFFFFE", 16);
public static final BigInteger METADA_MASK_VALID_TUNNEL_ID_BIT_AND_TUNNEL_ID
= new BigInteger("08000000FFFFFF00", 16);
public static final BigInteger METADATA_MASK_SH_FLAG = new BigInteger("0000000000000001", 16);
public static final BigInteger METADATA_MASK_ELAN_SUBNET_ROUTE = new BigInteger("000000FFFF000000", 16);
public static final BigInteger METADATA_MASK_SUBNET_ROUTE = new BigInteger("000000FFFFFFFFFE", 16);
+ public static final BigInteger METADATA_MASK_ACL_CONNTRACK_CLASSIFIER_TYPE = new BigInteger("0000000000000002", 16);
private MetaDataUtil() { }
return getVpnIdFromMetadata(metadata);
}
+ /**
+ * Gets the ACL conntrack classifier type from meta data.<br>
+ * Second bit in metadata is used for this purpose.<br>
+ *
+ * <p>
+ * Conntrack supported traffic is identified by value 0 (0000 in binary)
+ * i.e., 0x0/0x2<br>
+ * Non-conntrack supported traffic is identified by value 2 (0010 in binary)
+ * i.e., 0x2/0x2
+ *
+ * @param conntrackClassifierType the conntrack classifier flag
+ * @return the acl conntrack classifier flag from meta data
+ */
+ public static BigInteger getAclConntrackClassifierTypeFromMetaData(BigInteger conntrackClassifierType) {
+ return METADATA_MASK_ACL_CONNTRACK_CLASSIFIER_TYPE.and(conntrackClassifierType.shiftLeft(1));
+ }
+
public static BigInteger getVpnIdMetadata(long vrfId) {
return METADATA_MASK_VRFID.and(BigInteger.valueOf(vrfId).shiftLeft(1));
}
short QOS_DSCP_TABLE = 90;
short INGRESS_SFC_CLASSIFIER_FILTER_TABLE = 100;
short INGRESS_SFC_CLASSIFIER_ACL_TABLE = 101;
+ short INGRESS_ACL_ANTI_SPOOFING_TABLE = 210;
+ short INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE = 211;
+ short INGRESS_ACL_CONNTRACK_SENDER_TABLE = 212;
+ short INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE = 213;
+ short INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE = 214;
+ short INGRESS_ACL_RULE_BASED_FILTER_TABLE = 215;
+ short INGRESS_REMOTE_ACL_TABLE = 216;
+ short INGRESS_ACL_COMMITTER_TABLE = 217;
+ // TODO: Remove below unused old ACL constants.
short INGRESS_ACL_TABLE = 211;
short INGRESS_ACL_REMOTE_ACL_TABLE = 212;
short INGRESS_ACL_FILTER_TABLE = 213;
short EGRESS_SFC_CLASSIFIER_EGRESS_TABLE = 223;
short EGRESS_POLICY_CLASSIFIER_TABLE = 230;
short EGRESS_POLICY_ROUTING_TABLE = 231;
+ short EGRESS_ACL_DUMMY_TABLE = 239;
+ short EGRESS_ACL_ANTI_SPOOFING_TABLE = 240;
+ short EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE = 241;
+ short EGRESS_ACL_CONNTRACK_SENDER_TABLE = 242;
+ short EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE = 243;
+ short EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE = 244;
+ short EGRESS_ACL_RULE_BASED_FILTER_TABLE = 245;
+ short EGRESS_REMOTE_ACL_TABLE = 246;
+ short EGRESS_ACL_COMMITTER_TABLE = 247;
+ // TODO: Remove below unused old ACL constants.
short EGRESS_ACL_TABLE = 241;
short EGRESS_ACL_REMOTE_ACL_TABLE = 242;
short EGRESS_ACL_FILTER_TABLE = 243;