ip6_output.c (6e360f7331132822f096399a54f40bc61887aa3c) | ip6_output.c (f839a6c92504cff92a10f522cf686b51ff18dd35) |
---|---|
1/* 2 * IPv6 output functions 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * Based on linux/net/ipv4/ip_output.c --- 364 unchanged lines hidden (view full) --- 373static inline int ip6_forward_finish(struct net *net, struct sock *sk, 374 struct sk_buff *skb) 375{ 376 struct dst_entry *dst = skb_dst(skb); 377 378 __IP6_INC_STATS(net, ip6_dst_idev(dst), IPSTATS_MIB_OUTFORWDATAGRAMS); 379 __IP6_ADD_STATS(net, ip6_dst_idev(dst), IPSTATS_MIB_OUTOCTETS, skb->len); 380 | 1/* 2 * IPv6 output functions 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * Based on linux/net/ipv4/ip_output.c --- 364 unchanged lines hidden (view full) --- 373static inline int ip6_forward_finish(struct net *net, struct sock *sk, 374 struct sk_buff *skb) 375{ 376 struct dst_entry *dst = skb_dst(skb); 377 378 __IP6_INC_STATS(net, ip6_dst_idev(dst), IPSTATS_MIB_OUTFORWDATAGRAMS); 379 __IP6_ADD_STATS(net, ip6_dst_idev(dst), IPSTATS_MIB_OUTOCTETS, skb->len); 380 |
381#ifdef CONFIG_NET_SWITCHDEV 382 if (skb->offload_l3_fwd_mark) { 383 consume_skb(skb); 384 return 0; 385 } 386#endif 387 |
|
381 return dst_output(net, sk, skb); 382} 383 384static bool ip6_pkt_too_big(const struct sk_buff *skb, unsigned int mtu) 385{ 386 if (skb->len <= mtu) 387 return false; 388 --- 1418 unchanged lines hidden --- | 388 return dst_output(net, sk, skb); 389} 390 391static bool ip6_pkt_too_big(const struct sk_buff *skb, unsigned int mtu) 392{ 393 if (skb->len <= mtu) 394 return false; 395 --- 1418 unchanged lines hidden --- |