[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.174 and 1.174.2.2

version 1.174, 2009/01/19 02:27:57 version 1.174.2.2, 2009/07/23 23:32:48
Line 413  udp_input(struct mbuf *m, ...)
Line 413  udp_input(struct mbuf *m, ...)
         if (IN_MULTICAST(ip->ip_dst.s_addr) || n == 0) {          if (IN_MULTICAST(ip->ip_dst.s_addr) || n == 0) {
                 struct sockaddr_in6 src6, dst6;                  struct sockaddr_in6 src6, dst6;
   
                 bzero(&src6, sizeof(src6));                  memset(&src6, 0, sizeof(src6));
                 src6.sin6_family = AF_INET6;                  src6.sin6_family = AF_INET6;
                 src6.sin6_len = sizeof(struct sockaddr_in6);                  src6.sin6_len = sizeof(struct sockaddr_in6);
                 src6.sin6_addr.s6_addr[10] = src6.sin6_addr.s6_addr[11] = 0xff;                  src6.sin6_addr.s6_addr[10] = src6.sin6_addr.s6_addr[11] = 0xff;
                 bcopy(&ip->ip_src, &src6.sin6_addr.s6_addr[12],                  memcpy(&src6.sin6_addr.s6_addr[12], &ip->ip_src,
                         sizeof(ip->ip_src));                          sizeof(ip->ip_src));
                 src6.sin6_port = uh->uh_sport;                  src6.sin6_port = uh->uh_sport;
                 bzero(&dst6, sizeof(dst6));                  memset(&dst6, 0, sizeof(dst6));
                 dst6.sin6_family = AF_INET6;                  dst6.sin6_family = AF_INET6;
                 dst6.sin6_len = sizeof(struct sockaddr_in6);                  dst6.sin6_len = sizeof(struct sockaddr_in6);
                 dst6.sin6_addr.s6_addr[10] = dst6.sin6_addr.s6_addr[11] = 0xff;                  dst6.sin6_addr.s6_addr[10] = dst6.sin6_addr.s6_addr[11] = 0xff;
                 bcopy(&ip->ip_dst, &dst6.sin6_addr.s6_addr[12],                  memcpy(&dst6.sin6_addr.s6_addr[12], &ip->ip_dst,
                         sizeof(ip->ip_dst));                          sizeof(ip->ip_dst));
                 dst6.sin6_port = uh->uh_dport;                  dst6.sin6_port = uh->uh_dport;
   
Line 580  udp6_input(struct mbuf **mp, int *offp, 
Line 580  udp6_input(struct mbuf **mp, int *offp, 
         /*          /*
          * Construct source and dst sockaddrs.           * Construct source and dst sockaddrs.
          */           */
         bzero(&src, sizeof(src));          memset(&src, 0, sizeof(src));
         src.sin6_family = AF_INET6;          src.sin6_family = AF_INET6;
         src.sin6_len = sizeof(struct sockaddr_in6);          src.sin6_len = sizeof(struct sockaddr_in6);
         src.sin6_addr = ip6->ip6_src;          src.sin6_addr = ip6->ip6_src;
         src.sin6_port = uh->uh_sport;          src.sin6_port = uh->uh_sport;
         bzero(&dst, sizeof(dst));          memset(&dst, 0, sizeof(dst));
         dst.sin6_family = AF_INET6;          dst.sin6_family = AF_INET6;
         dst.sin6_len = sizeof(struct sockaddr_in6);          dst.sin6_len = sizeof(struct sockaddr_in6);
         dst.sin6_addr = ip6->ip6_dst;          dst.sin6_addr = ip6->ip6_dst;
Line 836  udp4_realinput(struct sockaddr_in *src, 
Line 836  udp4_realinput(struct sockaddr_in *src, 
                 }                  }
 #endif  #endif
   
                   /*
                    * Check the minimum TTL for socket.
                    */
                   if (mtod(m, struct ip *)->ip_ttl < inp->inp_ip_minttl)
                           goto bad;
   
                 udp4_sendup(m, off, (struct sockaddr *)src, inp->inp_socket);                  udp4_sendup(m, off, (struct sockaddr *)src, inp->inp_socket);
                 rcvcnt++;                  rcvcnt++;
         }          }

Legend:
Removed from v.1.174  
changed lines
  Added in v.1.174.2.2

CVSweb <webmaster@jp.NetBSD.org>