Hi Kristian, Thank you for the patch! Yet something to improve:
[auto build test ERROR on net-next/master] url: https://github.com/0day-ci/linux/commits/Kristian-Evensen/fou-Support-binding-FoU-socket/20190321-232759 config: x86_64-kexec (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): In file included from include/net/inet_sock.h:26:0, from include/linux/udp.h:20, from net/ipv4/fou.c:7: net/ipv4/fou.c: In function 'fou_cfg_cmp': >> include/net/sock.h:361:37: error: 'struct sock_common' has no member named >> 'skc_v6_rcv_saddr'; did you mean 'skc_rcv_saddr'? #define sk_v6_rcv_saddr __sk_common.skc_v6_rcv_saddr ^ >> net/ipv4/fou.c:515:24: note: in expansion of macro 'sk_v6_rcv_saddr' !ipv6_addr_cmp(&sk->sk_v6_rcv_saddr, &udp_cfg->local_ip6) && ^~~~~~~~~~~~~~~ >> net/ipv4/fou.c:515:51: error: 'struct udp_port_cfg' has no member named >> 'local_ip6'; did you mean 'local_ip'? !ipv6_addr_cmp(&sk->sk_v6_rcv_saddr, &udp_cfg->local_ip6) && ^~~~~~~~~ local_ip In file included from include/net/inet_sock.h:26:0, from include/linux/udp.h:20, from net/ipv4/fou.c:7: >> include/net/sock.h:360:34: error: 'struct sock_common' has no member named >> 'skc_v6_daddr'; did you mean 'skc_daddr'? #define sk_v6_daddr __sk_common.skc_v6_daddr ^ >> net/ipv4/fou.c:516:24: note: in expansion of macro 'sk_v6_daddr' !ipv6_addr_cmp(&sk->sk_v6_daddr, &udp_cfg->peer_ip6))); ^~~~~~~~~~~ >> net/ipv4/fou.c:516:47: error: 'struct udp_port_cfg' has no member named >> 'peer_ip6'; did you mean 'peer_ip'? !ipv6_addr_cmp(&sk->sk_v6_daddr, &udp_cfg->peer_ip6))); ^~~~~~~~ peer_ip net/ipv4/fou.c: In function 'parse_nl_config': net/ipv4/fou.c:713:20: error: 'struct udp_port_cfg' has no member named 'local_ip6'; did you mean 'local_ip'? cfg->udp_config.local_ip6 = nla_get_in6_addr(attr); ^~~~~~~~~ local_ip net/ipv4/fou.c:719:20: error: 'struct udp_port_cfg' has no member named 'peer_ip6'; did you mean 'peer_ip'? cfg->udp_config.peer_ip6 = nla_get_in6_addr(attr); ^~~~~~~~ peer_ip In file included from include/net/inet_sock.h:26:0, from include/linux/udp.h:20, from net/ipv4/fou.c:7: net/ipv4/fou.c: In function 'fou_fill_info': >> include/net/sock.h:361:37: error: 'struct sock_common' has no member named >> 'skc_v6_rcv_saddr'; did you mean 'skc_rcv_saddr'? #define sk_v6_rcv_saddr __sk_common.skc_v6_rcv_saddr ^ net/ipv4/fou.c:796:15: note: in expansion of macro 'sk_v6_rcv_saddr' &sk->sk_v6_rcv_saddr)) ^~~~~~~~~~~~~~~ >> include/net/sock.h:360:34: error: 'struct sock_common' has no member named >> 'skc_v6_daddr'; did you mean 'skc_daddr'? #define sk_v6_daddr __sk_common.skc_v6_daddr ^ net/ipv4/fou.c:799:52: note: in expansion of macro 'sk_v6_daddr' if (nla_put_in6_addr(msg, FOU_ATTR_PEER_V6, &sk->sk_v6_daddr)) ^~~~~~~~~~~ net/ipv4/fou.c: In function 'fou_cfg_cmp': net/ipv4/fou.c:517:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ -- In file included from include/net/inet_sock.h:26:0, from include/linux/udp.h:20, from net//ipv4/fou.c:7: net//ipv4/fou.c: In function 'fou_cfg_cmp': >> include/net/sock.h:361:37: error: 'struct sock_common' has no member named >> 'skc_v6_rcv_saddr'; did you mean 'skc_rcv_saddr'? #define sk_v6_rcv_saddr __sk_common.skc_v6_rcv_saddr ^ net//ipv4/fou.c:515:24: note: in expansion of macro 'sk_v6_rcv_saddr' !ipv6_addr_cmp(&sk->sk_v6_rcv_saddr, &udp_cfg->local_ip6) && ^~~~~~~~~~~~~~~ net//ipv4/fou.c:515:51: error: 'struct udp_port_cfg' has no member named 'local_ip6'; did you mean 'local_ip'? !ipv6_addr_cmp(&sk->sk_v6_rcv_saddr, &udp_cfg->local_ip6) && ^~~~~~~~~ local_ip In file included from include/net/inet_sock.h:26:0, from include/linux/udp.h:20, from net//ipv4/fou.c:7: >> include/net/sock.h:360:34: error: 'struct sock_common' has no member named >> 'skc_v6_daddr'; did you mean 'skc_daddr'? #define sk_v6_daddr __sk_common.skc_v6_daddr ^ net//ipv4/fou.c:516:24: note: in expansion of macro 'sk_v6_daddr' !ipv6_addr_cmp(&sk->sk_v6_daddr, &udp_cfg->peer_ip6))); ^~~~~~~~~~~ net//ipv4/fou.c:516:47: error: 'struct udp_port_cfg' has no member named 'peer_ip6'; did you mean 'peer_ip'? !ipv6_addr_cmp(&sk->sk_v6_daddr, &udp_cfg->peer_ip6))); ^~~~~~~~ peer_ip net//ipv4/fou.c: In function 'parse_nl_config': net//ipv4/fou.c:713:20: error: 'struct udp_port_cfg' has no member named 'local_ip6'; did you mean 'local_ip'? cfg->udp_config.local_ip6 = nla_get_in6_addr(attr); ^~~~~~~~~ local_ip net//ipv4/fou.c:719:20: error: 'struct udp_port_cfg' has no member named 'peer_ip6'; did you mean 'peer_ip'? cfg->udp_config.peer_ip6 = nla_get_in6_addr(attr); ^~~~~~~~ peer_ip In file included from include/net/inet_sock.h:26:0, from include/linux/udp.h:20, from net//ipv4/fou.c:7: net//ipv4/fou.c: In function 'fou_fill_info': >> include/net/sock.h:361:37: error: 'struct sock_common' has no member named >> 'skc_v6_rcv_saddr'; did you mean 'skc_rcv_saddr'? #define sk_v6_rcv_saddr __sk_common.skc_v6_rcv_saddr ^ net//ipv4/fou.c:796:15: note: in expansion of macro 'sk_v6_rcv_saddr' &sk->sk_v6_rcv_saddr)) ^~~~~~~~~~~~~~~ >> include/net/sock.h:360:34: error: 'struct sock_common' has no member named >> 'skc_v6_daddr'; did you mean 'skc_daddr'? #define sk_v6_daddr __sk_common.skc_v6_daddr ^ net//ipv4/fou.c:799:52: note: in expansion of macro 'sk_v6_daddr' if (nla_put_in6_addr(msg, FOU_ATTR_PEER_V6, &sk->sk_v6_daddr)) ^~~~~~~~~~~ net//ipv4/fou.c: In function 'fou_cfg_cmp': net//ipv4/fou.c:517:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ vim +515 net/ipv4/fou.c 501 502 static bool fou_cfg_cmp(struct fou *fou, struct fou_cfg *cfg) 503 { 504 struct sock *sk = fou->sock->sk; 505 struct udp_port_cfg *udp_cfg = &cfg->udp_config; 506 507 return fou->family == udp_cfg->family && 508 fou->port == udp_cfg->local_udp_port && 509 sk->sk_dport == udp_cfg->peer_udp_port && 510 sk->sk_bound_dev_if == udp_cfg->bind_ifindex && 511 ((fou->family == AF_INET && 512 sk->sk_rcv_saddr == udp_cfg->local_ip.s_addr && 513 sk->sk_daddr == udp_cfg->peer_ip.s_addr) || 514 (fou->family == AF_INET6 && > 515 !ipv6_addr_cmp(&sk->sk_v6_rcv_saddr, > &udp_cfg->local_ip6) && > 516 !ipv6_addr_cmp(&sk->sk_v6_daddr, &udp_cfg->peer_ip6))); 517 } 518 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip