sctp: add dst_pending_confirm flag
Add new transport flag to allow sockets to confirm neighbour. When same struct dst_entry can be used for many different neighbours we can not use it for pending confirmations. The flag is propagated from transport to every packet. It is reset when cached dst is reset. Reported-by: YueHaibing <yuehaibing@huawei.com> Fixes:5110effee8
("net: Do delayed neigh confirmation.") Fixes:f2bb4bedf3
("ipv4: Cache output routes in fib_info nexthops.") Signed-off-by: Julian Anastasov <ja@ssi.bg> Acked-by: Eric Dumazet <edumazet@google.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
4ff0620354
commit
c86a773c78
@@ -804,6 +804,8 @@ struct sctp_transport {
|
||||
|
||||
__u32 burst_limited; /* Holds old cwnd when max.burst is applied */
|
||||
|
||||
__u32 dst_pending_confirm; /* need to confirm neighbour */
|
||||
|
||||
/* Destination */
|
||||
struct dst_entry *dst;
|
||||
/* Source address. */
|
||||
@@ -950,6 +952,8 @@ unsigned long sctp_transport_timeout(struct sctp_transport *);
|
||||
void sctp_transport_reset(struct sctp_transport *);
|
||||
void sctp_transport_update_pmtu(struct sock *, struct sctp_transport *, u32);
|
||||
void sctp_transport_immediate_rtx(struct sctp_transport *);
|
||||
void sctp_transport_dst_release(struct sctp_transport *t);
|
||||
void sctp_transport_dst_confirm(struct sctp_transport *t);
|
||||
|
||||
|
||||
/* This is the structure we use to queue packets as they come into
|
||||
|
Reference in New Issue
Block a user