> On 28 Aug 2022, at 20:48, Alexander Bluhm <alexander.bl...@gmx.net> wrote: > > Hi, > > Since we have no raw_usrreq anymore, we can retire pr_output. > pfkeyv2 and route can call ther output functions directly. > > ok? >
ok mvs@ > bluhm > > Index: net/pfkeyv2.c > =================================================================== > RCS file: /data/mirror/openbsd/cvs/src/sys/net/pfkeyv2.c,v > retrieving revision 1.243 > diff -u -p -r1.243 pfkeyv2.c > --- net/pfkeyv2.c 27 Aug 2022 20:28:01 -0000 1.243 > +++ net/pfkeyv2.c 28 Aug 2022 16:50:24 -0000 > @@ -177,8 +177,7 @@ int pfkeyv2_send(struct socket *, struct > struct mbuf *); > int pfkeyv2_usrreq(struct socket *, int, struct mbuf *, struct mbuf *, > struct mbuf *, struct proc *); > -int pfkeyv2_output(struct mbuf *, struct socket *, struct sockaddr *, > - struct mbuf *); > +int pfkeyv2_output(struct mbuf *, struct socket *); > int pfkey_sendup(struct pkpcb *, struct mbuf *, int); > int pfkeyv2_sa_flush(struct tdb *, void *, int); > int pfkeyv2_policy_flush(struct ipsec_policy *, void *, unsigned int); > @@ -218,7 +217,6 @@ const struct protosw pfkeysw[] = { > .pr_domain = &pfkeydomain, > .pr_protocol = PF_KEY_V2, > .pr_flags = PR_ATOMIC | PR_ADDR, > - .pr_output = pfkeyv2_output, > .pr_usrreqs = &pfkeyv2_usrreqs, > .pr_sysctl = pfkeyv2_sysctl, > } > @@ -371,7 +369,7 @@ pfkeyv2_send(struct socket *so, struct m > goto out; > } > > - error = (*so->so_proto->pr_output)(m, so, NULL, NULL); > + error = pfkeyv2_output(m, so); > m = NULL; > > out: > @@ -443,8 +441,7 @@ pfkeyv2_usrreq(struct socket *so, int re > } > > int > -pfkeyv2_output(struct mbuf *mbuf, struct socket *so, > - struct sockaddr *dstaddr, struct mbuf *control) > +pfkeyv2_output(struct mbuf *mbuf, struct socket *so) > { > void *message; > int error = 0; > Index: net/rtsock.c > =================================================================== > RCS file: /data/mirror/openbsd/cvs/src/sys/net/rtsock.c,v > retrieving revision 1.343 > diff -u -p -r1.343 rtsock.c > --- net/rtsock.c 27 Aug 2022 20:28:01 -0000 1.343 > +++ net/rtsock.c 28 Aug 2022 16:50:51 -0000 > @@ -109,8 +109,7 @@ struct walkarg { > void route_prinit(void); > void rcb_ref(void *, void *); > void rcb_unref(void *, void *); > -int route_output(struct mbuf *, struct socket *, struct sockaddr *, > - struct mbuf *); > +int route_output(struct mbuf *, struct socket *); > int route_ctloutput(int, struct socket *, int, int, struct mbuf *); > int route_usrreq(struct socket *, int, struct mbuf *, struct mbuf *, > struct mbuf *, struct proc *); > @@ -395,7 +394,7 @@ route_send(struct socket *so, struct mbu > goto out; > } > > - error = (*so->so_proto->pr_output)(m, so, NULL, NULL); > + error = route_output(m, so); > m = NULL; > > out: > @@ -722,8 +721,7 @@ rtm_report(struct rtentry *rt, u_char ty > } > > int > -route_output(struct mbuf *m, struct socket *so, struct sockaddr *dstaddr, > - struct mbuf *control) > +route_output(struct mbuf *m, struct socket *so) > { > struct rt_msghdr *rtm = NULL; > struct rtentry *rt = NULL; > @@ -2455,7 +2453,6 @@ const struct protosw routesw[] = { > .pr_type = SOCK_RAW, > .pr_domain = &routedomain, > .pr_flags = PR_ATOMIC|PR_ADDR|PR_WANTRCVD, > - .pr_output = route_output, > .pr_ctloutput = route_ctloutput, > .pr_usrreqs = &route_usrreqs, > .pr_init = route_prinit, > Index: sys/protosw.h > =================================================================== > RCS file: /data/mirror/openbsd/cvs/src/sys/sys/protosw.h,v > retrieving revision 1.45 > diff -u -p -r1.45 protosw.h > --- sys/protosw.h 27 Aug 2022 20:28:01 -0000 1.45 > +++ sys/protosw.h 28 Aug 2022 16:52:02 -0000 > @@ -43,8 +43,8 @@ > * every 500ms through the pr_slowtimo for timer based actions. > * > * Protocols pass data between themselves as chains of mbufs using > - * the pr_input and pr_output hooks. Pr_input passes data up (towards > - * UNIX) and pr_output passes it down (towards the imps); control > + * the pr_input and pr_send hooks. Pr_input passes data up (towards > + * UNIX) and pr_send passes it down (towards the imps); control > * information passes up and down on pr_ctlinput and pr_ctloutput. > * The protocol is responsible for the space occupied by any the > * arguments to these entries and must dispose it. > @@ -86,9 +86,6 @@ struct protosw { > /* protocol-protocol hooks */ > /* input to protocol (from below) */ > int (*pr_input)(struct mbuf **, int *, int, int); > - /* output to protocol (from above) */ > - int (*pr_output)(struct mbuf *, struct socket *, struct sockaddr *, > - struct mbuf *); > /* control input (from below) */ > void (*pr_ctlinput)(int, struct sockaddr *, u_int, void *); > /* control output (from above) */ >