nd6.c (148954) | nd6.c (148987) |
---|---|
1/* $FreeBSD: head/sys/netinet6/nd6.c 148954 2005-08-11 08:14:53Z glebius $ */ | 1/* $FreeBSD: head/sys/netinet6/nd6.c 148987 2005-08-12 15:27:25Z ume $ */ |
2/* $KAME: nd6.c,v 1.144 2001/05/24 07:44:00 itojun 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 --- 1021 unchanged lines hidden (view full) --- 1031 rt_mask(rt), 0, (struct rtentry **)0); 1032 1033 return (next); 1034} 1035 1036/* 1037 * Upper-layer reachability hint for Neighbor Unreachability Detection. 1038 * | 2/* $KAME: nd6.c,v 1.144 2001/05/24 07:44:00 itojun 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 --- 1021 unchanged lines hidden (view full) --- 1031 rt_mask(rt), 0, (struct rtentry **)0); 1032 1033 return (next); 1034} 1035 1036/* 1037 * Upper-layer reachability hint for Neighbor Unreachability Detection. 1038 * |
1039 * XXX cost-effective metods? | 1039 * XXX cost-effective methods? |
1040 */ 1041void 1042nd6_nud_hint(rt, dst6, force) 1043 struct rtentry *rt; 1044 struct in6_addr *dst6; 1045 int force; 1046{ 1047 struct llinfo_nd6 *ln; --- 769 unchanged lines hidden (view full) --- 1817 1818 if (IN6_IS_ADDR_MULTICAST(&dst->sin6_addr)) 1819 goto sendpkt; 1820 1821 if (nd6_need_cache(ifp) == 0) 1822 goto sendpkt; 1823 1824 /* | 1040 */ 1041void 1042nd6_nud_hint(rt, dst6, force) 1043 struct rtentry *rt; 1044 struct in6_addr *dst6; 1045 int force; 1046{ 1047 struct llinfo_nd6 *ln; --- 769 unchanged lines hidden (view full) --- 1817 1818 if (IN6_IS_ADDR_MULTICAST(&dst->sin6_addr)) 1819 goto sendpkt; 1820 1821 if (nd6_need_cache(ifp) == 0) 1822 goto sendpkt; 1823 1824 /* |
1825 * next hop determination. This routine is derived from ether_outpout. | 1825 * next hop determination. This routine is derived from ether_output. |
1826 */ 1827again: 1828 if (rt) { 1829 if ((rt->rt_flags & RTF_UP) == 0) { 1830 rt0 = rt = rtalloc1((struct sockaddr *)dst, 1, 0UL); 1831 if (rt != NULL) { 1832 RT_REMREF(rt); 1833 RT_UNLOCK(rt); --- 390 unchanged lines hidden --- | 1826 */ 1827again: 1828 if (rt) { 1829 if ((rt->rt_flags & RTF_UP) == 0) { 1830 rt0 = rt = rtalloc1((struct sockaddr *)dst, 1, 0UL); 1831 if (rt != NULL) { 1832 RT_REMREF(rt); 1833 RT_UNLOCK(rt); --- 390 unchanged lines hidden --- |