1/*- 2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 16 unchanged lines hidden (view full) --- 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * 29 * $KAME: nd6.c,v 1.144 2001/05/24 07:44:00 itojun Exp $ 30 */ 31 32#include <sys/cdefs.h> |
33__FBSDID("$FreeBSD: head/sys/netinet6/nd6.c 254889 2013-08-25 21:54:41Z markj $"); |
34 35#include "opt_inet.h" 36#include "opt_inet6.h" |
37#include "opt_kdtrace.h" |
38 39#include <sys/param.h> 40#include <sys/systm.h> 41#include <sys/callout.h> 42#include <sys/malloc.h> 43#include <sys/mbuf.h> 44#include <sys/socket.h> 45#include <sys/sockio.h> 46#include <sys/time.h> 47#include <sys/kernel.h> 48#include <sys/protosw.h> 49#include <sys/errno.h> 50#include <sys/syslog.h> 51#include <sys/lock.h> 52#include <sys/rwlock.h> 53#include <sys/queue.h> |
54#include <sys/sdt.h> |
55#include <sys/sysctl.h> 56 57#include <net/if.h> 58#include <net/if_arc.h> 59#include <net/if_dl.h> 60#include <net/if_types.h> 61#include <net/iso88025.h> 62#include <net/fddi.h> 63#include <net/route.h> 64#include <net/vnet.h> 65 66#include <netinet/in.h> |
67#include <netinet/in_kdtrace.h> |
68#include <net/if_llatbl.h> 69#define L3_ADDR_SIN6(le) ((struct sockaddr_in6 *) L3_ADDR(le)) 70#include <netinet/if_ether.h> 71#include <netinet6/in6_var.h> 72#include <netinet/ip6.h> 73#include <netinet6/ip6_var.h> 74#include <netinet6/scope6_var.h> 75#include <netinet6/nd6.h> --- 2005 unchanged lines hidden (view full) --- 2081 mb = *chain; 2082 while (mb->m_nextpkt != NULL) 2083 mb = mb->m_nextpkt; 2084 mb->m_nextpkt = m; 2085 } 2086 return (error); 2087 } 2088 m_clrprotoflags(m); /* Avoid confusing lower layers. */ |
2089 IP_PROBE(send, NULL, NULL, mtod(m, struct ip6_hdr *), ifp, NULL, 2090 mtod(m, struct ip6_hdr *)); |
2091 if ((ifp->if_flags & IFF_LOOPBACK) != 0) { 2092 return ((*ifp->if_output)(origifp, m, (struct sockaddr *)dst, 2093 NULL)); 2094 } 2095 error = (*ifp->if_output)(ifp, m, (struct sockaddr *)dst, NULL); 2096 return (error); 2097 2098 bad: --- 278 unchanged lines hidden --- |