{"action":"opened","issue":{"url":"https://api.github.com/repos/p4lang/p4factory/issues/136","repository_url":"https://api.github.com/repos/p4lang/p4factory","labels_url":"https://api.github.com/repos/p4lang/p4factory/issues/136/labels{/name}","comments_url":"https://api.github.com/repos/p4lang/p4factory/issues/136/comments","events_url":"https://api.github.com/repos/p4lang/p4factory/issues/136/events","html_url":"https://github.com/p4lang/p4factory/issues/136","id":155427404,"number":136,"title":"apps/int/vxlan-gpe not support linux kernel version 4.x","user":{"login":"sunnogo","id":5097261,"avatar_url":"https://avatars.githubusercontent.com/u/5097261?v=3","gravatar_id":"","url":"https://api.github.com/users/sunnogo","html_url":"https://github.com/sunnogo","followers_url":"https://api.github.com/users/sunnogo/followers","following_url":"https://api.github.com/users/sunnogo/following{/other_user}","gists_url":"https://api.github.com/users/sunnogo/gists{/gist_id}","starred_url":"https://api.github.com/users/sunnogo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunnogo/subscriptions","organizations_url":"https://api.github.com/users/sunnogo/orgs","repos_url":"https://api.github.com/users/sunnogo/repos","events_url":"https://api.github.com/users/sunnogo/events{/privacy}","received_events_url":"https://api.github.com/users/sunnogo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-05-18T06:43:10Z","updated_at":"2016-05-18T06:43:10Z","closed_at":null,"body":"compile log:\r\n\r\n```\r\nsunnogo@R04220:/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe$ make\r\nmake -C /lib/modules/4.4.0-22-generic/build M=/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe modules\r\nmake[1]: Entering directory '/usr/src/linux-headers-4.4.0-22-generic'\r\n  CC [M]  /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.o\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:94:7: error: redefinition of ‘union vxlan_addr’\r\n union vxlan_addr {\r\n       ^\r\nIn file included from /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:44:0:\r\ninclude/net/vxlan.h:119:7: note: originally defined here\r\n union vxlan_addr {\r\n       ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:100:8: error: redefinition of ‘struct vxlan_rdst’\r\n struct vxlan_rdst {\r\n        ^\r\nIn file included from /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:44:0:\r\ninclude/net/vxlan.h:125:8: note: originally defined here\r\n struct vxlan_rdst {\r\n        ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:122:8: error: redefinition of ‘struct vxlan_dev’\r\n struct vxlan_dev {\r\n        ^\r\nIn file included from /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:44:0:\r\ninclude/net/vxlan.h:152:8: note: originally defined here\r\n struct vxlan_dev {\r\n        ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c: In function ‘vxlan_fdb_info’:\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:423:9: error: void value not ignored as it ought to be\r\n  return nlmsg_end(skb, nlh);\r\n         ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c: In function ‘vxlan_udp_encap_recv’:\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1255:4: error: ‘struct vxlan_sock’ has no member named ‘rcv’\r\n  vs->rcv(vs, skb, vxh->vx_vni);\r\n    ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c: In function ‘vxlan6_xmit_skb’:\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1681:7: error: implicit declaration of function ‘vlan_tx_tag_present’ [-Werror=implicit-function-declaration]\r\n    + (vlan_tx_tag_present(skb) ? VLAN_HLEN : 0);\r\n       ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1708:23: warning: passing argument 1 of ‘udp_tunnel6_xmit_skb’ from incompatible pointer type [-Wincompatible-pointer-types]\r\n  udp_tunnel6_xmit_skb(vs->sock, dst, skb, dev, saddr, daddr, prio,\r\n                       ^\r\nIn file included from /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:37:0:\r\ninclude/net/udp_tunnel.h:87:5: note: expected ‘struct dst_entry *’ but argument is of type ‘struct socket *’\r\n int udp_tunnel6_xmit_skb(struct dst_entry *dst, struct sock *sk,\r\n     ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1708:33: warning: passing argument 2 of ‘udp_tunnel6_xmit_skb’ from incompatible pointer type [-Wincompatible-pointer-types]\r\n  udp_tunnel6_xmit_skb(vs->sock, dst, skb, dev, saddr, daddr, prio,\r\n                                 ^\r\nIn file included from /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:37:0:\r\ninclude/net/udp_tunnel.h:87:5: note: expected ‘struct sock *’ but argument is of type ‘struct dst_entry *’\r\n int udp_tunnel6_xmit_skb(struct dst_entry *dst, struct sock *sk,\r\n     ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1708:2: error: too few arguments to function ‘udp_tunnel6_xmit_skb’\r\n  udp_tunnel6_xmit_skb(vs->sock, dst, skb, dev, saddr, daddr, prio,\r\n  ^\r\nIn file included from /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:37:0:\r\ninclude/net/udp_tunnel.h:87:5: note: declared here\r\n int udp_tunnel6_xmit_skb(struct dst_entry *dst, struct sock *sk,\r\n     ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c: In function ‘vxlan_xmit_skb’:\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1787:29: warning: passing argument 1 of ‘udp_tunnel_xmit_skb’ from incompatible pointer type [-Wincompatible-pointer-types]\r\n  return udp_tunnel_xmit_skb(vs->sock, rt, skb, src, dst, tos,\r\n                             ^\r\nIn file included from /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:37:0:\r\ninclude/net/udp_tunnel.h:81:5: note: expected ‘struct rtable *’ but argument is of type ‘struct socket *’\r\n int udp_tunnel_xmit_skb(struct rtable *rt, struct sock *sk, struct sk_buff *skb,\r\n     ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1787:39: warning: passing argument 2 of ‘udp_tunnel_xmit_skb’ from incompatible pointer type [-Wincompatible-pointer-types]\r\n  return udp_tunnel_xmit_skb(vs->sock, rt, skb, src, dst, tos,\r\n                                       ^\r\nIn file included from /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:37:0:\r\ninclude/net/udp_tunnel.h:81:5: note: expected ‘struct sock *’ but argument is of type ‘struct rtable *’\r\n int udp_tunnel_xmit_skb(struct rtable *rt, struct sock *sk, struct sk_buff *skb,\r\n     ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1787:9: error: too few arguments to function ‘udp_tunnel_xmit_skb’\r\n  return udp_tunnel_xmit_skb(vs->sock, rt, skb, src, dst, tos,\r\n         ^\r\nIn file included from /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:37:0:\r\ninclude/net/udp_tunnel.h:81:5: note: declared here\r\n int udp_tunnel_xmit_skb(struct rtable *rt, struct sock *sk, struct sk_buff *skb,\r\n     ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c: In function ‘vxlan_xmit_one’:\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1941:34: warning: passing argument 1 of ‘ipv6_stub->ipv6_dst_lookup’ from incompatible pointer type [-Wincompatible-pointer-types]\r\n   if (ipv6_stub->ipv6_dst_lookup(sk, &ndst, &fl6)) {\r\n                                  ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1941:34: note: expected ‘struct net *’ but argument is of type ‘struct sock *’\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1941:38: warning: passing argument 2 of ‘ipv6_stub->ipv6_dst_lookup’ from incompatible pointer type [-Wincompatible-pointer-types]\r\n   if (ipv6_stub->ipv6_dst_lookup(sk, &ndst, &fl6)) {\r\n                                      ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1941:38: note: expected ‘struct sock *’ but argument is of type ‘struct dst_entry **’\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1941:45: warning: passing argument 3 of ‘ipv6_stub->ipv6_dst_lookup’ from incompatible pointer type [-Wincompatible-pointer-types]\r\n   if (ipv6_stub->ipv6_dst_lookup(sk, &ndst, &fl6)) {\r\n                                             ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1941:45: note: expected ‘struct dst_entry **’ but argument is of type ‘struct flowi6 *’\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1941:7: error: too few arguments to function ‘ipv6_stub->ipv6_dst_lookup’\r\n   if (ipv6_stub->ipv6_dst_lookup(sk, &ndst, &fl6)) {\r\n       ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c: At top level:\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:2468:12: error: unknown type name ‘vxlan_rcv_t’\r\n            vxlan_rcv_t *rcv, void *data,\r\n            ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:2520:7: error: unknown type name ‘vxlan_rcv_t’\r\n       vxlan_rcv_t *rcv, void *data,\r\n       ^\r\nIn file included from include/linux/linkage.h:6:0,\r\n                 from include/linux/kernel.h:6,\r\n                 from /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:14:\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:2546:19: error: ‘vxlan_sock_add’ undeclared here (not in a function)\r\n EXPORT_SYMBOL_GPL(vxlan_sock_add);\r\n                   ^\r\ninclude/linux/export.h:57:16: note: in definition of macro ‘__EXPORT_SYMBOL’\r\n  extern typeof(sym) sym;     \\\r\n                ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:2546:1: note: in expansion of macro ‘EXPORT_SYMBOL_GPL’\r\n EXPORT_SYMBOL_GPL(vxlan_sock_add);\r\n ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c: In function ‘vxlan_sock_work’:\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:2557:8: error: called object ‘vxlan_sock_add’ is not a function or function pointer\r\n  nvs = vxlan_sock_add(net, port, vxlan_rcv, NULL, false, vxlan->flags);\r\n        ^\r\nIn file included from include/linux/linkage.h:6:0,\r\n                 from include/linux/kernel.h:6,\r\n                 from /home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:14:\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:2546:19: note: declared here\r\n EXPORT_SYMBOL_GPL(vxlan_sock_add);\r\n                   ^\r\ninclude/linux/export.h:57:21: note: in definition of macro ‘__EXPORT_SYMBOL’\r\n  extern typeof(sym) sym;     \\\r\n                     ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:2546:1: note: in expansion of macro ‘EXPORT_SYMBOL_GPL’\r\n EXPORT_SYMBOL_GPL(vxlan_sock_add);\r\n ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c: At top level:\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:604:25: warning: ‘vxlan_gro_receive’ defined but not used [-Wunused-function]\r\n static struct sk_buff **vxlan_gro_receive(struct sk_buff **head, struct sk_buff *skb)\r\n                         ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:669:12: warning: ‘vxlan_gro_complete’ defined but not used [-Wunused-function]\r\n static int vxlan_gro_complete(struct sk_buff *skb, int nhoff)\r\n            ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:692:13: warning: ‘vxlan_notify_add_rx_port’ defined but not used [-Wunused-function]\r\n static void vxlan_notify_add_rx_port(struct vxlan_sock *vs)\r\n             ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1219:12: warning: ‘vxlan_udp_encap_recv’ defined but not used [-Wunused-function]\r\n static int vxlan_udp_encap_recv(struct sock *sk, struct sk_buff *skb)\r\n            ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:2427:13: warning: ‘vxlan_del_work’ defined but not used [-Wunused-function]\r\n static void vxlan_del_work(struct work_struct *work)\r\n             ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:2434:23: warning: ‘vxlan_create_sock’ defined but not used [-Wunused-function]\r\n static struct socket *vxlan_create_sock(struct net *net, bool ipv6,\r\n                       ^\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c: In function ‘vxlan_xmit_skb’:\r\n/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.c:1789:1: warning: control reaches end of non-void function [-Wreturn-type]\r\n }\r\n ^\r\ncc1: some warnings being treated as errors\r\nscripts/Makefile.build:264: recipe for target '/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.o' failed\r\nmake[2]: *** [/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe/vxlan.o] Error 1\r\nMakefile:1396: recipe for target '_module_/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe' failed\r\nmake[1]: *** [_module_/home/sunyongfeng/workshop/p4/p4factory/apps/int/vxlan-gpe] Error 2\r\nmake[1]: Leaving directory '/usr/src/linux-headers-4.4.0-22-generic'\r\nMakefile:4: recipe for target 'all' failed\r\nmake: *** [all] Error 2\r\n```"}}