]> git.baikalelectronics.ru Git - kernel.git/commit
sctp: identify chunks that need to be fragmented at IP level
authorMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Thu, 8 Sep 2016 09:54:11 +0000 (17:54 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 10 Sep 2016 02:18:33 +0000 (19:18 -0700)
commit0e944a7a90256357c83cc847a62ee5ef04bb4c6a
tree658fcd0465f5da42136c51c1a35af3d0bfda3d3d
parent9a8b77e4fc54824a835b61324920e7196bd478f7
sctp: identify chunks that need to be fragmented at IP level

Previously, without GSO, it was easy to identify it: if the chunk didn't
fit and there was no data chunk in the packet yet, we could fragment at
IP level. So if there was an auth chunk and we were bundling a big data
chunk, it would fragment regardless of the size of the auth chunk. This
also works for the context of PMTU reductions.

But with GSO, we cannot distinguish such PMTU events anymore, as the
packet is allowed to exceed PMTU.

So we need another check: to ensure that the chunk that we are adding,
actually fits the current PMTU. If it doesn't, trigger a flush and let
it be fragmented at IP level in the next round.

Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sctp/output.c