Jonathan Hart
Committed by Ray Milkey

FlowEntryBuilder: Don't do strange things with VLAN ethertype

ONOS-3258

Change-Id: I06e0178211b4e96f1dd70e35ab914ef62bfbb8a2
...@@ -15,15 +15,7 @@ ...@@ -15,15 +15,7 @@
15 */ 15 */
16 package org.onosproject.provider.of.flow.impl; 16 package org.onosproject.provider.of.flow.impl;
17 17
18 -import static org.onosproject.net.flow.criteria.Criteria.matchLambda; 18 +import com.google.common.collect.Lists;
19 -import static org.onosproject.net.flow.criteria.Criteria.matchOchSignalType;
20 -import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupChannelSpacing;
21 -import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupGridType;
22 -import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupOchSignalType;
23 -import static org.slf4j.LoggerFactory.getLogger;
24 -
25 -import java.util.List;
26 -
27 import org.onlab.packet.Ip4Address; 19 import org.onlab.packet.Ip4Address;
28 import org.onlab.packet.Ip4Prefix; 20 import org.onlab.packet.Ip4Prefix;
29 import org.onlab.packet.Ip6Address; 21 import org.onlab.packet.Ip6Address;
...@@ -55,13 +47,13 @@ import org.projectfloodlight.openflow.protocol.action.OFActionCircuit; ...@@ -55,13 +47,13 @@ import org.projectfloodlight.openflow.protocol.action.OFActionCircuit;
55 import org.projectfloodlight.openflow.protocol.action.OFActionExperimenter; 47 import org.projectfloodlight.openflow.protocol.action.OFActionExperimenter;
56 import org.projectfloodlight.openflow.protocol.action.OFActionGroup; 48 import org.projectfloodlight.openflow.protocol.action.OFActionGroup;
57 import org.projectfloodlight.openflow.protocol.action.OFActionOutput; 49 import org.projectfloodlight.openflow.protocol.action.OFActionOutput;
58 -import org.projectfloodlight.openflow.protocol.action.OFActionSetQueue;
59 import org.projectfloodlight.openflow.protocol.action.OFActionPopMpls; 50 import org.projectfloodlight.openflow.protocol.action.OFActionPopMpls;
60 import org.projectfloodlight.openflow.protocol.action.OFActionSetDlDst; 51 import org.projectfloodlight.openflow.protocol.action.OFActionSetDlDst;
61 import org.projectfloodlight.openflow.protocol.action.OFActionSetDlSrc; 52 import org.projectfloodlight.openflow.protocol.action.OFActionSetDlSrc;
62 import org.projectfloodlight.openflow.protocol.action.OFActionSetField; 53 import org.projectfloodlight.openflow.protocol.action.OFActionSetField;
63 import org.projectfloodlight.openflow.protocol.action.OFActionSetNwDst; 54 import org.projectfloodlight.openflow.protocol.action.OFActionSetNwDst;
64 import org.projectfloodlight.openflow.protocol.action.OFActionSetNwSrc; 55 import org.projectfloodlight.openflow.protocol.action.OFActionSetNwSrc;
56 +import org.projectfloodlight.openflow.protocol.action.OFActionSetQueue;
65 import org.projectfloodlight.openflow.protocol.action.OFActionSetVlanPcp; 57 import org.projectfloodlight.openflow.protocol.action.OFActionSetVlanPcp;
66 import org.projectfloodlight.openflow.protocol.action.OFActionSetVlanVid; 58 import org.projectfloodlight.openflow.protocol.action.OFActionSetVlanVid;
67 import org.projectfloodlight.openflow.protocol.instruction.OFInstruction; 59 import org.projectfloodlight.openflow.protocol.instruction.OFInstruction;
...@@ -75,7 +67,6 @@ import org.projectfloodlight.openflow.protocol.oxm.OFOxm; ...@@ -75,7 +67,6 @@ import org.projectfloodlight.openflow.protocol.oxm.OFOxm;
75 import org.projectfloodlight.openflow.protocol.oxm.OFOxmOchSigidBasic; 67 import org.projectfloodlight.openflow.protocol.oxm.OFOxmOchSigidBasic;
76 import org.projectfloodlight.openflow.protocol.ver13.OFFactoryVer13; 68 import org.projectfloodlight.openflow.protocol.ver13.OFFactoryVer13;
77 import org.projectfloodlight.openflow.types.CircuitSignalID; 69 import org.projectfloodlight.openflow.types.CircuitSignalID;
78 -import org.projectfloodlight.openflow.types.EthType;
79 import org.projectfloodlight.openflow.types.IPv4Address; 70 import org.projectfloodlight.openflow.types.IPv4Address;
80 import org.projectfloodlight.openflow.types.IPv6Address; 71 import org.projectfloodlight.openflow.types.IPv6Address;
81 import org.projectfloodlight.openflow.types.Masked; 72 import org.projectfloodlight.openflow.types.Masked;
...@@ -87,7 +78,14 @@ import org.projectfloodlight.openflow.types.U8; ...@@ -87,7 +78,14 @@ import org.projectfloodlight.openflow.types.U8;
87 import org.projectfloodlight.openflow.types.VlanPcp; 78 import org.projectfloodlight.openflow.types.VlanPcp;
88 import org.slf4j.Logger; 79 import org.slf4j.Logger;
89 80
90 -import com.google.common.collect.Lists; 81 +import java.util.List;
82 +
83 +import static org.onosproject.net.flow.criteria.Criteria.matchLambda;
84 +import static org.onosproject.net.flow.criteria.Criteria.matchOchSignalType;
85 +import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupChannelSpacing;
86 +import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupGridType;
87 +import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupOchSignalType;
88 +import static org.slf4j.LoggerFactory.getLogger;
91 89
92 public class FlowEntryBuilder { 90 public class FlowEntryBuilder {
93 private final Logger log = getLogger(getClass()); 91 private final Logger log = getLogger(getClass());
...@@ -520,11 +518,7 @@ public class FlowEntryBuilder { ...@@ -520,11 +518,7 @@ public class FlowEntryBuilder {
520 break; 518 break;
521 case ETH_TYPE: 519 case ETH_TYPE:
522 int ethType = match.get(MatchField.ETH_TYPE).getValue(); 520 int ethType = match.get(MatchField.ETH_TYPE).getValue();
523 - if (ethType == EthType.VLAN_FRAME.getValue()) {
524 - builder.matchVlanId(VlanId.ANY);
525 - } else {
526 builder.matchEthType((short) ethType); 521 builder.matchEthType((short) ethType);
527 - }
528 break; 522 break;
529 case VLAN_VID: 523 case VLAN_VID:
530 VlanId vlanId = null; 524 VlanId vlanId = null;
......