[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.136 and 1.137

version 1.136, 2014/07/24 15:12:03 version 1.137, 2014/07/30 10:04:26
Line 112  struct inpcbtable rawcbtable;
Line 112  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(struct inpcb *, struct mbuf *);  int      rip_connect_pcb(struct inpcb *, struct mbuf *);
 void     rip_disconnect(struct inpcb *);  void     rip_disconnect(struct inpcb *);
   
 static void sysctl_net_inet_raw_setup(struct sysctllog **);  static void sysctl_net_inet_raw_setup(struct sysctllog **);
Line 481  rip_ctloutput(int op, struct socket *so,
Line 481  rip_ctloutput(int op, struct socket *so,
 }  }
   
 int  int
 rip_connect(struct inpcb *inp, struct mbuf *nam)  rip_connect_pcb(struct inpcb *inp, struct mbuf *nam)
 {  {
         struct sockaddr_in *addr = mtod(nam, struct sockaddr_in *);          struct sockaddr_in *addr = mtod(nam, struct sockaddr_in *);
   
Line 604  rip_listen(struct socket *so)
Line 604  rip_listen(struct socket *so)
 }  }
   
 static int  static int
   rip_connect(struct socket *so, struct mbuf *nam)
   {
           struct inpcb *inp = sotoinpcb(so);
           int error = 0;
           int s;
   
           KASSERT(solocked(so));
           KASSERT(inp != NULL);
           KASSERT(nam != NULL);
   
           s = splsoftnet();
           error = rip_connect_pcb(inp, nam);
           if (! error)
                   soisconnected(so);
   
           splx(s);
           return error;
   }
   
   
   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)
 {  {
         return in_control(so, cmd, nam, ifp);          return in_control(so, cmd, nam, ifp);
Line 671  rip_usrreq(struct socket *so, int req, s
Line 692  rip_usrreq(struct socket *so, int req, s
         KASSERT(req != PRU_ACCEPT);          KASSERT(req != PRU_ACCEPT);
         KASSERT(req != PRU_BIND);          KASSERT(req != PRU_BIND);
         KASSERT(req != PRU_LISTEN);          KASSERT(req != PRU_LISTEN);
           KASSERT(req != PRU_CONNECT);
         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 700  rip_usrreq(struct socket *so, int req, s
Line 722  rip_usrreq(struct socket *so, int req, s
   
         switch (req) {          switch (req) {
   
         case PRU_CONNECT:  
                 error = rip_connect(inp, nam);  
                 if (error)  
                         break;  
                 soisconnected(so);  
                 break;  
   
         case PRU_CONNECT2:          case PRU_CONNECT2:
                 error = EOPNOTSUPP;                  error = EOPNOTSUPP;
                 break;                  break;
Line 744  rip_usrreq(struct socket *so, int req, s
Line 759  rip_usrreq(struct socket *so, int req, s
                                 error = EISCONN;                                  error = EISCONN;
                                 goto die;                                  goto die;
                         }                          }
                         error = rip_connect(inp, nam);                          error = rip_connect_pcb(inp, nam);
                         if (error) {                          if (error) {
                         die:                          die:
                                 m_freem(m);                                  m_freem(m);
Line 776  PR_WRAP_USRREQS(rip)
Line 791  PR_WRAP_USRREQS(rip)
 #define rip_accept      rip_accept_wrapper  #define rip_accept      rip_accept_wrapper
 #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_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 790  const struct pr_usrreqs rip_usrreqs = {
Line 806  const struct pr_usrreqs rip_usrreqs = {
         .pr_accept      = rip_accept,          .pr_accept      = rip_accept,
         .pr_bind        = rip_bind,          .pr_bind        = rip_bind,
         .pr_listen      = rip_listen,          .pr_listen      = rip_listen,
           .pr_connect     = rip_connect,
         .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.136  
changed lines
  Added in v.1.137

CVSweb <webmaster@jp.NetBSD.org>