On Tue, Jun 18, 2019 at 10:13 PM Eli Britstein <el...@mellanox.com> wrote:
> >> Hi Eli and Greg, > >> > >> I've found the root cause using upstream kernel 5.2. > >> When adding an ip6gre device type, the > >> ovs_vport_cmd_new > >> new_vport > >> netdev_create > >> ovs_netdev_link > >> > >> and fails due to > >> if (vport->dev->flags & IFF_LOOPBACK || > >> (vport->dev->type != ARPHRD_ETHER && > >> vport->dev->type != ARPHRD_NONE) || > >> ovs_is_internal_dev(vport->dev)) { > >> err = -EINVAL; > >> > >> Because ip6gre is ARPHRD_IP6GRE > >> Which means ip6gre never works using upstream kernel :( > >> > >> If we use ip6gretap, then its type is ARPHRD_ETHER, > >> and the ip6gretap device can be created successfully. > >> > >> And for ip6erspan, it's never been a issue because it is ARPHRD_ETHER. > >> > >> And when using compat module, ip6gre works due to a coincident here: > >> at datapath/linux/compat/ip6_gre.c > >> static struct rtnl_link_ops ip6gre_link_ops __read_mostly = { > >> .kind = "ip6gre", > >> .maxtype = RPL_IFLA_GRE_MAX, > >> <skip> > >> > >> static struct rtnl_link_ops ip6gre_tap_ops __read_mostly = { > >> .kind = "ip6gre", > >> .maxtype = RPL_IFLA_GRE_MAX, > >> .policy = ip6gre_policy, > >> .priv_size = sizeof(struct ip6_tnl), > >> > >> We happen to use ip6gre_tap link ops in type "ip6gre" > >> > >> Regards, > >> William > >> > >>> Furthermore, I think the following is missing, as there is no ip6gretap, > >>> only ip6gre: > >>> > > Hi Greg and Eli, > > > > Should we add both ip6gre (L3) and ip6gretap (L2) support? > > @Eli, which mode do you want to use? > > ip6gretap > > I applied this patch too, and indeed the error is resolved. However, i > still don't get traffic. Have you verified it works to indicate a setup > issue for me? > No I haven't done the end-to-end test, the patch just passes the port add stage. I will look into it. --William _______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss