Module Name: src Committed By: rmind Date: Sat Sep 29 18:00:36 UTC 2018
Modified Files: src/sys/net/npf: npf_sendpkt.c Log Message: npf_return_tcp: fix no-INET6 case. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/sys/net/npf/npf_sendpkt.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/npf/npf_sendpkt.c diff -u src/sys/net/npf/npf_sendpkt.c:1.20 src/sys/net/npf/npf_sendpkt.c:1.21 --- src/sys/net/npf/npf_sendpkt.c:1.20 Sat Sep 29 14:41:36 2018 +++ src/sys/net/npf/npf_sendpkt.c Sat Sep 29 18:00:35 2018 @@ -33,7 +33,7 @@ #ifdef _KERNEL #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: npf_sendpkt.c,v 1.20 2018/09/29 14:41:36 rmind Exp $"); +__KERNEL_RCSID(0, "$NetBSD: npf_sendpkt.c,v 1.21 2018/09/29 18:00:35 rmind Exp $"); #include <sys/param.h> #include <sys/types.h> @@ -56,16 +56,16 @@ __KERNEL_RCSID(0, "$NetBSD: npf_sendpkt. #define DEFAULT_IP_TTL (ip_defttl) #if defined(_NPF_STANDALONE) -#define m_gethdr(t, f) npf->mbufops->alloc(0, 0) -#define m_freem(m) npc->npc_ctx->mbufops->free(m) -#define mtod(m,t) ((t)((npf)->mbufops->getdata(m))) +#define m_gethdr(t, f) (npf)->mbufops->alloc(0, 0) +#define m_freem(m) (npc)->npc_ctx->mbufops->free(m) +#define mtod(m,t) ((t)((npc)->npc_ctx->mbufops->getdata(m))) #endif #if !defined(INET6) || defined(_NPF_STANDALONE) #define in6_cksum(...) 0 #define ip6_output(...) 0 #define icmp6_error(m, ...) m_freem(m) -#define npf_ip6_setscope(n, i) 0 +#define npf_ip6_setscope(n, i) ((void)(i), 0) #endif #if defined(INET6) @@ -190,21 +190,19 @@ npf_return_tcp(npf_cache_t *npc) KASSERT(npf_iscached(npc, NPC_IP6)); th->th_sum = in6_cksum(m, IPPROTO_TCP, sizeof(struct ip6_hdr), sizeof(struct tcphdr)); - } - /* Handle IPv6 scopes */ - if (npf_iscached(npc, NPC_IP6) && npf_ip6_setscope(npc, ip6) != 0) { - goto bad; + /* Handle IPv6 scopes */ + if (npf_ip6_setscope(npc, ip6) != 0) { + goto bad; + } } /* Pass to IP layer. */ if (npf_iscached(npc, NPC_IP4)) { return ip_output(m, NULL, NULL, IP_FORWARDING, NULL, NULL); } -#if defined(INET6) return ip6_output(m, NULL, NULL, IPV6_FORWARDING, NULL, NULL, NULL); bad: -#endif m_freem(m); return EINVAL; }