--- zzzz-none-000/linux-4.19.183/net/ipv4/fib_frontend.c 2021-03-24 10:07:39.000000000 +0000 +++ bcm63-7530ax-756/linux-4.19.183/net/ipv4/fib_frontend.c 2023-06-28 08:54:21.000000000 +0000 @@ -413,7 +413,12 @@ u8 tos, int oif, struct net_device *dev, struct in_device *idev, u32 *itag) { +#if defined(CONFIG_BCM_KF_MAP) && IS_ENABLED(CONFIG_BCM_MAP) + /* Ignore rp_filter for packets translated by MAP-T/MAP-E too. */ + int r = secpath_exists(skb) ? 0 : (skbuff_bcm_ext_map_get(skb, map_forward) != MAP_FORWARD_NONE ? 0 : IN_DEV_RPFILTER(idev)); +#else int r = secpath_exists(skb) ? 0 : IN_DEV_RPFILTER(idev); +#endif struct net *net = dev_net(dev); if (!r && !fib_num_tclassid_users(net) &&