import java.math.BigInteger;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.FlowCookie;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
/**
* OFP related constants
/** enum ofp_port_no, reserved port: local openflow port */
public static final short OFPP_LOCAL = ((short)0xfffe);
-
/** openflow protocol 1.0 - version identifier */
public static final short OFP_VERSION_1_0 = 0x01;
/** openflow protocol 1.3 - version identifier */
public static final BigInteger DEFAULT_COOKIE_MASK = BigInteger.ZERO;
public static final FlowCookie DEFAULT_FLOW_COOKIE = new FlowCookie(DEFAULT_COOKIE);
public static final Integer DEFAULT_FLOW_PRIORITY = 0x8000;
+ /** Empty flow match */
+ public static final Match EMPTY_MATCH = new MatchBuilder().build();
/** indicates that no buffering should be applied and the whole packet is to be
* sent to the controller. */
* sent to the controller. */
public static final Integer OFPCML_NO_BUFFER = 0xffff;
-
public static final int MAC_ADDRESS_LENGTH = 6;
public static final int SIZE_OF_LONG_IN_BYTES = 8;
public static final int SIGNUM_UNSIGNED = 1;
private final int priority;
private final BigInteger cookie;
private final Match match;
- private static final Match EMPTY_MATCH = new MatchBuilder().build();
public FlowRegistryKeyDto(final Flow flow) {
//TODO: mandatory flow input values (or default values) should be specified via yang model
tableId = Preconditions.checkNotNull(flow.getTableId(), "flow tableId must not be null");
priority = MoreObjects.firstNonNull(flow.getPriority(), OFConstants.DEFAULT_FLOW_PRIORITY);
- match = flow.getMatch()==null ? EMPTY_MATCH : flow.getMatch();
+ match = MoreObjects.firstNonNull(flow.getMatch(), OFConstants.EMPTY_MATCH);
cookie = MoreObjects.firstNonNull(flow.getCookie(), OFConstants.DEFAULT_FLOW_COOKIE).getValue();
}