ipv6_stub
dst = ipv6_stub->ipv6_dst_lookup_flow(addr->net, NULL, &fl6, NULL);
ndst = ipv6_stub->ipv6_dst_lookup_flow(sock_net(recv_sockets.sk6->sk),
if (IS_ENABLED(CONFIG_IPV6) && ipv6_stub->nd_tbl)
return NEIGH_VAR(&ipv6_stub->nd_tbl->parms, DELAY_PROBE_TIME);
if (n->tbl != ipv6_stub->nd_tbl && n->tbl != &arp_tbl)
if (!p->dev || (p->tbl != ipv6_stub->nd_tbl && p->tbl != &arp_tbl))
dst = ipv6_stub->ipv6_dst_lookup_flow(dev_net(dev), NULL, &attr->fl.fl6,
tbl = ipv6_stub->nd_tbl;
dst = ipv6_stub->ipv6_dst_lookup_flow(net, NULL, &flow, NULL);
if (n->tbl != ipv6_stub->nd_tbl && n->tbl != &arp_tbl)
dst = ipv6_stub->ipv6_dst_lookup_flow(dev_net(netdev), NULL, &flow,
n = neigh_lookup(ipv6_stub->nd_tbl,
dst = ipv6_stub->ipv6_dst_lookup_flow(net, NULL, &flow6,
} else if (n->tbl == ipv6_stub->nd_tbl) {
dst = ipv6_stub->ipv6_dst_lookup_flow(net, sk, fl6, NULL);
entry = ipv6_stub->ipv6_dst_lookup_flow(dev_net(ovpn->dev), NULL, &fl,
dst = ipv6_stub->ipv6_dst_lookup_flow(sock_net(sk), sk, &fl, NULL);
ipv6_stub->ndisc_send_na(netdev, &iph->saddr, &msg->target,
n = neigh_lookup(ipv6_stub->nd_tbl, &msg->target, dev);
if (!ipv6_stub->nd_tbl)
n = neigh_lookup(ipv6_stub->nd_tbl, &pip6->daddr, dev);
ret = ipv6_stub->ipv6_sock_mc_join(sk, ifindex,
ret = ipv6_stub->ipv6_sock_mc_drop(sk, ifindex,
dst = ipv6_stub->ipv6_dst_lookup_flow(sock_net(sock), sock, &fl,
extern const struct ipv6_stub *ipv6_stub __read_mostly;
return ___neigh_lookup_noref(ipv6_stub->nd_tbl, neigh_key_eq128,
neigh = __neigh_create(ipv6_stub->nd_tbl, addr, dev, false);
ipv6_stub->udpv6_encap_enable();
n = neigh_lookup(ipv6_stub->nd_tbl, &msg->target, vlandev);
dst = ipv6_stub->ipv6_dst_lookup_flow(net, NULL, &fl6, NULL);
tb = ipv6_stub->fib6_get_table(net, tbid);
err = ipv6_stub->fib6_table_lookup(net, tb, oif, &fl6, &res,
err = ipv6_stub->fib6_lookup(net, oif, &fl6, &res, strict);
ipv6_stub->fib6_select_path(net, &res, &fl6, fl6.flowi6_oif,
mtu = ipv6_stub->ip6_mtu_from_fib6(&res, dst, src);
err = ipv6_stub->ipv6_route_input(skb);
dst = ipv6_stub->ipv6_dst_lookup_flow(net, skb->sk, &fl6, NULL);
err = ipv6_stub->fib6_nh_init(net, &fib6_nh, &cfg, GFP_KERNEL, extack);
ipv6_stub->fib6_nh_release(&fib6_nh);
n = neigh_lookup(ipv6_stub->nd_tbl, &nhc->nhc_gw.ipv6,
dev = ipv6_stub->ipv6_dev_find(net, &iio->ident.addr.ip_addr.ipv6_addr, dev);
ipv6_stub->ip6_del_rt(net, f6i,
ipv6_stub->fib6_update_sernum(net, f6i);
ipv6_stub->fib6_nh_release_dsts(&nhi->fib6_nh);
ipv6_stub->fib6_rt_update(net, f6i, info);
err = ipv6_stub->fib6_nh_init(net, fib6_nh, &fib6_cfg, GFP_KERNEL,
ipv6_stub->fib6_nh_release(fib6_nh);
ipv6_stub->fib6_nh_release(&nhi->fib6_nh);
new_gro_receive = ipv6_stub->xfrm6_gro_udp_encap_rcv;
ipv6_stub->xfrm6_udp_encap_rcv);
const struct ipv6_stub *ipv6_stub __read_mostly = &(struct ipv6_stub) {
EXPORT_SYMBOL_GPL(ipv6_stub);
static const struct ipv6_stub ipv6_stub_impl = {
ipv6_stub = &ipv6_stub_impl;
dst = ipv6_stub->ipv6_dst_lookup_flow(net, sock->sk, &fl6,
if (!ipv6_stub)
dst = ipv6_stub->ipv6_dst_lookup_flow(net, NULL, &fl6, NULL);
ipv6_stub->ipv6_fragment(net, skb->sk, skb, ovs_vport_output);
ret = ipv6_stub->ipv6_fragment(net, skb->sk, skb,
ndst = ipv6_stub->ipv6_dst_lookup_flow(net,
err = ipv6_stub->ipv6_sock_mc_join(sk, ub->ifindex,
ipv6_stub->xfrm6_rcv_encap(skb, IPPROTO_ESP, 0, TCP_ENCAP_ESPINTCP);
dst = ipv6_stub->ipv6_dst_lookup_flow(net, sk, &fl6, NULL);
err = ipv6_stub->ip6_xmit(sk, skb, &fl6, skb->mark, NULL, 0, 0);
ipv6_stub->xfrm6_local_rxpmtu(skb, mtu);