DHCP and IGMP trap flows must include write metadata (tech profile id) and meter instructions
Change-Id: Idfd3d28730be6cab414ab5eb099e9ec9f5555d86
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/OltPipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/OltPipeline.java
index 94a729c..d2d5993 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/OltPipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/OltPipeline.java
@@ -768,8 +768,12 @@
private void provisionIgmp(FilteringObjective filter, EthTypeCriterion ethType,
IPProtocolCriterion ipProto,
Instructions.OutputInstruction output) {
+
+ Instruction meter = filter.meta().metered();
+ Instruction writeMetadata = filter.meta().writeMetadata();
+
TrafficSelector selector = buildSelector(filter.key(), ethType, ipProto);
- TrafficTreatment treatment = buildTreatment(output);
+ TrafficTreatment treatment = buildTreatment(output, meter, writeMetadata);
buildAndApplyRule(filter, selector, treatment);
}
@@ -778,8 +782,12 @@
UdpPortCriterion udpSrcPort,
UdpPortCriterion udpDstPort,
Instructions.OutputInstruction output) {
+
+ Instruction meter = filter.meta().metered();
+ Instruction writeMetadata = filter.meta().writeMetadata();
+
TrafficSelector selector = buildSelector(filter.key(), ethType, ipProto, udpSrcPort, udpDstPort);
- TrafficTreatment treatment = buildTreatment(output);
+ TrafficTreatment treatment = buildTreatment(output, meter, writeMetadata);
buildAndApplyRule(filter, selector, treatment);
}