syncookies.c (f1673381b1481a409238d4552a0700d490c5b36c) | syncookies.c (f7b3bec6f5167efaf56b756abfafb924cb1d3050) |
---|---|
1/* 2 * IPv6 Syncookies implementation for the Linux kernel 3 * 4 * Authors: 5 * Glenn Griffin <ggriffin.kernel@gmail.com> 6 * 7 * Based on IPv4 implementation by Andi Kleen 8 * linux/net/ipv4/syncookies.c --- 248 unchanged lines hidden (view full) --- 257 258 req->window_clamp = tp->window_clamp ? :dst_metric(dst, RTAX_WINDOW); 259 tcp_select_initial_window(tcp_full_space(sk), req->mss, 260 &req->rcv_wnd, &req->window_clamp, 261 ireq->wscale_ok, &rcv_wscale, 262 dst_metric(dst, RTAX_INITRWND)); 263 264 ireq->rcv_wscale = rcv_wscale; | 1/* 2 * IPv6 Syncookies implementation for the Linux kernel 3 * 4 * Authors: 5 * Glenn Griffin <ggriffin.kernel@gmail.com> 6 * 7 * Based on IPv4 implementation by Andi Kleen 8 * linux/net/ipv4/syncookies.c --- 248 unchanged lines hidden (view full) --- 257 258 req->window_clamp = tp->window_clamp ? :dst_metric(dst, RTAX_WINDOW); 259 tcp_select_initial_window(tcp_full_space(sk), req->mss, 260 &req->rcv_wnd, &req->window_clamp, 261 ireq->wscale_ok, &rcv_wscale, 262 dst_metric(dst, RTAX_INITRWND)); 263 264 ireq->rcv_wscale = rcv_wscale; |
265 ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk)); | 265 ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), dst); |
266 267 ret = get_cookie_sock(sk, skb, req, dst); 268out: 269 return ret; 270out_free: 271 reqsk_free(req); 272 return NULL; 273} | 266 267 ret = get_cookie_sock(sk, skb, req, dst); 268out: 269 return ret; 270out_free: 271 reqsk_free(req); 272 return NULL; 273} |