Saurav Das

Fixes for the Pica8 pipeline and the cpqd emulation of the OFDPA pipeline.

Change-Id: Ib1982cdb7bc580cf86c43ace229388ee1f1106a2
...@@ -29,7 +29,7 @@ public class CpqdOFDPA1Pipeline extends OFDPA1Pipeline { ...@@ -29,7 +29,7 @@ public class CpqdOFDPA1Pipeline extends OFDPA1Pipeline {
29 processIpTable(); 29 processIpTable();
30 //processMcastTable(); 30 //processMcastTable();
31 processBridgingTable(); 31 processBridgingTable();
32 - //processAclTable(); 32 + processAclTable();
33 //processGroupTable(); 33 //processGroupTable();
34 } 34 }
35 35
...@@ -152,7 +152,35 @@ public class CpqdOFDPA1Pipeline extends OFDPA1Pipeline { ...@@ -152,7 +152,35 @@ public class CpqdOFDPA1Pipeline extends OFDPA1Pipeline {
152 log.info("Failed to initialize Bridging table"); 152 log.info("Failed to initialize Bridging table");
153 } 153 }
154 })); 154 }));
155 + }
155 156
157 + private void processAclTable() {
158 + //table miss entry - catch all to executed action-set
159 + FlowRuleOperations.Builder ops = FlowRuleOperations.builder();
160 + TrafficSelector.Builder selector = DefaultTrafficSelector.builder();
161 + TrafficTreatment.Builder treatment = DefaultTrafficTreatment.builder();
162 + selector = DefaultTrafficSelector.builder();
163 + treatment = DefaultTrafficTreatment.builder();
164 + FlowRule rule = DefaultFlowRule.builder()
165 + .forDevice(deviceId)
166 + .withSelector(selector.build())
167 + .withTreatment(treatment.build())
168 + .withPriority(LOWEST_PRIORITY)
169 + .fromApp(driverId)
170 + .makePermanent()
171 + .forTable(ACL_TABLE).build();
172 + ops = ops.add(rule);
173 + flowRuleService.apply(ops.build(new FlowRuleOperationsContext() {
174 + @Override
175 + public void onSuccess(FlowRuleOperations ops) {
176 + log.info("Initialized Acl table");
177 + }
178 +
179 + @Override
180 + public void onError(FlowRuleOperations ops) {
181 + log.info("Failed to initialize Acl table");
182 + }
183 + }));
156 } 184 }
157 185
158 } 186 }
......
...@@ -529,7 +529,6 @@ public class OFDPA1Pipeline extends AbstractHandlerBehaviour implements Pipeline ...@@ -529,7 +529,6 @@ public class OFDPA1Pipeline extends AbstractHandlerBehaviour implements Pipeline
529 .makePermanent() 529 .makePermanent()
530 .forTable(ACL_TABLE); 530 .forTable(ACL_TABLE);
531 531
532 - // XXX bug in OFDPA
533 return Collections.singletonList(ruleBuilder.build()); 532 return Collections.singletonList(ruleBuilder.build());
534 } 533 }
535 534
......
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
84 impl="org.onosproject.driver.pipeline.CentecV350Pipeline"/> 84 impl="org.onosproject.driver.pipeline.CentecV350Pipeline"/>
85 </driver> 85 </driver>
86 <driver name="pica" extends="default" 86 <driver name="pica" extends="default"
87 - manufacturer="Pica8, Inc." hwVersion="ly2" swVersion="PicOS 2.6"> 87 + manufacturer="Pica8, Inc." hwVersion=".*" swVersion="PicOS 2.6">
88 <behaviour api="org.onosproject.net.behaviour.Pipeliner" 88 <behaviour api="org.onosproject.net.behaviour.Pipeliner"
89 impl="org.onosproject.driver.pipeline.PicaPipeline"/> 89 impl="org.onosproject.driver.pipeline.PicaPipeline"/>
90 </driver> 90 </driver>
......