All of lore.kernel.org
 help / color / mirror / Atom feed
* GTSM and TCP accept problem
@ 2010-08-15  1:46 Stephen Hemminger
  2010-08-15  5:12 ` David Miller
  2010-08-16  9:43 ` Eric Dumazet
  0 siblings, 2 replies; 7+ messages in thread
From: Stephen Hemminger @ 2010-08-15  1:46 UTC (permalink / raw)
  To: Eric Dumazet, Herbert Xu; +Cc: netdev

The implementation of Generalized TTL Security has a problem
on the TCP accept side. Since there can be different number of
hops for each peer, the listener ends up doing

   socket
   bind
   set TTL to 255
   listen
   while (nfd = accept(peer)) {
     info = lookup(peer)
     set MINTTL to 255 - info->ttl_hops


The problem is that a rogue peer can still do three way
handshake causing the accept to succeed. But the rogue will
leave a stuck connection that will then have to timeout.

The only ways I have come up to deal with this are:
   * have short timeout on initial data (recycle faster)
   * push peer;MINTTL table down into kernel (per socket)
   * have BGP do this through iptables which is a non-starter
     for a general application that needs to run on BSD, and
     would mess up existing firewall rules.

Ideas welcome..

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-10-03  1:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-15  1:46 GTSM and TCP accept problem Stephen Hemminger
2010-08-15  5:12 ` David Miller
2010-08-15 16:38   ` Stephen Hemminger
2010-08-16  9:43 ` Eric Dumazet
2010-08-18 21:39   ` Stephen Hemminger
2010-08-18 21:48     ` David Miller
2011-10-03  1:46       ` venkatesh natarajan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.