> 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) */
> 

Reply via email to