[BACK]Return to raw_ip.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / netinet

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/netinet/raw_ip.c between version 1.138 and 1.139

version 1.138, 2014/07/31 02:21:51 version 1.139, 2014/07/31 03:39:35
Line 113  struct inpcbtable rawcbtable;
Line 113  struct inpcbtable rawcbtable;
 int      rip_pcbnotify(struct inpcbtable *, struct in_addr,  int      rip_pcbnotify(struct inpcbtable *, struct in_addr,
     struct in_addr, int, int, void (*)(struct inpcb *, int));      struct in_addr, int, int, void (*)(struct inpcb *, int));
 int      rip_connect_pcb(struct inpcb *, struct mbuf *);  int      rip_connect_pcb(struct inpcb *, struct mbuf *);
 void     rip_disconnect(struct inpcb *);  static void      rip_disconnect1(struct inpcb *);
   
 static void sysctl_net_inet_raw_setup(struct sysctllog **);  static void sysctl_net_inet_raw_setup(struct sysctllog **);
   
Line 495  rip_connect_pcb(struct inpcb *inp, struc
Line 495  rip_connect_pcb(struct inpcb *inp, struc
         return (0);          return (0);
 }  }
   
 void  static void
 rip_disconnect(struct inpcb *inp)  rip_disconnect1(struct inpcb *inp)
 {  {
   
         inp->inp_faddr = zeroin_addr;          inp->inp_faddr = zeroin_addr;
Line 623  rip_connect(struct socket *so, struct mb
Line 623  rip_connect(struct socket *so, struct mb
         return error;          return error;
 }  }
   
   static int
   rip_disconnect(struct socket *so)
   {
           struct inpcb *inp = sotoinpcb(so);
   
           KASSERT(solocked(so));
           KASSERT(inp != NULL);
   
           soisdisconnected(so);
           rip_disconnect1(inp);
           return 0;
   }
   
   static int
   rip_shutdown(struct socket *so)
   {
           KASSERT(solocked(so));
   
           /*
            * Mark the connection as being incapable of further input.
            */
           socantsendmore(so);
           return 0;
   }
   
   static int
   rip_abort(struct socket *so)
   {
           KASSERT(solocked(so));
   
           panic("rip_abort");
   
           return EOPNOTSUPP;
   }
   
 static int  static int
 rip_ioctl(struct socket *so, u_long cmd, void *nam, struct ifnet *ifp)  rip_ioctl(struct socket *so, u_long cmd, void *nam, struct ifnet *ifp)
Line 693  rip_usrreq(struct socket *so, int req, s
Line 727  rip_usrreq(struct socket *so, int req, s
         KASSERT(req != PRU_BIND);          KASSERT(req != PRU_BIND);
         KASSERT(req != PRU_LISTEN);          KASSERT(req != PRU_LISTEN);
         KASSERT(req != PRU_CONNECT);          KASSERT(req != PRU_CONNECT);
           KASSERT(req != PRU_DISCONNECT);
           KASSERT(req != PRU_SHUTDOWN);
           KASSERT(req != PRU_ABORT);
         KASSERT(req != PRU_CONTROL);          KASSERT(req != PRU_CONTROL);
         KASSERT(req != PRU_SENSE);          KASSERT(req != PRU_SENSE);
         KASSERT(req != PRU_PEERADDR);          KASSERT(req != PRU_PEERADDR);
Line 726  rip_usrreq(struct socket *so, int req, s
Line 763  rip_usrreq(struct socket *so, int req, s
                 error = EOPNOTSUPP;                  error = EOPNOTSUPP;
                 break;                  break;
   
         case PRU_DISCONNECT:  
                 soisdisconnected(so);  
                 rip_disconnect(inp);  
                 break;  
   
         /*  
          * Mark the connection as being incapable of further input.  
          */  
         case PRU_SHUTDOWN:  
                 socantsendmore(so);  
                 break;  
   
         case PRU_RCVD:          case PRU_RCVD:
                 error = EOPNOTSUPP;                  error = EOPNOTSUPP;
                 break;                  break;
Line 773  rip_usrreq(struct socket *so, int req, s
Line 798  rip_usrreq(struct socket *so, int req, s
                 }                  }
                 error = rip_output(m, inp);                  error = rip_output(m, inp);
                 if (nam)                  if (nam)
                         rip_disconnect(inp);                          rip_disconnect1(inp);
         }          }
                 break;                  break;
   
Line 792  PR_WRAP_USRREQS(rip)
Line 817  PR_WRAP_USRREQS(rip)
 #define rip_bind        rip_bind_wrapper  #define rip_bind        rip_bind_wrapper
 #define rip_listen      rip_listen_wrapper  #define rip_listen      rip_listen_wrapper
 #define rip_connect     rip_connect_wrapper  #define rip_connect     rip_connect_wrapper
   #define rip_disconnect  rip_disconnect_wrapper
   #define rip_shutdown    rip_shutdown_wrapper
   #define rip_abort       rip_abort_wrapper
 #define rip_ioctl       rip_ioctl_wrapper  #define rip_ioctl       rip_ioctl_wrapper
 #define rip_stat        rip_stat_wrapper  #define rip_stat        rip_stat_wrapper
 #define rip_peeraddr    rip_peeraddr_wrapper  #define rip_peeraddr    rip_peeraddr_wrapper
Line 807  const struct pr_usrreqs rip_usrreqs = {
Line 835  const struct pr_usrreqs rip_usrreqs = {
         .pr_bind        = rip_bind,          .pr_bind        = rip_bind,
         .pr_listen      = rip_listen,          .pr_listen      = rip_listen,
         .pr_connect     = rip_connect,          .pr_connect     = rip_connect,
           .pr_disconnect  = rip_disconnect,
           .pr_shutdown    = rip_shutdown,
           .pr_abort       = rip_abort,
         .pr_ioctl       = rip_ioctl,          .pr_ioctl       = rip_ioctl,
         .pr_stat        = rip_stat,          .pr_stat        = rip_stat,
         .pr_peeraddr    = rip_peeraddr,          .pr_peeraddr    = rip_peeraddr,

Legend:
Removed from v.1.138  
changed lines
  Added in v.1.139

CVSweb <webmaster@jp.NetBSD.org>