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}