]> git.baikalelectronics.ru Git - kernel.git/commit
sctp: process sctp over udp icmp err on sctp side
authorXin Long <lucien.xin@gmail.com>
Tue, 22 Jun 2021 18:05:00 +0000 (14:05 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 22 Jun 2021 18:28:52 +0000 (11:28 -0700)
commitdf209e628ddad017a17e90e3e044b8e37b18c32e
tree6b2ec63ad7dc082cda99e8d15046ec55907e2b94
parent438caeb9e8d994b7229a395f0f4e0b5d47d4fa5c
sctp: process sctp over udp icmp err on sctp side

Previously, sctp over udp was using udp tunnel's icmp err process, which
only does sk lookup on sctp side. However for sctp's icmp error process,
there are more things to do, like syncing assoc pmtu/retransmit packets
for toobig type err, and starting proto_unreach_timer for unreach type
err etc.

Now after adding PLPMTUD, which also requires to process toobig type err
on sctp side. This patch is to process icmp err on sctp side by parsing
the type/code/info in .encap_err_lookup and call sctp's icmp processing
functions. Note as the 'redirect' err process needs to know the outer
ip(v6) header's, we have to leave it to udp(v6)_err to handle it.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/sctp.h
net/sctp/input.c
net/sctp/ipv6.c
net/sctp/protocol.c