Lines Matching refs:tunnel
770 static int __ip6_tnl_rcv(struct ip6_tnl *tunnel, struct sk_buff *skb, in __ip6_tnl_rcv() argument
783 (tunnel->parms.i_flags & TUNNEL_CSUM)) || in __ip6_tnl_rcv()
785 !(tunnel->parms.i_flags & TUNNEL_CSUM))) { in __ip6_tnl_rcv()
786 tunnel->dev->stats.rx_crc_errors++; in __ip6_tnl_rcv()
787 tunnel->dev->stats.rx_errors++; in __ip6_tnl_rcv()
791 if (tunnel->parms.i_flags & TUNNEL_SEQ) { in __ip6_tnl_rcv()
793 (tunnel->i_seqno && in __ip6_tnl_rcv()
794 (s32)(ntohl(tpi->seq) - tunnel->i_seqno) < 0)) { in __ip6_tnl_rcv()
795 tunnel->dev->stats.rx_fifo_errors++; in __ip6_tnl_rcv()
796 tunnel->dev->stats.rx_errors++; in __ip6_tnl_rcv()
799 tunnel->i_seqno = ntohl(tpi->seq) + 1; in __ip6_tnl_rcv()
805 if (tunnel->dev->type == ARPHRD_ETHER) { in __ip6_tnl_rcv()
807 tunnel->dev->stats.rx_length_errors++; in __ip6_tnl_rcv()
808 tunnel->dev->stats.rx_errors++; in __ip6_tnl_rcv()
813 skb->protocol = eth_type_trans(skb, tunnel->dev); in __ip6_tnl_rcv()
816 skb->dev = tunnel->dev; in __ip6_tnl_rcv()
822 __skb_tunnel_rx(skb, tunnel->dev, tunnel->net); in __ip6_tnl_rcv()
824 err = dscp_ecn_decapsulate(tunnel, ipv6h, skb); in __ip6_tnl_rcv()
831 ++tunnel->dev->stats.rx_frame_errors; in __ip6_tnl_rcv()
832 ++tunnel->dev->stats.rx_errors; in __ip6_tnl_rcv()
837 tstats = this_cpu_ptr(tunnel->dev->tstats); in __ip6_tnl_rcv()
843 skb_scrub_packet(skb, !net_eq(tunnel->net, dev_net(tunnel->dev))); in __ip6_tnl_rcv()
848 gro_cells_receive(&tunnel->gro_cells, skb); in __ip6_tnl_rcv()
2110 struct ip6_tnl *tunnel = netdev_priv(dev); in ip6_tnl_fill_info() local
2111 struct __ip6_tnl_parm *parm = &tunnel->parms; in ip6_tnl_fill_info()
2124 if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) || in ip6_tnl_fill_info()
2125 nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) || in ip6_tnl_fill_info()
2126 nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) || in ip6_tnl_fill_info()
2127 nla_put_u16(skb, IFLA_IPTUN_ENCAP_FLAGS, tunnel->encap.flags)) in ip6_tnl_fill_info()
2142 struct ip6_tnl *tunnel = netdev_priv(dev); in ip6_tnl_get_link_net() local
2144 return tunnel->net; in ip6_tnl_get_link_net()