git: 24cf7a8d6285 - main - inpcb: provide pcbinfo pointer argument to inp_apply_all()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 19 Oct 2022 22:18:42 UTC
The branch main has been updated by glebius:
URL: https://cgit.FreeBSD.org/src/commit/?id=24cf7a8d62856552fa800ad81b6f89ec9cdf91be
commit 24cf7a8d62856552fa800ad81b6f89ec9cdf91be
Author: Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2022-10-19 22:15:53 +0000
Commit: Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2022-10-19 22:15:53 +0000
inpcb: provide pcbinfo pointer argument to inp_apply_all()
Allows to clear inpcb layer of TCP knowledge.
---
sys/netinet/in_pcb.c | 5 +++--
sys/netinet/in_pcb.h | 3 ++-
sys/netinet/toecore.c | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c
index 10e36760825b..3348526b144e 100644
--- a/sys/netinet/in_pcb.c
+++ b/sys/netinet/in_pcb.c
@@ -2694,9 +2694,10 @@ inp_unlock_assert(struct inpcb *inp)
#endif
void
-inp_apply_all(void (*func)(struct inpcb *, void *), void *arg)
+inp_apply_all(struct inpcbinfo *pcbinfo,
+ void (*func)(struct inpcb *, void *), void *arg)
{
- struct inpcb_iterator inpi = INP_ALL_ITERATOR(&V_tcbinfo,
+ struct inpcb_iterator inpi = INP_ALL_ITERATOR(pcbinfo,
INPLOOKUP_WLOCKPCB);
struct inpcb *inp;
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h
index a72ae5742d4e..2ac1bb227613 100644
--- a/sys/netinet/in_pcb.h
+++ b/sys/netinet/in_pcb.h
@@ -546,7 +546,8 @@ void inp_unlock_assert(struct inpcb *);
#define inp_unlock_assert(inp) do {} while (0)
#endif
-void inp_apply_all(void (*func)(struct inpcb *, void *), void *arg);
+void inp_apply_all(struct inpcbinfo *, void (*func)(struct inpcb *, void *),
+ void *arg);
int inp_ip_tos_get(const struct inpcb *inp);
void inp_ip_tos_set(struct inpcb *inp, int val);
struct socket *
diff --git a/sys/netinet/toecore.c b/sys/netinet/toecore.c
index a078d9cea51f..892c0e71a0be 100644
--- a/sys/netinet/toecore.c
+++ b/sys/netinet/toecore.c
@@ -322,7 +322,7 @@ register_toedev(struct toedev *tod)
registered_toedevs++;
mtx_unlock(&toedev_lock);
- inp_apply_all(toe_listen_start, tod);
+ inp_apply_all(&V_tcbinfo, toe_listen_start, tod);
return (0);
}