rwatson added a comment.

np@'s comments are good ones, both with respect to ACK clocking and BPF -- but 
this will also affect local firewalls that do state tracking and/or 
transformation, and likewise will run into problems.

Given this discussion, I'm increasingly convinced that this is Not A Good Idea 
In Its Current Form -- far more thought is required about how we might want to 
handle this. I would recommend we set aside time at a BSDCan devsummit session 
to talk about the implications of VLRO for the stack as a whole.

Given our default direct-dispatch input configuration, presumably much of the 
benefit from VLRO comes from reducing the number of tcpcb lookups, and a bit 
more comes from avoiding reassembly costs. I do wonder if we might choose to 
present VLRO in a different way: rather than as a single, very large datagram, 
but instead as a series of datagrams that the lower layer promises are for the 
same TCP connection, and sequential, allowing a single lookup and reassembly 
avoidance, but avoiding diverging from the current assumption that mbuf chains 
correspond to a single IP datagram that meets its invariant properties. We 
could easily assert that the IP addresses match and that the segments are 
sequential, allowing us to catch bugs while making strong assumptions.

REVISION DETAIL
  https://reviews.freebsd.org/D1761

To: hselasky, rmacklem, rrs, glebius, gnn, emaste, imp, adrian, bz, rwatson, 
lstewart
Cc: np, freebsd-net
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to