Navigation Menu

Skip to content

Commit

Permalink
Bum traffic handling in transparent service chain
Browse files Browse the repository at this point in the history
When the BUM traffic is received on transparent service chain
interface, it has to be dropped to avoid the loops in that
service chain network.
Checking-in on behalf of  Anand

Change-Id: Ic1b1a2f2c5716e2852582012963e6ee9934e9a1a
closes-bug: #1449166
  • Loading branch information
divakardhar committed May 20, 2015
1 parent 7188c10 commit 31a4cda
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions dp-core/vr_datapath.c
Expand Up @@ -495,6 +495,18 @@ vr_virtual_input(unsigned short vrf, struct vr_interface *vif,
return 0;
}

/*
* we really do not allow any broadcast packets from interfaces
* that are part of transparent service chain, since transparent
* service chain bridges packets across vrf (and hence loops can
* happen)
*/
if ((pkt->vp_flags & VP_FLAG_MULTICAST) &&
(vif_is_service(vif))) {
vif_drop_pkt(vif, pkt, 1);
return 0;
}

if (!vr_flow_forward(pkt->vp_if->vif_router, pkt, &fmd))
return 0;

Expand Down

0 comments on commit 31a4cda

Please sign in to comment.