Hi Petar, Thank you for the patch! Yet something to improve: [auto build test ERROR on bpf-next/master] url: https://github.com/0day-ci/linux/commits/Petar-Penkov/Introduce-a-BPF-helper-to-generate-SYN-cookies/20190723-235628 base: https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: x86_64-randconfig-e004-201929 (attached as .config) compiler: gcc-7 (Debian 7.4.0-10) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): ld: net/ipv4/tcp_input.o: in function `tcp_get_syncookie': >> net/ipv4/tcp_input.c:6538: undefined reference to `__cookie_v6_init_sequence' vim +6538 net/ipv4/tcp_input.c 6509 6510 u16 tcp_get_syncookie(struct request_sock_ops *rsk_ops, 6511 const struct tcp_request_sock_ops *af_ops, 6512 struct sock *sk, void *iph, struct tcphdr *th, 6513 u32 *cookie) 6514 { 6515 u16 mss = 0; 6516 #ifdef CONFIG_SYN_COOKIES 6517 bool is_v4 = rsk_ops->family == AF_INET; 6518 struct tcp_sock *tp = tcp_sk(sk); 6519 6520 if (sock_net(sk)->ipv4.sysctl_tcp_syncookies != 2 && 6521 !inet_csk_reqsk_queue_is_full(sk)) 6522 return 0; 6523 6524 if (!tcp_syn_flood_action(sk, rsk_ops->slab_name)) 6525 return 0; 6526 6527 if (sk_acceptq_is_full(sk)) { 6528 NET_INC_STATS(sock_net(sk), LINUX_MIB_LISTENOVERFLOWS); 6529 return 0; 6530 } 6531 6532 mss = tcp_parse_mss_option(th, tp->rx_opt.user_mss); 6533 if (!mss) 6534 mss = af_ops->mss_clamp; 6535 6536 tcp_synq_overflow(sk); 6537 *cookie = is_v4 ? __cookie_v4_init_sequence(iph, th, &mss) > 6538 : __cookie_v6_init_sequence(iph, th, &mss); 6539 #endif 6540 return mss; 6541 } 6542 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation