[ovs-dev] [PATCH 1/2] gre: Remove dead ipgre code
William Tu
u9012063 at gmail.com
Tue Nov 6 23:03:12 UTC 2018
On Tue, Nov 6, 2018 at 2:24 PM Greg Rose <gvrose8192 at gmail.com> wrote:
>
> Open vSwitch uses gretap, not ipgre for gre tunneling. Remove dead
> code for ipgre type tunnels.
>
> Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
> ---
LGTM.
Acked-by: William Tu <u9012063 at gmail.com>
> datapath/linux/compat/ip_gre.c | 65 ++----------------------------------------
> 1 file changed, 2 insertions(+), 63 deletions(-)
>
> diff --git a/datapath/linux/compat/ip_gre.c b/datapath/linux/compat/ip_gre.c
> index 6ac2dd9..0faf8ab 100644
> --- a/datapath/linux/compat/ip_gre.c
> +++ b/datapath/linux/compat/ip_gre.c
> @@ -64,13 +64,11 @@
> #include "vport-netdev.h"
>
> static int gre_tap_net_id __read_mostly;
> -static int ipgre_net_id __read_mostly;
> static unsigned int erspan_net_id __read_mostly;
> static void erspan_build_header(struct sk_buff *skb,
> __be32 id, u32 index,
> bool truncate, bool is_ipv4);
>
> -static struct rtnl_link_ops ipgre_link_ops __read_mostly;
> static bool ip_gre_loaded = false;
>
> #define ip_gre_calc_hlen rpl_ip_gre_calc_hlen
> @@ -316,16 +314,10 @@ static int ipgre_rcv(struct sk_buff *skb, const struct tnl_ptk_info *tpi,
> tpi->proto == htons(ETH_P_ERSPAN2))
> itn = net_generic(net, erspan_net_id);
> else
> - itn = net_generic(net, ipgre_net_id);
> + return PACKET_RCVD;
>
> res = __ipgre_rcv(skb, tpi, itn, hdr_len, false);
> - if (res == PACKET_NEXT && tpi->proto == htons(ETH_P_TEB)) {
> - /* ipgre tunnels in collect metadata mode should receive
> - * also ETH_P_TEB traffic.
> - */
> - itn = net_generic(net, ipgre_net_id);
> - res = __ipgre_rcv(skb, tpi, itn, hdr_len, true);
> - }
> +
> return res;
> }
>
> @@ -727,25 +719,6 @@ static const struct gre_protocol ipgre_protocol = {
> .err_handler = __gre_err,
> };
>
> -static int __net_init ipgre_init_net(struct net *net)
> -{
> - return ip_tunnel_init_net(net, ipgre_net_id, &ipgre_link_ops, NULL);
> -}
> -
> -static void __net_exit ipgre_exit_net(struct net *net)
> -{
> - struct ip_tunnel_net *itn = net_generic(net, ipgre_net_id);
> -
> - ip_tunnel_delete_net(itn, &ipgre_link_ops);
> -}
> -
> -static struct pernet_operations ipgre_net_ops = {
> - .init = ipgre_init_net,
> - .exit = ipgre_exit_net,
> - .id = &ipgre_net_id,
> - .size = sizeof(struct ip_tunnel_net),
> -};
> -
> #ifdef HAVE_EXT_ACK_IN_RTNL_LINKOPS
> static int ipgre_tunnel_validate(struct nlattr *tb[], struct nlattr *data[],
> struct netlink_ext_ack *extack)
> @@ -1205,13 +1178,6 @@ static const struct net_device_ops erspan_netdev_ops = {
> #endif
> };
>
> -static void ipgre_tunnel_setup(struct net_device *dev)
> -{
> - dev->netdev_ops = &ipgre_netdev_ops;
> - dev->type = ARPHRD_IPGRE;
> - ip_tunnel_setup(dev, ipgre_net_id);
> -}
> -
> static void ipgre_tap_setup(struct net_device *dev)
> {
> ether_setup(dev);
> @@ -1352,22 +1318,6 @@ static const struct nla_policy ipgre_policy[RPL_IFLA_GRE_MAX + 1] = {
> [IFLA_GRE_ERSPAN_HWID] = { .type = NLA_U16 },
> };
>
> -static struct rtnl_link_ops ipgre_link_ops __read_mostly = {
> - .kind = "gre",
> - .maxtype = RPL_IFLA_GRE_MAX,
> - .policy = ipgre_policy,
> - .priv_size = sizeof(struct ip_tunnel),
> - .setup = ipgre_tunnel_setup,
> - .validate = ipgre_tunnel_validate,
> - .newlink = ipgre_newlink,
> - .dellink = ip_tunnel_dellink,
> - .get_size = ipgre_get_size,
> - .fill_info = ipgre_fill_info,
> -#ifdef HAVE_GET_LINK_NET
> - .get_link_net = ip_tunnel_get_link_net,
> -#endif
> -};
> -
> static struct rtnl_link_ops ipgre_tap_ops __read_mostly = {
> .kind = "ovs_gretap",
> .maxtype = RPL_IFLA_GRE_MAX,
> @@ -1655,14 +1605,6 @@ int rpl_ipgre_init(void)
> goto pnet_erspan_failed;
> }
>
> - err = register_pernet_device(&ipgre_net_ops);
> - if (err < 0) {
> - if (err == -EEXIST)
> - goto ip_gre_loaded;
> - else
> - goto pnet_ipgre_failed;
> - }
> -
> err = gre_add_protocol(&ipgre_protocol, GREPROTO_CISCO);
> if (err < 0) {
> pr_info("%s: can't add protocol\n", __func__);
> @@ -1696,8 +1638,6 @@ ip_gre_loaded:
> return 0;
>
> add_proto_failed:
> - unregister_pernet_device(&ipgre_net_ops);
> -pnet_ipgre_failed:
> unregister_pernet_device(&erspan_net_ops);
> pnet_erspan_failed:
> unregister_pernet_device(&ipgre_tap_net_ops);
> @@ -1713,7 +1653,6 @@ void rpl_ipgre_fini(void)
>
> if (!ip_gre_loaded) {
> gre_del_protocol(&ipgre_protocol, GREPROTO_CISCO);
> - unregister_pernet_device(&ipgre_net_ops);
> unregister_pernet_device(&erspan_net_ops);
> unregister_pernet_device(&ipgre_tap_net_ops);
> }
> --
> 1.8.3.1
>
More information about the dev
mailing list