Home | History | Annotate | Download | only in netinet6

Lines Matching refs:ip6

105 #include <netinet/ip6.h>
174 * IP6 initialization: fill in IP6 protocol switch table.
175 * All protocols not implemented in kernel go to raw IP6 protocol handler.
217 * IP6 input interrupt handling. Just pass the packet to ip6_input.
252 struct ip6_hdr *ip6;
311 ip6 = mtod(m, struct ip6_hdr *);
313 if ((ip6->ip6_vfc & IPV6_VERSION_MASK) != IPV6_VERSION) {
319 if (ip6_badaddr(ip6)) {
350 odst = ip6->ip6_dst;
363 ip6 = mtod(m, struct ip6_hdr *);
364 srcrt = !IN6_ARE_ADDR_EQUAL(&odst, &ip6->ip6_dst);
367 IP6_STATINC(IP6_STAT_NXTHIST + ip6->ip6_nxt);
396 ip6 = mtod(m, struct ip6_hdr *);
397 if (in6_clearscope(&ip6->ip6_src) || in6_clearscope(&ip6->ip6_dst)) {
401 if (in6_setscope(&ip6->ip6_src, rcvif, NULL) ||
402 in6_setscope(&ip6->ip6_dst, rcvif, NULL)) {
412 if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) {
420 ingroup = in6_multi_group(&ip6->ip6_dst, rcvif);
435 sockaddr_in6_init(&u.dst6, &ip6->ip6_dst, 0, 0, 0);
475 !IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src))
484 sin6.sin6_addr = ip6->ip6_src;
500 IN6_PRINT(ip6bufs, &ip6->ip6_src),
501 IN6_PRINT(ip6bufd, &ip6->ip6_dst));
544 ia6 = in6_ifawithifp(deliverifp, &ip6->ip6_dst);
561 plen = (u_int32_t)ntohs(ip6->ip6_plen);
562 if (ip6->ip6_nxt == IPPROTO_HOPOPTS) {
574 ip6 = mtod(m, struct ip6_hdr *);
581 if (ip6->ip6_plen == 0 && plen == 0) {
592 (char *)&ip6->ip6_plen - (char *)ip6);
615 nxt = ip6->ip6_nxt;
638 if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) {
651 error = ip6_mforward(ip6, rcvif, m);
672 ip6 = mtod(m, struct ip6_hdr *);
683 if (IN6_IS_ADDR_V4MAPPED(&ip6->ip6_src) ||
684 IN6_IS_ADDR_V4MAPPED(&ip6->ip6_dst)) {
694 ia6 = in6_ifawithifp(deliverifp, &ip6->ip6_dst);
778 ip6_badaddr(struct ip6_hdr *ip6)
781 if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_src) ||
782 IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_dst)) {
798 if (IN6_IS_ADDR_V4MAPPED(&ip6->ip6_src) ||
799 IN6_IS_ADDR_V4MAPPED(&ip6->ip6_dst)) {
806 if (IN6_IS_ADDR_V4COMPAT(&ip6->ip6_src) ||
807 IN6_IS_ADDR_V4COMPAT(&ip6->ip6_dst)) {
905 struct ip6_hdr *ip6;
960 ip6 = mtod(m, struct ip6_hdr *);
961 if (ip6->ip6_plen) {
1037 struct ip6_hdr *ip6;
1051 ip6 = mtod(m, struct ip6_hdr *);
1052 if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst) ||
1067 struct ip6_hdr *ip6, struct mbuf *m)
1082 if ((ip6->ip6_vfc & IPV6_VERSION_MASK) != IPV6_VERSION)
1089 memcpy(&pi6.ipi6_addr, &ip6->ip6_dst, sizeof(struct in6_addr));
1099 int hlim = ip6->ip6_hlim & 0xff;
1111 flowinfo = (u_int32_t)ntohl(ip6->ip6_flow & IPV6_FLOWINFO_MASK);
1360 struct ip6_hdr *ip6 = mtod(m, struct ip6_hdr *);
1370 nxt = ip6->ip6_nxt;
1401 struct ip6_hdr ip6;
1416 if (m->m_pkthdr.len < off + sizeof(ip6))
1418 m_copydata(m, off, sizeof(ip6), (void *)&ip6);
1420 *nxtp = ip6.ip6_nxt;
1421 off += sizeof(ip6);
1538 * System control for IP6
1572 CTLTYPE_NODE, "ip6",