Messages in this thread Patch in this message | | | From | Saranya Panjarathina <> | Subject | [patch netdev] net: PIM register decapsulation and Forwarding. | Date | Sat, 14 May 2022 07:33:42 -0700 |
| |
From: Saranya_PL <plsaranya@gmail.com>
PIM register packet is decapsulated but not forwarded in RP
__pim_rcv decapsulates the PIM register packet and reinjects for forwarding after replacing the skb->dev to reg_dev (vif with VIFF_Register)
Ideally the incoming device should be same as skb->dev where the original PIM register packet is received. mcache would not have reg_vif as IIF. Decapsulated packet forwarding is failing because of IIF mismatch. In RP for this S,G RPF interface would be skb->dev vif only, so that would be IIF for the cache entry.
Signed-off-by: Saranya Panjarathina <plsaranya@gmail.com> --- net/ipv4/ipmr.c | 2 +- net/ipv6/ip6mr.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c index 13e6329784fb..7b9586335fb7 100644 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c @@ -598,7 +598,7 @@ static int __pim_rcv(struct mr_table *mrt, struct sk_buff *skb, skb->protocol = htons(ETH_P_IP); skb->ip_summed = CHECKSUM_NONE; - skb_tunnel_rx(skb, reg_dev, dev_net(reg_dev)); + skb_tunnel_rx(skb, skb->dev, dev_net(skb->dev)); netif_rx(skb); diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index 4e74bc61a3db..147e29a818ca 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c @@ -566,7 +566,7 @@ static int pim6_rcv(struct sk_buff *skb) skb->protocol = htons(ETH_P_IPV6); skb->ip_summed = CHECKSUM_NONE; - skb_tunnel_rx(skb, reg_dev, dev_net(reg_dev)); + skb_tunnel_rx(skb, skb->dev, net); netif_rx(skb); -- 2.20.1
| |