alshabib
Committed by Gerrit Code Review

fixing vlan_push in 1.0 environments, ie. it does nothing

Change-Id: Ia29c9ef3d93d40216c90a6c7e89c7fb2125ce55b
...@@ -135,6 +135,7 @@ public class FlowModBuilderVer10 extends FlowModBuilder { ...@@ -135,6 +135,7 @@ public class FlowModBuilderVer10 extends FlowModBuilder {
135 135
136 private List<OFAction> buildActions() { 136 private List<OFAction> buildActions() {
137 List<OFAction> acts = new LinkedList<>(); 137 List<OFAction> acts = new LinkedList<>();
138 + OFAction act;
138 if (treatment == null) { 139 if (treatment == null) {
139 return acts; 140 return acts;
140 } 141 }
...@@ -144,10 +145,16 @@ public class FlowModBuilderVer10 extends FlowModBuilder { ...@@ -144,10 +145,16 @@ public class FlowModBuilderVer10 extends FlowModBuilder {
144 log.warn("Saw drop action; assigning drop action"); 145 log.warn("Saw drop action; assigning drop action");
145 return Collections.emptyList(); 146 return Collections.emptyList();
146 case L2MODIFICATION: 147 case L2MODIFICATION:
147 - acts.add(buildL2Modification(i)); 148 + act = buildL2Modification(i);
149 + if (act != null) {
150 + acts.add(buildL2Modification(i));
151 + }
148 break; 152 break;
149 case L3MODIFICATION: 153 case L3MODIFICATION:
150 - acts.add(buildL3Modification(i)); 154 + act = buildL3Modification(i);
155 + if (act != null) {
156 + acts.add(buildL3Modification(i));
157 + }
151 break; 158 break;
152 case OUTPUT: 159 case OUTPUT:
153 OutputInstruction out = (OutputInstruction) i; 160 OutputInstruction out = (OutputInstruction) i;
...@@ -209,6 +216,8 @@ public class FlowModBuilderVer10 extends FlowModBuilder { ...@@ -209,6 +216,8 @@ public class FlowModBuilderVer10 extends FlowModBuilder {
209 return factory().actions().setVlanPcp(VlanPcp.of(vlanPcp.vlanPcp())); 216 return factory().actions().setVlanPcp(VlanPcp.of(vlanPcp.vlanPcp()));
210 case VLAN_POP: 217 case VLAN_POP:
211 return factory().actions().stripVlan(); 218 return factory().actions().stripVlan();
219 + case VLAN_PUSH:
220 + return null;
212 default: 221 default:
213 log.warn("Unimplemented action type {}.", l2m.subtype()); 222 log.warn("Unimplemented action type {}.", l2m.subtype());
214 break; 223 break;
......