--- zzzz-none-000/linux-4.9.279/net/ipv6/ndisc.c 2021-08-08 06:38:54.000000000 +0000 +++ puma7-arm-6591-750/linux-4.9.279/net/ipv6/ndisc.c 2023-02-08 10:58:16.000000000 +0000 @@ -13,6 +13,11 @@ */ /* + * Includes Intel Corporation's changes/modifications dated: 2017. + * Changed/modified portions - Copyright (c) 2017, Intel Corporation. + */ + +/* * Changes: * * Alexey I. Froloff : RFC6106 (DNSSL) support @@ -1236,7 +1241,7 @@ pref = ICMPV6_ROUTER_PREF_MEDIUM; #endif - rt = rt6_get_dflt_router(&ipv6_hdr(skb)->saddr, skb->dev); + rt = rt6_get_dflt_router_by_table(&ipv6_hdr(skb)->saddr, skb->dev, in6_dev->cnf.accept_ra_table); if (rt) { neigh = dst_neigh_lookup(&rt->dst, &ipv6_hdr(skb)->saddr); @@ -1258,7 +1263,7 @@ if (!rt && lifetime) { ND_PRINTK(3, info, "RA: adding default router\n"); - rt = rt6_add_dflt_router(&ipv6_hdr(skb)->saddr, skb->dev, pref); + rt = rt6_add_dflt_router_by_table(&ipv6_hdr(skb)->saddr, skb->dev, pref, in6_dev->cnf.accept_ra_table); if (!rt) { ND_PRINTK(0, err, "RA: %s failed to add default route\n", @@ -1397,8 +1402,8 @@ continue; if (ri->prefix_len > in6_dev->cnf.accept_ra_rt_info_max_plen) continue; - rt6_route_rcv(skb->dev, (u8 *)p, (p->nd_opt_len) << 3, - &ipv6_hdr(skb)->saddr); + rt6_route_rcv_by_table(skb->dev, (u8*)p, (p->nd_opt_len) << 3, + &ipv6_hdr(skb)->saddr, in6_dev->cnf.accept_ra_table); } } @@ -1420,9 +1425,9 @@ for (p = ndopts.nd_opts_pi; p; p = ndisc_next_option(p, ndopts.nd_opts_pi_end)) { - addrconf_prefix_rcv(skb->dev, (u8 *)p, + addrconf_prefix_rcv_by_table(skb->dev, (u8 *)p, (p->nd_opt_len) << 3, - ndopts.nd_opts_src_lladdr != NULL); + ndopts.nd_opts_src_lladdr != NULL, in6_dev->cnf.accept_ra_table); } }