1/* $FreeBSD: head/sys/netinet6/nd6_nbr.c 95023 2002-04-19 04:46:24Z suz $ */
2/* $KAME: nd6_nbr.c,v 1.86 2002/01/21 02:33:04 jinmei Exp $ */
3
4/*
5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
--- 489 unchanged lines hidden (view full) ---
499 bcopy(mac, (caddr_t)(nd_opt + 1), ifp->if_addrlen);
500 }
501
502 ip6->ip6_plen = htons((u_short)icmp6len);
503 nd_ns->nd_ns_cksum = 0;
504 nd_ns->nd_ns_cksum
505 = in6_cksum(m, IPPROTO_ICMPV6, sizeof(*ip6), icmp6len);
506
507#ifdef IPSEC
508 /* Don't lookup socket */
509 (void)ipsec_setsocket(m, NULL);
510#endif
511 ip6_output(m, NULL, NULL, dad ? IPV6_DADOUTPUT : 0, &im6o, &outif);
512 if (outif) {
513 icmp6_ifstat_inc(outif, ifs6_out_msg);
514 icmp6_ifstat_inc(outif, ifs6_out_neighborsolicit);
515 }
516 icmp6stat.icp6s_outhist[ND_NEIGHBOR_SOLICIT]++;
517}
518
519/*
--- 427 unchanged lines hidden (view full) ---
947 flags &= ~ND_NA_FLAG_OVERRIDE;
948
949 ip6->ip6_plen = htons((u_short)icmp6len);
950 nd_na->nd_na_flags_reserved = flags;
951 nd_na->nd_na_cksum = 0;
952 nd_na->nd_na_cksum =
953 in6_cksum(m, IPPROTO_ICMPV6, sizeof(struct ip6_hdr), icmp6len);
954
955#ifdef IPSEC
956 /* Don't lookup socket */
957 (void)ipsec_setsocket(m, NULL);
958#endif
959 ip6_output(m, NULL, NULL, 0, &im6o, &outif);
960 if (outif) {
961 icmp6_ifstat_inc(outif, ifs6_out_msg);
962 icmp6_ifstat_inc(outif, ifs6_out_neighboradvert);
963 }
964 icmp6stat.icp6s_outhist[ND_NEIGHBOR_ADVERT]++;
965}
966
967caddr_t
--- 437 unchanged lines hidden ---
2/* $KAME: nd6_nbr.c,v 1.86 2002/01/21 02:33:04 jinmei Exp $ */
3
4/*
5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
--- 489 unchanged lines hidden (view full) ---
499 bcopy(mac, (caddr_t)(nd_opt + 1), ifp->if_addrlen);
500 }
501
502 ip6->ip6_plen = htons((u_short)icmp6len);
503 nd_ns->nd_ns_cksum = 0;
504 nd_ns->nd_ns_cksum
505 = in6_cksum(m, IPPROTO_ICMPV6, sizeof(*ip6), icmp6len);
506
507#ifdef IPSEC
508 /* Don't lookup socket */
509 (void)ipsec_setsocket(m, NULL);
510#endif
511 ip6_output(m, NULL, NULL, dad ? IPV6_DADOUTPUT : 0, &im6o, &outif);
512 if (outif) {
513 icmp6_ifstat_inc(outif, ifs6_out_msg);
514 icmp6_ifstat_inc(outif, ifs6_out_neighborsolicit);
515 }
516 icmp6stat.icp6s_outhist[ND_NEIGHBOR_SOLICIT]++;
517}
518
519/*
--- 427 unchanged lines hidden (view full) ---
947 flags &= ~ND_NA_FLAG_OVERRIDE;
948
949 ip6->ip6_plen = htons((u_short)icmp6len);
950 nd_na->nd_na_flags_reserved = flags;
951 nd_na->nd_na_cksum = 0;
952 nd_na->nd_na_cksum =
953 in6_cksum(m, IPPROTO_ICMPV6, sizeof(struct ip6_hdr), icmp6len);
954
955#ifdef IPSEC
956 /* Don't lookup socket */
957 (void)ipsec_setsocket(m, NULL);
958#endif
959 ip6_output(m, NULL, NULL, 0, &im6o, &outif);
960 if (outif) {
961 icmp6_ifstat_inc(outif, ifs6_out_msg);
962 icmp6_ifstat_inc(outif, ifs6_out_neighboradvert);
963 }
964 icmp6stat.icp6s_outhist[ND_NEIGHBOR_ADVERT]++;
965}
966
967caddr_t
--- 437 unchanged lines hidden ---