]> git.proxmox.com Git - ovs.git/commitdiff
ip_gre: Remove even more unused code
authorGreg Rose <gvrose8192@gmail.com>
Mon, 4 Nov 2019 20:43:47 +0000 (12:43 -0800)
committerBen Pfaff <blp@ovn.org>
Tue, 5 Nov 2019 21:09:38 +0000 (13:09 -0800)
There is a confusing mix of ipgre and gretap functions with some
needed for gretap still having ipgre_ prefixes.  This time though
I think I got the rest of the unused ipgre code.

Passes Travis here and this time I made sure the patch passing
Travis is the same one I'm mailing.
https://travis-ci.org/gvrose8192/ovs-experimental/builds/607296133

Fixes: d5822f428814 ("gre: Remove dead ipgre code")
Signed-off-by: Greg Rose <gvrose8192@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
datapath/linux/compat/ip_gre.c

index 3b7e607d597cfd70f7da0c9b3168c326a4effe51..04f994f9772a06f316ae56bf1f3adafce1790c15 100644 (file)
@@ -922,108 +922,6 @@ static int erspan_tunnel_init(struct net_device *dev)
        return ip_tunnel_init(dev);
 }
 
-static int ipgre_header(struct sk_buff *skb, struct net_device *dev,
-                       unsigned short type,
-                       const void *daddr, const void *saddr, unsigned int len)
-{
-       struct ip_tunnel *t = netdev_priv(dev);
-       struct iphdr *iph;
-       struct gre_base_hdr *greh;
-
-       iph = (struct iphdr *)__skb_push(skb, t->hlen + sizeof(*iph));
-       greh = (struct gre_base_hdr *)(iph+1);
-       greh->flags = gre_tnl_flags_to_gre_flags(t->parms.o_flags);
-       greh->protocol = htons(type);
-
-       memcpy(iph, &t->parms.iph, sizeof(struct iphdr));
-
-       /* Set the source hardware address. */
-       if (saddr)
-               memcpy(&iph->saddr, saddr, 4);
-       if (daddr)
-               memcpy(&iph->daddr, daddr, 4);
-       if (iph->daddr)
-               return t->hlen + sizeof(*iph);
-
-       return -(t->hlen + sizeof(*iph));
-}
-
-static int ipgre_header_parse(const struct sk_buff *skb, unsigned char *haddr)
-{
-       const struct iphdr *iph = (const struct iphdr *) skb_mac_header(skb);
-       memcpy(haddr, &iph->saddr, 4);
-       return 4;
-}
-
-static const struct header_ops ipgre_header_ops = {
-       .create = ipgre_header,
-       .parse  = ipgre_header_parse,
-};
-
-static int ipgre_tunnel_init(struct net_device *dev)
-{
-       struct ip_tunnel *tunnel = netdev_priv(dev);
-       struct iphdr *iph = &tunnel->parms.iph;
-
-       __gre_tunnel_init(dev);
-
-       memcpy(dev->dev_addr, &iph->saddr, 4);
-       memcpy(dev->broadcast, &iph->daddr, 4);
-
-       dev->flags              = IFF_NOARP;
-       netif_keep_dst(dev);
-       dev->addr_len           = 4;
-
-       if (!tunnel->collect_md) {
-               dev->header_ops = &ipgre_header_ops;
-       }
-
-       return ip_tunnel_init(dev);
-}
-
-static netdev_tx_t ipgre_xmit(struct sk_buff *skb,
-                             struct net_device *dev)
-{
-       struct ip_tunnel *tunnel = netdev_priv(dev);
-       const struct iphdr *tnl_params;
-
-       if (tunnel->collect_md) {
-               gre_fb_xmit(skb);
-               return NETDEV_TX_OK;
-       }
-
-       if (dev->header_ops) {
-               /* Need space for new headers */
-               if (skb_cow_head(skb, dev->needed_headroom -
-                                     (tunnel->hlen + sizeof(struct iphdr))))
-                       goto free_skb;
-
-               tnl_params = (const struct iphdr *)skb->data;
-
-               /* Pull skb since ip_tunnel_xmit() needs skb->data pointing
-                * to gre header.
-                */
-               skb_pull(skb, tunnel->hlen + sizeof(struct iphdr));
-               skb_reset_mac_header(skb);
-       } else {
-               if (skb_cow_head(skb, dev->needed_headroom))
-                       goto free_skb;
-
-               tnl_params = &tunnel->parms.iph;
-       }
-
-       if (gre_handle_offloads(skb, !!(tunnel->parms.o_flags & TUNNEL_CSUM)))
-               goto free_skb;
-
-       __gre_xmit(skb, dev, tnl_params, skb->protocol);
-       return NETDEV_TX_OK;
-
-free_skb:
-       kfree_skb(skb);
-       dev->stats.tx_dropped++;
-       return NETDEV_TX_OK;
-}
-
 static const struct net_device_ops gre_tap_netdev_ops = {
        .ndo_init               = gre_tap_init,
        .ndo_uninit             = rpl_ip_tunnel_uninit,