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

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

Diff for /src/sys/netinet6/raw_ip6.c between version 1.97 and 1.98

version 1.97, 2008/04/23 06:09:05 version 1.98, 2008/04/24 11:38:38
Line 293  rip6_input(struct mbuf **mp, int *offp, 
Line 293  rip6_input(struct mbuf **mp, int *offp, 
         return IPPROTO_DONE;          return IPPROTO_DONE;
 }  }
   
 void  void *
 rip6_ctlinput(int cmd, const struct sockaddr *sa, void *d)  rip6_ctlinput(int cmd, const struct sockaddr *sa, void *d)
 {  {
         struct ip6_hdr *ip6;          struct ip6_hdr *ip6;
Line 305  rip6_ctlinput(int cmd, const struct sock
Line 305  rip6_ctlinput(int cmd, const struct sock
   
         if (sa->sa_family != AF_INET6 ||          if (sa->sa_family != AF_INET6 ||
             sa->sa_len != sizeof(struct sockaddr_in6))              sa->sa_len != sizeof(struct sockaddr_in6))
                 return;                  return NULL;;
   
         if ((unsigned)cmd >= PRC_NCMDS)          if ((unsigned)cmd >= PRC_NCMDS)
                 return;                  return NULL;;
         if (PRC_IS_REDIRECT(cmd))          if (PRC_IS_REDIRECT(cmd))
                 notify = in6_rtchange, d = NULL;                  notify = in6_rtchange, d = NULL;
         else if (cmd == PRC_HOSTDEAD)          else if (cmd == PRC_HOSTDEAD)
Line 316  rip6_ctlinput(int cmd, const struct sock
Line 316  rip6_ctlinput(int cmd, const struct sock
         else if (cmd == PRC_MSGSIZE)          else if (cmd == PRC_MSGSIZE)
                 ; /* special code is present, see below */                  ; /* special code is present, see below */
         else if (inet6ctlerrmap[cmd] == 0)          else if (inet6ctlerrmap[cmd] == 0)
                 return;                  return NULL;;
   
         /* if the parameter is from icmp6, decode it. */          /* if the parameter is from icmp6, decode it. */
         if (d != NULL) {          if (d != NULL) {
Line 385  rip6_ctlinput(int cmd, const struct sock
Line 385  rip6_ctlinput(int cmd, const struct sock
   
         (void) in6_pcbnotify(&raw6cbtable, sa, 0,          (void) in6_pcbnotify(&raw6cbtable, sa, 0,
             (const struct sockaddr *)sa6_src, 0, cmd, cmdarg, notify);              (const struct sockaddr *)sa6_src, 0, cmd, cmdarg, notify);
           return NULL;
 }  }
   
 /*  /*
Line 627  rip6_usrreq(struct socket *so, int req, 
Line 628  rip6_usrreq(struct socket *so, int req, 
                     (struct ifnet *)control, l);                      (struct ifnet *)control, l);
   
         if (req == PRU_PURGEIF) {          if (req == PRU_PURGEIF) {
                   mutex_enter(softnet_lock);
                 in6_pcbpurgeif0(&raw6cbtable, (struct ifnet *)control);                  in6_pcbpurgeif0(&raw6cbtable, (struct ifnet *)control);
                 in6_purgeif((struct ifnet *)control);                  in6_purgeif((struct ifnet *)control);
                 in6_pcbpurgeif(&raw6cbtable, (struct ifnet *)control);                  in6_pcbpurgeif(&raw6cbtable, (struct ifnet *)control);
                   mutex_exit(softnet_lock);
                 return 0;                  return 0;
         }          }
   
         switch (req) {          switch (req) {
         case PRU_ATTACH:          case PRU_ATTACH:
                   sosetlock(so);
                 if (in6p != NULL)                  if (in6p != NULL)
                         panic("rip6_attach");                          panic("rip6_attach");
                 if (!priv) {                  if (!priv) {

Legend:
Removed from v.1.97  
changed lines
  Added in v.1.98

CVSweb <webmaster@jp.NetBSD.org>