[BACK]Return to udp6_usrreq.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/udp6_usrreq.c between version 1.30 and 1.30.2.3

version 1.30, 2000/06/08 13:51:34 version 1.30.2.3, 2001/04/06 00:29:38
Line 1 
Line 1 
 /*      $NetBSD$        */  /*      $NetBSD$        */
 /*      $KAME: udp6_usrreq.c,v 1.52 2000/06/05 00:41:58 itojun Exp $    */  /*      $KAME: udp6_usrreq.c,v 1.62 2000/10/19 01:11:05 itojun Exp $    */
   
 /*  /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.   * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
Line 528  udp6_ctlinput(cmd, sa, d)
Line 528  udp6_ctlinput(cmd, sa, d)
                 if (IN6_IS_ADDR_LINKLOCAL(&s))                  if (IN6_IS_ADDR_LINKLOCAL(&s))
                         s.s6_addr16[1] = htons(m->m_pkthdr.rcvif->if_index);                          s.s6_addr16[1] = htons(m->m_pkthdr.rcvif->if_index);
   
                   /* check if we can safely examine src and dst ports */
                   if (m->m_pkthdr.len < off + sizeof(uh))
                           return;
   
                 if (m->m_len < off + sizeof(uh)) {                  if (m->m_len < off + sizeof(uh)) {
                         /*                          /*
                          * this should be rare case,                           * this should be rare case,
Line 729  udp6_output(in6p, m, addr6, control, p)
Line 733  udp6_output(in6p, m, addr6, control, p)
   
                 udp6stat.udp6s_opackets++;                  udp6stat.udp6s_opackets++;
 #ifdef IPSEC  #ifdef IPSEC
                 ipsec_setsocket(m, in6p->in6p_socket);                  if (ipsec_setsocket(m, in6p->in6p_socket) != 0) {
                           error = ENOBUFS;
                           goto release;
                   }
 #endif /*IPSEC*/  #endif /*IPSEC*/
                 error = ip6_output(m, in6p->in6p_outputopts, &in6p->in6p_route,                  error = ip6_output(m, in6p->in6p_outputopts, &in6p->in6p_route,
                             0, in6p->in6p_moptions, NULL);                              0, in6p->in6p_moptions, NULL);
Line 746  udp6_output(in6p, m, addr6, control, p)
Line 753  udp6_output(in6p, m, addr6, control, p)
   
                 ip->ip_len = plen;                  ip->ip_len = plen;
                 ip->ip_p = IPPROTO_UDP;                  ip->ip_p = IPPROTO_UDP;
                 ip->ip_ttl = in6p->in6p_hops;   /*XXX*/                  ip->ip_ttl = in6_selecthlim(in6p, NULL);        /*XXX*/
                 ip->ip_tos = 0;                 /*XXX*/                  ip->ip_tos = 0;                 /*XXX*/
                 bcopy(&laddr->s6_addr[12], &ip->ip_src, sizeof(ip->ip_src));                  bcopy(&laddr->s6_addr[12], &ip->ip_src, sizeof(ip->ip_src));
                 bcopy(&faddr->s6_addr[12], &ip->ip_dst, sizeof(ip->ip_dst));                  bcopy(&faddr->s6_addr[12], &ip->ip_dst, sizeof(ip->ip_dst));
Line 757  udp6_output(in6p, m, addr6, control, p)
Line 764  udp6_output(in6p, m, addr6, control, p)
   
                 udpstat.udps_opackets++;                  udpstat.udps_opackets++;
 #ifdef IPSEC  #ifdef IPSEC
                 ipsec_setsocket(m, NULL);       /*XXX*/                  (void)ipsec_setsocket(m, NULL); /*XXX*/
 #endif /*IPSEC*/  #endif /*IPSEC*/
                 error = ip_output(m, NULL, &in6p->in6p_route, 0 /*XXX*/);                  error = ip_output(m, NULL, &in6p->in6p_route, 0 /*XXX*/);
                 break;                  break;

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.30.2.3

CVSweb <webmaster@jp.NetBSD.org>