[BACK]Return to udp_usrreq.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/udp_usrreq.c between version 1.229.2.1 and 1.230

version 1.229.2.1, 2017/04/21 16:54:06 version 1.230, 2017/01/24 07:09:24
Line 468  udp4_sendup(struct mbuf *m, int off /* o
Line 468  udp4_sendup(struct mbuf *m, int off /* o
 {  {
         struct mbuf *opts = NULL;          struct mbuf *opts = NULL;
         struct mbuf *n;          struct mbuf *n;
         struct inpcb *inp;          struct inpcb *inp = NULL;
   
         KASSERT(so != NULL);          if (!so)
         KASSERT(so->so_proto->pr_domain->dom_family == AF_INET);                  return;
         inp = sotoinpcb(so);          switch (so->so_proto->pr_domain->dom_family) {
         KASSERT(inp != NULL);          case AF_INET:
                   inp = sotoinpcb(so);
                   break;
   #ifdef INET6
           case AF_INET6:
                   break;
   #endif
           default:
                   return;
           }
   
 #if defined(IPSEC)  #if defined(IPSEC)
         /* check AH/ESP integrity. */          /* check AH/ESP integrity. */
         if (ipsec_used && ipsec4_in_reject(m, inp)) {          if (ipsec_used && so != NULL && ipsec4_in_reject_so(m, so)) {
                 IPSEC_STATINC(IPSEC_STAT_IN_POLVIO);                  IPSEC_STATINC(IPSEC_STAT_IN_POLVIO);
                 if ((n = m_copypacket(m, M_DONTWAIT)) != NULL)                  if ((n = m_copypacket(m, M_DONTWAIT)) != NULL)
                         icmp_error(n, ICMP_UNREACH, ICMP_UNREACH_ADMIN_PROHIBIT,                          icmp_error(n, ICMP_UNREACH, ICMP_UNREACH_ADMIN_PROHIBIT,
Line 487  udp4_sendup(struct mbuf *m, int off /* o
Line 496  udp4_sendup(struct mbuf *m, int off /* o
 #endif /*IPSEC*/  #endif /*IPSEC*/
   
         if ((n = m_copypacket(m, M_DONTWAIT)) != NULL) {          if ((n = m_copypacket(m, M_DONTWAIT)) != NULL) {
                 if (inp->inp_flags & INP_CONTROLOPTS                  if (inp && (inp->inp_flags & INP_CONTROLOPTS
 #ifdef SO_OTIMESTAMP  #ifdef SO_OTIMESTAMP
                          || so->so_options & SO_OTIMESTAMP                           || so->so_options & SO_OTIMESTAMP
 #endif  #endif
                          || so->so_options & SO_TIMESTAMP) {                           || so->so_options & SO_TIMESTAMP)) {
                         struct ip *ip = mtod(n, struct ip *);                          struct ip *ip = mtod(n, struct ip *);
                         ip_savecontrol(inp, &opts, ip, n);                          ip_savecontrol(inp, &opts, ip, n);
                 }                  }
Line 839  udp_output(struct mbuf *m, struct inpcb 
Line 848  udp_output(struct mbuf *m, struct inpcb 
   
         return (ip_output(m, inp->inp_options, ro,          return (ip_output(m, inp->inp_options, ro,
             inp->inp_socket->so_options & (SO_DONTROUTE | SO_BROADCAST),              inp->inp_socket->so_options & (SO_DONTROUTE | SO_BROADCAST),
             inp->inp_moptions, inp));              inp->inp_moptions, inp->inp_socket));
   
 release:  release:
         m_freem(m);          m_freem(m);

Legend:
Removed from v.1.229.2.1  
changed lines
  Added in v.1.230

CVSweb <webmaster@jp.NetBSD.org>