RACK, BBR: handle EACCES like EPERM for IP output handling

The FreeBSD TCP base stack handles them also the same way.
In case of packet filters dropping packets in the output path,
this avoids retranmitting the dropped packet every 10ms or so.

Reviewed by:		rscheff
MFC after:		1 week
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D43773
This commit is contained in:
Michael Tuexen 2024-02-16 12:19:24 +01:00
parent e5d1a21e50
commit 2f4e46dfdd
2 changed files with 2 additions and 0 deletions

View file

@ -13809,6 +13809,7 @@ bbr_output_wtime(struct tcpcb *tp, const struct timeval *tv)
return (error);
}
case EPERM:
case EACCES:
tp->t_softerror = error;
/* FALLTHROUGH */
case EHOSTDOWN:

View file

@ -22376,6 +22376,7 @@ rack_output(struct tcpcb *tp)
sendalot = 0;
switch (error) {
case EPERM:
case EACCES:
tp->t_softerror = error;
#ifdef TCP_ACCOUNTING
crtsc = get_cyclecount();