Revert "Adding Multisct traffic drop for un-programmed trees"
This patch also redirects IPv6 NDP, which is also a multicast packet, to table 40. The IPv6 bridging and BGP peering break as a result. I am reverting this for now and we will need to find another way around.
This reverts commit b955fec073cd90b3b1ac4cbab51e82d110ca43d1.
Change-Id: Ie2bca5c0c0edf170bcdb8f50821271585b275cb1
diff --git a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/mcast/McastUtils.java b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/mcast/McastUtils.java
index 40b8514..604f868 100644
--- a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/mcast/McastUtils.java
+++ b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/mcast/McastUtils.java
@@ -155,33 +155,6 @@
}
/**
- * Adds filtering objectives to drop any unknown multicast.
- *
- * @param deviceId device ID
- * @param ipv4 install a drop for Ipv4 addresses or Ipv6 addresses
- * @param assignedVlans the vlans for wich to drop the mcast traffic
- */
- void addDropFiltersToDevice(DeviceId deviceId, boolean ipv4, Set<VlanId> assignedVlans) {
- MacAddress routerMac;
- try {
- routerMac = srManager.deviceConfiguration().getDeviceMac(deviceId);
- } catch (DeviceConfigNotFoundException dcnfe) {
- log.warn("Fail to push filtering objective since device is not configured. Abort");
- return;
- }
- assignedVlans.forEach(assignedVlan -> {
- FilteringObjective.Builder filtObjBuilder = filterObjBuilderDrop(ipv4, routerMac, assignedVlan);
- ObjectiveContext context = new DefaultObjectiveContext(
- (objective) -> log.debug("Successfully add filter on {}",
- deviceId),
- (objective, error) ->
- log.warn("Failed to add filter on {}: {}",
- deviceId, error));
- srManager.flowObjectiveService.filter(deviceId, filtObjBuilder.add(context));
- });
- }
-
- /**
* Removes filtering objective for given device and port.
*
* @param deviceId device ID
@@ -414,7 +387,7 @@
* @return filtering objective builder
*/
private FilteringObjective.Builder filterObjBuilder(PortNumber ingressPort, VlanId assignedVlan,
- IpAddress mcastIp, MacAddress routerMac, McastRole mcastRole) {
+ IpAddress mcastIp, MacAddress routerMac, McastRole mcastRole) {
FilteringObjective.Builder filtBuilder = DefaultFilteringObjective.builder();
// Let's add the in port matching and the priority
filtBuilder.withKey(Criteria.matchInPort(ingressPort))
@@ -429,10 +402,10 @@
// According to the IP type we set the proper match on the mac address
if (mcastIp.isIp4()) {
filtBuilder.addCondition(Criteria.matchEthDstMasked(MacAddress.IPV4_MULTICAST,
- MacAddress.IPV4_MULTICAST_MASK));
+ MacAddress.IPV4_MULTICAST_MASK));
} else {
filtBuilder.addCondition(Criteria.matchEthDstMasked(MacAddress.IPV6_MULTICAST,
- MacAddress.IPV6_MULTICAST_MASK));
+ MacAddress.IPV6_MULTICAST_MASK));
}
// We finally build the meta treatment
TrafficTreatment tt = DefaultTrafficTreatment.builder()
@@ -445,40 +418,6 @@
}
/**
- * Creates a filtering objective builder for multicast drop.
- *
- * @param ipv4 do we need to install IPv4 or v6 ?
- * @param routerMac router MAC. This is carried in metadata and used from some switches that
- * need to put unicast entry before multicast entry in TMAC table.
- * @param assignedVlan the vlanId to drop
- * @return filtering objective builder
- */
- private FilteringObjective.Builder filterObjBuilderDrop(boolean ipv4, MacAddress routerMac, VlanId assignedVlan) {
-
- FilteringObjective.Builder filtBuilder = DefaultFilteringObjective.builder();
- // We match on the given vlan.
- // If the traffic comes in tagged with an mcast specific vlan there is no rule
- // in table 10 to handle it goes directly to 60 and it's dropped there.
- filtBuilder.addCondition(Criteria.matchVlanId(assignedVlan));
-
- // According to the IP type we set the proper match on the mac address
- if (ipv4) {
- filtBuilder.addCondition(Criteria.matchEthDstMasked(MacAddress.IPV4_MULTICAST,
- MacAddress.IPV4_MULTICAST_MASK));
- } else {
- filtBuilder.addCondition(Criteria.matchEthDstMasked(MacAddress.IPV6_MULTICAST,
- MacAddress.IPV6_MULTICAST_MASK));
- }
- // We finally build the meta treatment
- TrafficTreatment tt = DefaultTrafficTreatment.builder()
- .setEthDst(routerMac)
- .build();
- filtBuilder.withMeta(tt);
- // Done, we return a permit filtering objective
- return filtBuilder.permit().fromApp(srManager.appId());
- }
-
- /**
* Gets output ports information from treatments.
*
* @param treatments collection of traffic treatments