Thread (1 message) 1 message, 1 author, 2020-03-23

Re: VRF: All router multicast entry(FF02:2) not added to VRF Dev but added on VLAN Dev

From: David Ahern <hidden>
Date: 2020-03-23 16:23:20

On 3/23/20 12:00 AM, Sukumar Gopalakrishnan wrote:
As per the kernel version 4.14.170, skb->dev is changing to vrf_dev even
if need_strict is TRUE except few types of ndisc packets..

static struct sk_buff *vrf_ip6_rcv(struct net_device *vrf_dev,
                                   struct sk_buff *skb)
{
        int orig_iif = skb->skb_iif;
        bool need_strict = rt6_need_strict(&ipv6_hdr(skb)->daddr);
        bool is_ndisc = ipv6_ndisc_frame(skb);

        /* loopback, multicast & non-ND link-local traffic; do not push
through
         * packet taps again. Reset pkt_type for upper layers to process skb
         */
        if (skb->pkt_type == PACKET_LOOPBACK || (need_strict &&
!is_ndisc)) {
                skb->dev = vrf_dev;
                skb->skb_iif = vrf_dev->ifindex;
                IP6CB(skb)->flags |= IP6SKB_L3SLAVE;
                if (skb->pkt_type == PACKET_LOOPBACK)
                        skb->pkt_type = PACKET_HOST;
                goto out;
        }
This 4.14 patch needs to be reverted:

commit 2271c9500434af2a26b2c9eadeb3c0b075409fb5
Author: Mike Manning [off-list ref]
Date:   Wed Nov 7 15:36:07 2018 +0000

    vrf: mark skb for multicast or link-local as enslaved to VRF

    [ Upstream commit 6f12fa775530195a501fb090d092c637f32d0cc5 ]


The upstream commit should not have been backported.

Sasha: can you revert?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help