--- zzzz-none-000/linux-4.1.38/net/ipv4/fib_frontend.c 2017-01-18 18:48:06.000000000 +0000 +++ bcm63-7582-715/linux-4.1.38/net/ipv4/fib_frontend.c 2020-11-25 10:06:48.000000000 +0000 @@ -379,6 +379,13 @@ { int r = secpath_exists(skb) ? 0 : IN_DEV_RPFILTER(idev); +#if defined(CONFIG_BCM_KF_MCAST_RP_FILTER) + /* ignore rp_filter for multicast traffic */ + if (skb->pkt_type == PACKET_MULTICAST) { + r = 0; + } +#endif + if (!r && !fib_num_tclassid_users(dev_net(dev)) && IN_DEV_ACCEPT_LOCAL(idev) && (dev->ifindex != oif || !IN_DEV_TX_REDIRECTS(idev))) {