ok

Claudio Jeker([email protected]) on 2018.07.09 19:20:35 +0200:
> raw_usrreq() is no longer used so remove it from the tree.
> The only thing form the headerfile that was still used was RAWSNDQ and
> RAWRCVQ. I replaced them with per protocol defines.
> 
> OK?
> -- 
> :wq Claudio
> 
> Index: conf/files
> ===================================================================
> RCS file: /cvs/src/sys/conf/files,v
> retrieving revision 1.662
> diff -u -p -r1.662 files
> --- conf/files        2 Jul 2018 12:46:20 -0000       1.662
> +++ conf/files        9 Jul 2018 17:18:11 -0000
> @@ -798,7 +798,6 @@ file net/switchctl.c                      switch
>  file net/switchofp.c                 switch
>  file net/pipex.c                     pipex
>  file net/radix.c                     pf | ipsec | pipex | nfsserver
> -file net/raw_usrreq.c
>  file net/rtable.c
>  file net/route.c
>  file net/rtsock.c
> Index: net/pfkeyv2.c
> ===================================================================
> RCS file: /cvs/src/sys/net/pfkeyv2.c,v
> retrieving revision 1.187
> diff -u -p -r1.187 pfkeyv2.c
> --- net/pfkeyv2.c     9 Jul 2018 16:51:29 -0000       1.187
> +++ net/pfkeyv2.c     9 Jul 2018 17:18:12 -0000
> @@ -86,7 +86,6 @@
>  #include <netinet/ip_ipsp.h>
>  #include <net/pfkeyv2.h>
>  #include <net/radix.h>
> -#include <net/raw_cb.h>
>  #include <netinet/ip_ah.h>
>  #include <netinet/ip_esp.h>
>  #include <netinet/ip_ipcomp.h>
> @@ -97,6 +96,8 @@
>  #include <net/pfvar.h>
>  #endif
>  
> +#define      PFKEYSNDQ       8192
> +#define      PFKEYRCVQ       8192
>  
>  static const struct sadb_alg ealgs[] = {
>       { SADB_EALG_NULL, 0, 0, 0 },
> @@ -269,7 +270,7 @@ pfkeyv2_attach(struct socket *so, int pr
>       so->so_pcb = kp;
>       refcnt_init(&kp->kcb_refcnt);
>  
> -     error = soreserve(so, RAWSNDQ, RAWRCVQ);
> +     error = soreserve(so, PFKEYSNDQ, PFKEYRCVQ);
>       if (error) {
>               free(kp, M_PCB, sizeof(struct pkpcb));
>               return (error);
> Index: net/raw_cb.h
> ===================================================================
> RCS file: net/raw_cb.h
> diff -N net/raw_cb.h
> --- net/raw_cb.h      4 Nov 2017 16:48:09 -0000       1.16
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,62 +0,0 @@
> -/*   $OpenBSD: raw_cb.h,v 1.16 2017/11/04 16:48:09 mpi Exp $ */
> -/*   $NetBSD: raw_cb.h,v 1.9 1996/02/13 22:00:41 christos Exp $      */
> -
> -/*
> - * Copyright (c) 1980, 1986, 1993
> - *   The Regents of the University of California.  All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - * 3. Neither the name of the University nor the names of its contributors
> - *    may be used to endorse or promote products derived from this software
> - *    without specific prior written permission.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> - * SUCH DAMAGE.
> - *
> - *   @(#)raw_cb.h    8.1 (Berkeley) 6/10/93
> - */
> -
> -#ifndef _NET_RAW_CB_H_
> -#define _NET_RAW_CB_H_
> -
> -/*
> - * Raw protocol interface control block.  Used
> - * to tie a socket to the generic raw interface.
> - */
> -struct rawcb {
> -     struct  socket *rcb_socket;     /* back pointer to socket */
> -     struct  sockaddr *rcb_faddr;    /* destination address */
> -     struct  sockaddr *rcb_laddr;    /* socket's address */
> -     struct  sockproto rcb_proto;    /* protocol family, protocol */
> -};
> -
> -/*
> - * Nominal space allocated to a raw socket.
> - */
> -#define      RAWSNDQ         8192
> -#define      RAWRCVQ         8192
> -
> -#ifdef _KERNEL
> -
> -#define      sotorawcb(so)           ((struct rawcb *)(so)->so_pcb)
> -int   raw_usrreq(struct socket *,
> -         int, struct mbuf *, struct mbuf *, struct mbuf *, struct proc *);
> -#endif /* _KERNEL */
> -
> -#endif /* _NET_RAW_CB_H_ */
> Index: net/raw_usrreq.c
> ===================================================================
> RCS file: net/raw_usrreq.c
> diff -N net/raw_usrreq.c
> --- net/raw_usrreq.c  24 Apr 2018 15:40:55 -0000      1.35
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,161 +0,0 @@
> -/*   $OpenBSD: raw_usrreq.c,v 1.35 2018/04/24 15:40:55 pirofti Exp $ */
> -/*   $NetBSD: raw_usrreq.c,v 1.11 1996/02/13 22:00:43 christos Exp $ */
> -
> -/*
> - * Copyright (c) 1980, 1986, 1993
> - *   The Regents of the University of California.  All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - * 3. Neither the name of the University nor the names of its contributors
> - *    may be used to endorse or promote products derived from this software
> - *    without specific prior written permission.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> - * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> - * SUCH DAMAGE.
> - *
> - *   @(#)raw_usrreq.c        8.1 (Berkeley) 6/10/93
> - */
> -
> -#include <sys/param.h>
> -#include <sys/mbuf.h>
> -#include <sys/domain.h>
> -#include <sys/protosw.h>
> -#include <sys/socket.h>
> -#include <sys/socketvar.h>
> -#include <sys/errno.h>
> -#include <sys/systm.h>
> -
> -#include <net/netisr.h>
> -#include <net/raw_cb.h>
> -
> -#include <sys/stdarg.h>
> -
> -int
> -raw_usrreq(struct socket *so, int req, struct mbuf *m, struct mbuf *nam,
> -    struct mbuf *control, struct proc *p)
> -{
> -     struct rawcb *rp = sotorawcb(so);
> -     int error = 0;
> -     int len;
> -
> -     if (req == PRU_CONTROL)
> -             return (EOPNOTSUPP);
> -
> -     soassertlocked(so);
> -
> -     if (control && control->m_len) {
> -             m_freem(m);
> -             return (EOPNOTSUPP);
> -     }
> -     if (rp == NULL) {
> -             m_freem(m);
> -             return (EINVAL);
> -     }
> -     switch (req) {
> -     case PRU_CONNECT:
> -     case PRU_BIND:
> -     case PRU_CONNECT2:
> -             error = EOPNOTSUPP;
> -             break;
> -
> -     case PRU_DISCONNECT:
> -             if (rp->rcb_faddr == 0) {
> -                     error = ENOTCONN;
> -                     break;
> -             }
> -             soisdisconnected(so);
> -             break;
> -
> -     /*
> -      * Mark the connection as being incapable of further input.
> -      */
> -     case PRU_SHUTDOWN:
> -             socantsendmore(so);
> -             break;
> -
> -     /*
> -      * Ship a packet out.  The appropriate raw output
> -      * routine handles any massaging necessary.
> -      */
> -     case PRU_SEND:
> -             if (nam) {
> -                     if (rp->rcb_faddr) {
> -                             error = EISCONN;
> -                             break;
> -                     }
> -                     rp->rcb_faddr = mtod(nam, struct sockaddr *);
> -             } else if (rp->rcb_faddr == 0) {
> -                     error = ENOTCONN;
> -                     break;
> -             }
> -             error = (*so->so_proto->pr_output)(m, so, NULL, NULL);
> -             m = NULL;
> -             if (nam)
> -                     rp->rcb_faddr = 0;
> -             break;
> -
> -     case PRU_ABORT:
> -             soisdisconnected(so);
> -             break;
> -
> -     case PRU_SENSE:
> -             /*
> -              * stat: don't bother with a blocksize.
> -              */
> -             return (0);
> -
> -     /*
> -      * Not supported.
> -      */
> -     case PRU_RCVOOB:
> -     case PRU_RCVD:
> -             return (EOPNOTSUPP);
> -
> -     case PRU_LISTEN:
> -     case PRU_ACCEPT:
> -     case PRU_SENDOOB:
> -             error = EOPNOTSUPP;
> -             break;
> -
> -     case PRU_SOCKADDR:
> -             if (rp->rcb_laddr == 0) {
> -                     error = EINVAL;
> -                     break;
> -             }
> -             len = rp->rcb_laddr->sa_len;
> -             bcopy((caddr_t)rp->rcb_laddr, mtod(nam, caddr_t), 
> (unsigned)len);
> -             nam->m_len = len;
> -             break;
> -
> -     case PRU_PEERADDR:
> -             if (rp->rcb_faddr == 0) {
> -                     error = ENOTCONN;
> -                     break;
> -             }
> -             len = rp->rcb_faddr->sa_len;
> -             bcopy((caddr_t)rp->rcb_faddr, mtod(nam, caddr_t), 
> (unsigned)len);
> -             nam->m_len = len;
> -             break;
> -
> -     default:
> -             panic("raw_usrreq");
> -     }
> -     m_freem(m);
> -     return (error);
> -}
> Index: net/rtsock.c
> ===================================================================
> RCS file: /cvs/src/sys/net/rtsock.c,v
> retrieving revision 1.277
> diff -u -p -r1.277 rtsock.c
> --- net/rtsock.c      9 Jul 2018 16:49:36 -0000       1.277
> +++ net/rtsock.c      9 Jul 2018 17:18:12 -0000
> @@ -76,7 +76,6 @@
>  #include <net/if_dl.h>
>  #include <net/if_var.h>
>  #include <net/route.h>
> -#include <net/raw_cb.h>
>  
>  #include <netinet/in.h>
>  
> @@ -95,6 +94,9 @@
>  #include <sys/kernel.h>
>  #include <sys/timeout.h>
>  
> +#define      ROUTESNDQ       8192
> +#define      ROUTERCVQ       8192
> +
>  struct sockaddr              route_src = { 2, PF_ROUTE, };
>  
>  struct walkarg {
> @@ -300,7 +302,7 @@ route_attach(struct socket *so, int prot
>       if (curproc == NULL)
>               error = EACCES;
>       else
> -             error = soreserve(so, RAWSNDQ, RAWRCVQ);
> +             error = soreserve(so, ROUTESNDQ, ROUTERCVQ);
>       if (error) {
>               free(rop, M_PCB, sizeof(struct rtpcb));
>               return (error);
> 

Reply via email to