vrf.c (53c8b29abe42e5601cfa0ea5962532f0cfdec8a0) vrf.c (9b1c1ef13b35fa35051b635ca9fbda39fe6bbc70)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * vrf.c: device driver to encapsulate a VRF space
4 *
5 * Copyright (c) 2015 Cumulus Networks. All rights reserved.
6 * Copyright (c) 2015 Shrijeet Mukherjee <shm@cumulusnetworks.com>
7 * Copyright (c) 2015 David Ahern <dsa@cumulusnetworks.com>
8 *

--- 336 unchanged lines hidden (view full) ---

345
346#if IS_ENABLED(CONFIG_IPV6)
347/* modelled after ip6_finish_output2 */
348static int vrf_finish_output6(struct net *net, struct sock *sk,
349 struct sk_buff *skb)
350{
351 struct dst_entry *dst = skb_dst(skb);
352 struct net_device *dev = dst->dev;
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * vrf.c: device driver to encapsulate a VRF space
4 *
5 * Copyright (c) 2015 Cumulus Networks. All rights reserved.
6 * Copyright (c) 2015 Shrijeet Mukherjee <shm@cumulusnetworks.com>
7 * Copyright (c) 2015 David Ahern <dsa@cumulusnetworks.com>
8 *

--- 336 unchanged lines hidden (view full) ---

345
346#if IS_ENABLED(CONFIG_IPV6)
347/* modelled after ip6_finish_output2 */
348static int vrf_finish_output6(struct net *net, struct sock *sk,
349 struct sk_buff *skb)
350{
351 struct dst_entry *dst = skb_dst(skb);
352 struct net_device *dev = dst->dev;
353 const struct in6_addr *nexthop;
353 struct neighbour *neigh;
354 struct neighbour *neigh;
354 struct in6_addr *nexthop;
355 int ret;
356
357 nf_reset(skb);
358
359 skb->protocol = htons(ETH_P_IPV6);
360 skb->dev = dev;
361
362 rcu_read_lock_bh();

--- 1109 unchanged lines hidden ---
355 int ret;
356
357 nf_reset(skb);
358
359 skb->protocol = htons(ETH_P_IPV6);
360 skb->dev = dev;
361
362 rcu_read_lock_bh();

--- 1109 unchanged lines hidden ---