On 1/16/2019 11:10 PM, Ken Ajiro wrote:
   Hello,

   On my kernel 4.9.0 box, I could not insmod openvswitch.ko (OVS 2.10.1) by 
following error:

openvswitch: LISP tunneling driver
GRE over IPv4 demultiplexor driver
can't add protocol
Cannot take GRE protocol rx entry- The GRE/ERSPAN rx feature not supported
openvswitch: GRE over IPv4 tunneling driver
openvswitch: rpl_ip6gre_init: can't add protocol
openvswitch: GRE TX only over IPv6 tunneling driver
insmod: ERROR: could not insert module /tmp/openvswitch.ko: Operation not 
permitted

   I think that this error caused by following logic:

   datapath/vport.c ovs_vport_init()

        err = ip6gre_init();
        if (err && err != -EEXIST) {
                goto err_ip6gre;   <==========
        } else {
                if (err == -EEXIST) {
                        pr_warn("IPv6 GRE/ERSPAN Rx mode is not supported\n");
                        goto skip_ip6_tunnel_init;
                }
        }

   datapath/linux/compat/ip6_gre.c rpl_ip6gre_init():

        err = inet6_add_protocol(&ip6gre_protocol, IPPROTO_GRE);
        if (err < 0) {
                pr_info("%s: can't add protocol\n", __func__);   <==========
                unregister_pernet_device(&ip6gre_net_ops);
                goto ip6_gre_loaded;
        }

   I checked net/ipv6/protocol.c and understand that when inet6_add_protocol() 
failed it returns -1 (same to -EPERM) instead of -EEXIT.

   Is it needed checking if err is -EEXIT at ovs_vport_init() ?

That's -EEXIST.

Yes, special  handling is required in that case.  It looks to me like you have the gre and ip6_gre kernel
modules already loaded.  Try unloading those first.

- Greg

Thanks,


_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to