Loading net/ipv4/ip_gre.c +26 −16 Original line number Diff line number Diff line Loading @@ -126,8 +126,6 @@ static int ipgre_tunnel_bind_dev(struct net_device *dev); /* Fallback tunnel: no source, no destination, no key, no options */ static int ipgre_fb_tunnel_init(struct net_device *dev); #define HASH_SIZE 16 static int ipgre_net_id; Loading Loading @@ -1142,6 +1140,7 @@ static int ipgre_open(struct net_device *dev) static int ipgre_close(struct net_device *dev) { struct ip_tunnel *t = netdev_priv(dev); if (ipv4_is_multicast(t->parms.iph.daddr) && t->mlink) { struct in_device *in_dev; in_dev = inetdev_by_index(dev_net(dev), t->mlink); Loading @@ -1155,14 +1154,22 @@ static int ipgre_close(struct net_device *dev) #endif static const struct net_device_ops ipgre_netdev_ops = { .ndo_init = ipgre_tunnel_init, .ndo_uninit = ipgre_tunnel_uninit, #ifdef CONFIG_NET_IPGRE_BROADCAST .ndo_open = ipgre_open, .ndo_stop = ipgre_close, #endif .ndo_start_xmit = ipgre_tunnel_xmit, .ndo_do_ioctl = ipgre_tunnel_ioctl, .ndo_change_mtu = ipgre_tunnel_change_mtu, }; static void ipgre_tunnel_setup(struct net_device *dev) { dev->init = ipgre_tunnel_init; dev->uninit = ipgre_tunnel_uninit; dev->netdev_ops = &ipgre_netdev_ops; dev->destructor = free_netdev; dev->hard_start_xmit = ipgre_tunnel_xmit; dev->do_ioctl = ipgre_tunnel_ioctl; dev->change_mtu = ipgre_tunnel_change_mtu; dev->type = ARPHRD_IPGRE; dev->needed_headroom = LL_MAX_HEADER + sizeof(struct iphdr) + 4; Loading Loading @@ -1194,8 +1201,6 @@ static int ipgre_tunnel_init(struct net_device *dev) return -EINVAL; dev->flags = IFF_BROADCAST; dev->header_ops = &ipgre_header_ops; dev->open = ipgre_open; dev->stop = ipgre_close; } #endif } else Loading @@ -1204,7 +1209,7 @@ static int ipgre_tunnel_init(struct net_device *dev) return 0; } static int ipgre_fb_tunnel_init(struct net_device *dev) static void ipgre_fb_tunnel_init(struct net_device *dev) { struct ip_tunnel *tunnel = netdev_priv(dev); struct iphdr *iph = &tunnel->parms.iph; Loading @@ -1220,7 +1225,6 @@ static int ipgre_fb_tunnel_init(struct net_device *dev) dev_hold(dev); ign->tunnels_wc[0] = tunnel; return 0; } Loading Loading @@ -1265,7 +1269,7 @@ static int ipgre_init_net(struct net *net) goto err_alloc_dev; } ign->fb_tunnel_dev->init = ipgre_fb_tunnel_init; ipgre_fb_tunnel_init(ign->fb_tunnel_dev); dev_net_set(ign->fb_tunnel_dev, net); ign->fb_tunnel_dev->rtnl_link_ops = &ipgre_link_ops; Loading Loading @@ -1397,16 +1401,22 @@ static int ipgre_tap_init(struct net_device *dev) return 0; } static const struct net_device_ops ipgre_tap_netdev_ops = { .ndo_init = ipgre_tap_init, .ndo_uninit = ipgre_tunnel_uninit, .ndo_start_xmit = ipgre_tunnel_xmit, .ndo_set_mac_address = eth_mac_addr, .ndo_validate_addr = eth_validate_addr, .ndo_change_mtu = ipgre_tunnel_change_mtu, }; static void ipgre_tap_setup(struct net_device *dev) { ether_setup(dev); dev->init = ipgre_tap_init; dev->uninit = ipgre_tunnel_uninit; dev->netdev_ops = &ipgre_netdev_ops; dev->destructor = free_netdev; dev->hard_start_xmit = ipgre_tunnel_xmit; dev->change_mtu = ipgre_tunnel_change_mtu; dev->iflink = 0; dev->features |= NETIF_F_NETNS_LOCAL; Loading Loading
net/ipv4/ip_gre.c +26 −16 Original line number Diff line number Diff line Loading @@ -126,8 +126,6 @@ static int ipgre_tunnel_bind_dev(struct net_device *dev); /* Fallback tunnel: no source, no destination, no key, no options */ static int ipgre_fb_tunnel_init(struct net_device *dev); #define HASH_SIZE 16 static int ipgre_net_id; Loading Loading @@ -1142,6 +1140,7 @@ static int ipgre_open(struct net_device *dev) static int ipgre_close(struct net_device *dev) { struct ip_tunnel *t = netdev_priv(dev); if (ipv4_is_multicast(t->parms.iph.daddr) && t->mlink) { struct in_device *in_dev; in_dev = inetdev_by_index(dev_net(dev), t->mlink); Loading @@ -1155,14 +1154,22 @@ static int ipgre_close(struct net_device *dev) #endif static const struct net_device_ops ipgre_netdev_ops = { .ndo_init = ipgre_tunnel_init, .ndo_uninit = ipgre_tunnel_uninit, #ifdef CONFIG_NET_IPGRE_BROADCAST .ndo_open = ipgre_open, .ndo_stop = ipgre_close, #endif .ndo_start_xmit = ipgre_tunnel_xmit, .ndo_do_ioctl = ipgre_tunnel_ioctl, .ndo_change_mtu = ipgre_tunnel_change_mtu, }; static void ipgre_tunnel_setup(struct net_device *dev) { dev->init = ipgre_tunnel_init; dev->uninit = ipgre_tunnel_uninit; dev->netdev_ops = &ipgre_netdev_ops; dev->destructor = free_netdev; dev->hard_start_xmit = ipgre_tunnel_xmit; dev->do_ioctl = ipgre_tunnel_ioctl; dev->change_mtu = ipgre_tunnel_change_mtu; dev->type = ARPHRD_IPGRE; dev->needed_headroom = LL_MAX_HEADER + sizeof(struct iphdr) + 4; Loading Loading @@ -1194,8 +1201,6 @@ static int ipgre_tunnel_init(struct net_device *dev) return -EINVAL; dev->flags = IFF_BROADCAST; dev->header_ops = &ipgre_header_ops; dev->open = ipgre_open; dev->stop = ipgre_close; } #endif } else Loading @@ -1204,7 +1209,7 @@ static int ipgre_tunnel_init(struct net_device *dev) return 0; } static int ipgre_fb_tunnel_init(struct net_device *dev) static void ipgre_fb_tunnel_init(struct net_device *dev) { struct ip_tunnel *tunnel = netdev_priv(dev); struct iphdr *iph = &tunnel->parms.iph; Loading @@ -1220,7 +1225,6 @@ static int ipgre_fb_tunnel_init(struct net_device *dev) dev_hold(dev); ign->tunnels_wc[0] = tunnel; return 0; } Loading Loading @@ -1265,7 +1269,7 @@ static int ipgre_init_net(struct net *net) goto err_alloc_dev; } ign->fb_tunnel_dev->init = ipgre_fb_tunnel_init; ipgre_fb_tunnel_init(ign->fb_tunnel_dev); dev_net_set(ign->fb_tunnel_dev, net); ign->fb_tunnel_dev->rtnl_link_ops = &ipgre_link_ops; Loading Loading @@ -1397,16 +1401,22 @@ static int ipgre_tap_init(struct net_device *dev) return 0; } static const struct net_device_ops ipgre_tap_netdev_ops = { .ndo_init = ipgre_tap_init, .ndo_uninit = ipgre_tunnel_uninit, .ndo_start_xmit = ipgre_tunnel_xmit, .ndo_set_mac_address = eth_mac_addr, .ndo_validate_addr = eth_validate_addr, .ndo_change_mtu = ipgre_tunnel_change_mtu, }; static void ipgre_tap_setup(struct net_device *dev) { ether_setup(dev); dev->init = ipgre_tap_init; dev->uninit = ipgre_tunnel_uninit; dev->netdev_ops = &ipgre_netdev_ops; dev->destructor = free_netdev; dev->hard_start_xmit = ipgre_tunnel_xmit; dev->change_mtu = ipgre_tunnel_change_mtu; dev->iflink = 0; dev->features |= NETIF_F_NETNS_LOCAL; Loading