Module Name: src Committed By: rmind Date: Sun Nov 6 02:49:03 UTC 2011
Modified Files: src/sys/net/npf: npf.h npf_ctl.c npf_handler.c npf_inet.c npf_instr.c npf_processor.c npf_sendpkt.c npf_tableset.c Log Message: Few fixes, KNF/style, bump the NPF version. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/net/npf/npf.h src/sys/net/npf/npf_handler.c cvs rdiff -u -r1.8 -r1.9 src/sys/net/npf/npf_ctl.c cvs rdiff -u -r1.7 -r1.8 src/sys/net/npf/npf_inet.c cvs rdiff -u -r1.6 -r1.7 src/sys/net/npf/npf_instr.c \ src/sys/net/npf/npf_sendpkt.c src/sys/net/npf/npf_tableset.c cvs rdiff -u -r1.5 -r1.6 src/sys/net/npf/npf_processor.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.h diff -u src/sys/net/npf/npf.h:1.9 src/sys/net/npf/npf.h:1.10 --- src/sys/net/npf/npf.h:1.9 Fri Nov 4 01:00:27 2011 +++ src/sys/net/npf/npf.h Sun Nov 6 02:49:03 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: npf.h,v 1.9 2011/11/04 01:00:27 zoltan Exp $ */ +/* $NetBSD: npf.h,v 1.10 2011/11/06 02:49:03 rmind Exp $ */ /*- * Copyright (c) 2009-2011 The NetBSD Foundation, Inc. @@ -49,7 +49,7 @@ #include "testing.h" #endif -#define NPF_VERSION 2 +#define NPF_VERSION 3 /* * Public declarations and definitions. @@ -57,9 +57,9 @@ /* Storage of address (both for IPv4 and IPv6) and netmask */ typedef struct in6_addr npf_addr_t; -typedef uint_fast8_t npf_netmask_t; +typedef uint8_t npf_netmask_t; -#define NPF_NO_NETMASK (npf_netmask_t)~0 +#define NPF_NO_NETMASK ((npf_netmask_t)~0) #if defined(_KERNEL) || defined(_NPF_TESTING) @@ -116,14 +116,14 @@ typedef struct { } npc_l4; } npf_cache_t; -/* Max length is 32 for IPv4 and 128 for IPv6 */ static inline void npf_generate_mask(npf_addr_t *dst, const npf_netmask_t omask) { uint_fast8_t length = omask; + /* Note: maximum length is 32 for IPv4 and 128 for IPv6. */ KASSERT(length <= 128); - memset(dst, 0, sizeof(npf_addr_t)); + for (int i = 0; i < 4; i++) { if (length >= 32) { dst->s6_addr32[i] = htonl(0xffffffff); @@ -131,29 +131,30 @@ npf_generate_mask(npf_addr_t *dst, const } else { dst->s6_addr32[i] = htonl(0xffffffff << (32 - length)); length = 0; - } + } } } static inline void -npf_calculate_masked_addr(npf_addr_t *dst, const npf_addr_t *src, const npf_netmask_t omask) +npf_calculate_masked_addr(npf_addr_t *dst, const npf_addr_t *src, + const npf_netmask_t omask) { npf_addr_t mask; npf_generate_mask(&mask, omask); for (int i = 0; i < 4; i++) { - dst->s6_addr32[i] = - src->s6_addr32[i] & mask.s6_addr32[i]; + dst->s6_addr32[i] = src->s6_addr32[i] & mask.s6_addr32[i]; } } /* - * compare two addresses, either v4 or v6 - * if the mask is NULL, ignore it + * npf_compare_cidr: compare two addresses, either IPv4 or IPv6. + * + * => If the mask is NULL, ignore it. */ static inline int npf_compare_cidr(const npf_addr_t *addr1, const npf_netmask_t mask1, - const npf_addr_t *addr2, const npf_netmask_t mask2) + const npf_addr_t *addr2, const npf_netmask_t mask2) { npf_addr_t realmask1, realmask2; @@ -165,11 +166,11 @@ npf_compare_cidr(const npf_addr_t *addr1 } for (int i = 0; i < 4; i++) { const uint32_t x = mask1 != NPF_NO_NETMASK ? - addr1->s6_addr32[i] & realmask1.s6_addr32[i] : - addr1->s6_addr32[i]; + addr1->s6_addr32[i] & realmask1.s6_addr32[i] : + addr1->s6_addr32[i]; const uint32_t y = mask2 != NPF_NO_NETMASK ? - addr2->s6_addr32[i] & realmask2.s6_addr32[i] : - addr2->s6_addr32[i]; + addr2->s6_addr32[i] & realmask2.s6_addr32[i] : + addr2->s6_addr32[i]; if (x < y) { return -1; } @@ -267,7 +268,6 @@ typedef struct npf_ioctl_table { u_int nct_tid; npf_addr_t nct_addr; npf_netmask_t nct_mask; - int _reserved; } npf_ioctl_table_t; typedef enum { Index: src/sys/net/npf/npf_handler.c diff -u src/sys/net/npf/npf_handler.c:1.9 src/sys/net/npf/npf_handler.c:1.10 --- src/sys/net/npf/npf_handler.c:1.9 Sat Nov 5 10:23:26 2011 +++ src/sys/net/npf/npf_handler.c Sun Nov 6 02:49:03 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: npf_handler.c,v 1.9 2011/11/05 10:23:26 zoltan Exp $ */ +/* $NetBSD: npf_handler.c,v 1.10 2011/11/06 02:49:03 rmind Exp $ */ /*- * Copyright (c) 2009-2010 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: npf_handler.c,v 1.9 2011/11/05 10:23:26 zoltan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: npf_handler.c,v 1.10 2011/11/06 02:49:03 rmind Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -101,29 +101,29 @@ npf_packet_handler(void *arg, struct mbu rp = NULL; ret = 0; - /* Cache everything. Determine whether it is an IPv4 fragment. */ - /* Cache IP information */ + /* Cache everything. Determine whether it is an IP fragment. */ npf_cache_all(&npc, nbuf); if (npf_iscached(&npc, NPC_IPFRAG)) { + /* Pass to IPv4 or IPv6 reassembly mechanism. */ if (npf_iscached(&npc, NPC_IP4)) { struct ip *ip = nbuf_dataptr(*mp); - /* Pass to IPv4 reassembly mechanism. */ ret = ip_reass_packet(mp, ip); } else { KASSERT(npf_iscached(&npc, NPC_IP6)); #ifdef INET6 - /* frag6_input's offset is the start of the fragment header */ + /* + * Note: frag6_input() offset is the start of the + * fragment header. + */ size_t hlen = npf_cache_hlen(&npc, nbuf); - - /* Pass to IPv6 reassembly mechanism. */ ret = ip6_reass_packet(mp, hlen); #else - KASSERT(false); + ret = -1; #endif } - if (ret != 0) { + if (ret) { error = EINVAL; se = NULL; goto out; @@ -132,13 +132,12 @@ npf_packet_handler(void *arg, struct mbu /* More fragments should come; return. */ return 0; } - /* Reassembly is complete, we have the final packet. */ - nbuf = (nbuf_t *)*mp; /* - * Before reassembly, we can't cache anything above layer3, - * but at this point, it's reassembled - let's cache it again + * Reassembly is complete, we have the final packet. + * Cache again, since layer 3 daya is accessible now. */ + nbuf = (nbuf_t *)*mp; npc.npc_info = 0; npf_cache_all(&npc, nbuf); } Index: src/sys/net/npf/npf_ctl.c diff -u src/sys/net/npf/npf_ctl.c:1.8 src/sys/net/npf/npf_ctl.c:1.9 --- src/sys/net/npf/npf_ctl.c:1.8 Fri Nov 4 02:57:28 2011 +++ src/sys/net/npf/npf_ctl.c Sun Nov 6 02:49:03 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: npf_ctl.c,v 1.8 2011/11/04 02:57:28 jakllsch Exp $ */ +/* $NetBSD: npf_ctl.c,v 1.9 2011/11/06 02:49:03 rmind Exp $ */ /*- * Copyright (c) 2009-2011 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: npf_ctl.c,v 1.8 2011/11/04 02:57:28 jakllsch Exp $"); +__KERNEL_RCSID(0, "$NetBSD: npf_ctl.c,v 1.9 2011/11/06 02:49:03 rmind Exp $"); #include <sys/param.h> #include <sys/conf.h> @@ -121,10 +121,11 @@ npf_mk_tables(npf_tableset_t *tblset, pr eit = prop_array_iterator(entries); while ((ent = prop_object_iterator_next(eit)) != NULL) { const npf_addr_t *addr; - uint8_t mask; /* XXX should be npf_netmask_t */ + npf_netmask_t mask; /* Get address and mask. Add a table entry. */ - addr = (const npf_addr_t *)prop_data_data_nocopy(prop_dictionary_get(ent, "addr")); + addr = (const npf_addr_t *)prop_data_data_nocopy( + prop_dictionary_get(ent, "addr")); prop_dictionary_get_uint8(ent, "mask", &mask); error = npf_table_add_cidr(tblset, tid, addr, mask); if (error) Index: src/sys/net/npf/npf_inet.c diff -u src/sys/net/npf/npf_inet.c:1.7 src/sys/net/npf/npf_inet.c:1.8 --- src/sys/net/npf/npf_inet.c:1.7 Fri Nov 4 01:00:27 2011 +++ src/sys/net/npf/npf_inet.c Sun Nov 6 02:49:03 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: npf_inet.c,v 1.7 2011/11/04 01:00:27 zoltan Exp $ */ +/* $NetBSD: npf_inet.c,v 1.8 2011/11/06 02:49:03 rmind Exp $ */ /*- * Copyright (c) 2009-2011 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: npf_inet.c,v 1.7 2011/11/04 01:00:27 zoltan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: npf_inet.c,v 1.8 2011/11/06 02:49:03 rmind Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -126,28 +126,27 @@ npf_addr_sum(const int sz, const npf_add * Returns all values in host byte-order. */ int -npf_tcpsaw(npf_cache_t *npc, nbuf_t *nbuf, tcp_seq *seq, tcp_seq *ack, uint32_t *win) +npf_tcpsaw(npf_cache_t *npc, nbuf_t *nbuf, tcp_seq *seq, tcp_seq *ack, + uint32_t *win) { struct tcphdr *th = &npc->npc_l4.tcp; + u_int thlen; KASSERT(npf_iscached(npc, NPC_TCP)); *seq = ntohl(th->th_seq); *ack = ntohl(th->th_ack); *win = (uint32_t)ntohs(th->th_win); + thlen = th->th_off << 2; - /* - * total length of packet - header length - tcp header length - */ if (npf_iscached(npc, NPC_IP4)) { struct ip *ip = &npc->npc_ip.v4; - return ntohs(ip->ip_len) - npf_cache_hlen(npc, nbuf) - (th->th_off << 2); + return ntohs(ip->ip_len) - npf_cache_hlen(npc, nbuf) - thlen; } else { KASSERT(npf_iscached(npc, NPC_IP6)); struct ip6_hdr *ip6 = &npc->npc_ip.v6; - return ntohs(ip6->ip6_plen) - (th->th_off << 2); + return ntohs(ip6->ip6_plen) - thlen; } - return 0; } @@ -276,16 +275,20 @@ npf_fetch_ip(npf_cache_t *npc, nbuf_t *n return false; } - struct ip6_ext ip6e; size_t toskip = sizeof(struct ip6_hdr); bool processing_ends = false; npc->npc_next_proto = ip6->ip6_nxt; - npc->npc_hlen = 0; + npc->npc_hlen = 0; do { - /* advance the length of the previous known header, - and fetch the next extension header's length */ - if (nbuf_advfetch(&nbuf, &n_ptr, toskip, sizeof(struct ip6_ext), &ip6e)) { + struct ip6_ext ip6e; + + /* + * Advance by the length of the previous known header + * and fetch the next extension header's length. + */ + if (nbuf_advfetch(&nbuf, &n_ptr, toskip, + sizeof(struct ip6_ext), &ip6e)) { return false; } @@ -307,7 +310,7 @@ npf_fetch_ip(npf_cache_t *npc, nbuf_t *n } npc->npc_hlen += toskip; - + if (!processing_ends) { npc->npc_next_proto = ip6e.ip6e_nxt; } @@ -318,7 +321,6 @@ npf_fetch_ip(npf_cache_t *npc, nbuf_t *n npc->npc_dstip = (npf_addr_t *)&ip6->ip6_dst; npc->npc_info |= NPC_IP6; break; - default: return false; } @@ -340,7 +342,8 @@ npf_fetch_tcp(npf_cache_t *npc, nbuf_t * th = &npc->npc_l4.tcp; /* Fetch TCP header. */ - if (nbuf_advfetch(&nbuf, &n_ptr, npf_cache_hlen(npc, nbuf), sizeof(struct tcphdr), th)) { + if (nbuf_advfetch(&nbuf, &n_ptr, npf_cache_hlen(npc, nbuf), + sizeof(struct tcphdr), th)) { return false; } Index: src/sys/net/npf/npf_instr.c diff -u src/sys/net/npf/npf_instr.c:1.6 src/sys/net/npf/npf_instr.c:1.7 --- src/sys/net/npf/npf_instr.c:1.6 Fri Nov 4 01:00:27 2011 +++ src/sys/net/npf/npf_instr.c Sun Nov 6 02:49:03 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: npf_instr.c,v 1.6 2011/11/04 01:00:27 zoltan Exp $ */ +/* $NetBSD: npf_instr.c,v 1.7 2011/11/06 02:49:03 rmind Exp $ */ /*- * Copyright (c) 2009-2010 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: npf_instr.c,v 1.6 2011/11/04 01:00:27 zoltan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: npf_instr.c,v 1.7 2011/11/06 02:49:03 rmind Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -125,15 +125,13 @@ npf_match_ipmask(npf_cache_t *npc, nbuf_ } KASSERT(npf_iscached(npc, NPC_IP46)); } - if (omask == 0) + if (omask == 0) { return 0; + } addr1 = sd ? npc->npc_srcip : npc->npc_dstip; npf_calculate_masked_addr(&addr2, netaddr, omask); - if (memcmp(addr1, &addr2, npc->npc_ipsz)) { - return -1; - } - return 0; + return memcmp(addr1, &addr2, npc->npc_ipsz) ? -1 : 0; } /* Index: src/sys/net/npf/npf_sendpkt.c diff -u src/sys/net/npf/npf_sendpkt.c:1.6 src/sys/net/npf/npf_sendpkt.c:1.7 --- src/sys/net/npf/npf_sendpkt.c:1.6 Sat Nov 5 10:23:26 2011 +++ src/sys/net/npf/npf_sendpkt.c Sun Nov 6 02:49:03 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: npf_sendpkt.c,v 1.6 2011/11/05 10:23:26 zoltan Exp $ */ +/* $NetBSD: npf_sendpkt.c,v 1.7 2011/11/06 02:49:03 rmind Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: npf_sendpkt.c,v 1.6 2011/11/05 10:23:26 zoltan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: npf_sendpkt.c,v 1.7 2011/11/06 02:49:03 rmind Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -96,13 +96,14 @@ npf_return_tcp(npf_cache_t *npc, nbuf_t if (npf_iscached(npc, NPC_IP4)) { struct ip *oip = &npc->npc_ip.v4; + ip = mtod(m, struct ip *); memset(ip, 0, len); /* - * First fill of IPv4 header, for TCP checksum. - * Note: IP length contains TCP header length. - */ + * First fill of IPv4 header, for TCP checksum. + * Note: IP length contains TCP header length. + */ ip->ip_p = IPPROTO_TCP; ip->ip_src.s_addr = oip->ip_dst.s_addr; ip->ip_dst.s_addr = oip->ip_src.s_addr; @@ -110,15 +111,16 @@ npf_return_tcp(npf_cache_t *npc, nbuf_t th = (struct tcphdr *)(ip + 1); } else { - KASSERT(npf_iscached(npc, NPC_IP6)); struct ip6_hdr *oip = &npc->npc_ip.v6; + + KASSERT(npf_iscached(npc, NPC_IP6)); ip6 = mtod(m, struct ip6_hdr *); memset(ip6, 0, len); ip6->ip6_nxt = IPPROTO_TCP; ip6->ip6_hlim = IPV6_DEFHLIM; memcpy(&ip6->ip6_src, &oip->ip6_dst, sizeof(struct in6_addr)); - memcpy(&ip6->ip6_dst, &oip->ip6_src, sizeof(struct in6_addr)); + memcpy(&ip6->ip6_dst, &oip->ip6_src, sizeof(struct in6_addr)); ip6->ip6_plen = htons(len); ip6->ip6_vfc = IPV6_VERSION; @@ -139,7 +141,7 @@ npf_return_tcp(npf_cache_t *npc, nbuf_t if (npf_iscached(npc, NPC_IP4)) { th->th_sum = in_cksum(m, len); - /* Second fill of IPv4 header, fill correct IP length. */ + /* Second fill of IPv4 header, fill correct IP length. */ ip->ip_v = IPVERSION; ip->ip_hl = sizeof(struct ip) >> 2; ip->ip_tos = IPTOS_LOWDELAY; @@ -148,7 +150,8 @@ npf_return_tcp(npf_cache_t *npc, nbuf_t } else { KASSERT(npf_iscached(npc, NPC_IP6)); #ifdef INET6 - th->th_sum = in6_cksum(m, IPPROTO_TCP, sizeof(struct ip6_hdr), sizeof(struct tcphdr)); + th->th_sum = in6_cksum(m, IPPROTO_TCP, sizeof(struct ip6_hdr), + sizeof(struct tcphdr)); #else KASSERT(false); #endif @@ -161,7 +164,6 @@ npf_return_tcp(npf_cache_t *npc, nbuf_t #ifdef INET6 return ip6_output(m, NULL, NULL, IPV6_FORWARDING, NULL, NULL, NULL); #else - KASSERT(false); return 0; #endif } @@ -181,8 +183,6 @@ npf_return_icmp(npf_cache_t *npc, nbuf_t KASSERT(npf_iscached(npc, NPC_IP6)); #ifdef INET6 icmp6_error(m, ICMP6_DST_UNREACH, ICMP6_DST_UNREACH_ADMIN, 0); -#else - KASSERT(false); #endif } return 0; Index: src/sys/net/npf/npf_tableset.c diff -u src/sys/net/npf/npf_tableset.c:1.6 src/sys/net/npf/npf_tableset.c:1.7 --- src/sys/net/npf/npf_tableset.c:1.6 Fri Nov 4 01:00:27 2011 +++ src/sys/net/npf/npf_tableset.c Sun Nov 6 02:49:03 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: npf_tableset.c,v 1.6 2011/11/04 01:00:27 zoltan Exp $ */ +/* $NetBSD: npf_tableset.c,v 1.7 2011/11/06 02:49:03 rmind Exp $ */ /*- * Copyright (c) 2009-2010 The NetBSD Foundation, Inc. @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: npf_tableset.c,v 1.6 2011/11/04 01:00:27 zoltan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: npf_tableset.c,v 1.7 2011/11/06 02:49:03 rmind Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -165,7 +165,7 @@ table_rbtree_cmp_nodes(void *ctx, const const npf_tblent_t * const te2 = n2; return npf_compare_cidr(&te1->te_addr, te1->te_mask, - &te2->te_addr, te2->te_mask); + &te2->te_addr, te2->te_mask); } static signed int @@ -368,14 +368,11 @@ npf_table_add_cidr(npf_tableset_t *tset, htbl = table_hash_bucket(t, &val, sizeof(npf_addr_t)); /* Lookup to check for duplicates. */ LIST_FOREACH(it, htbl, te_entry.hashq) { - if (it->te_mask == mask) { - const uint32_t *addr1 = it->te_addr.s6_addr32; - const uint32_t *addr2 = addr->s6_addr32; - const size_t len = sizeof(npf_addr_t); - - if (memcmp(addr1, addr2, len) == 0) { - break; - } + if (it->te_mask != mask) { + continue; + } + if (!memcmp(&it->te_addr, addr, sizeof(npf_addr_t))) { + break; } } /* If no duplicate - insert entry. */ @@ -429,14 +426,11 @@ npf_table_rem_cidr(npf_tableset_t *tset, npf_calculate_masked_addr(&val, addr, mask); htbl = table_hash_bucket(t, &val, sizeof(npf_addr_t)); LIST_FOREACH(e, htbl, te_entry.hashq) { - if (e->te_mask == mask) { - const uint32_t *addr1 = e->te_addr.s6_addr32; - const uint32_t *addr2 = addr->s6_addr32; - const size_t len = sizeof(npf_addr_t); - - if (memcmp(addr1, addr2, len) == 0) { - break; - } + if (e->te_mask != mask) { + continue; + } + if (!memcmp(&e->te_addr, addr, sizeof(npf_addr_t))) { + break; } } if (__predict_true(e != NULL)) { @@ -487,15 +481,15 @@ npf_table_match_addr(u_int tid, const np case NPF_TABLE_HASH: htbl = table_hash_bucket(t, addr, sizeof(npf_addr_t)); LIST_FOREACH(e, htbl, te_entry.hashq) { - if (npf_compare_cidr(addr, e->te_mask, &e->te_addr, NPF_NO_NETMASK) == 0) - break; + if (npf_compare_cidr(addr, e->te_mask, &e->te_addr, + NPF_NO_NETMASK) == 0) + break; } break; case NPF_TABLE_RBTREE: e = rb_tree_find_node(&t->t_rbtree, addr); - if (e != NULL) { - KASSERT(npf_compare_cidr(addr, e->te_mask, &e->te_addr, NPF_NO_NETMASK) == 0); - } + KASSERT(e && npf_compare_cidr(addr, e->te_mask, &e->te_addr, + NPF_NO_NETMASK) == 0); break; default: KASSERT(false); Index: src/sys/net/npf/npf_processor.c diff -u src/sys/net/npf/npf_processor.c:1.5 src/sys/net/npf/npf_processor.c:1.6 --- src/sys/net/npf/npf_processor.c:1.5 Fri Nov 4 01:00:27 2011 +++ src/sys/net/npf/npf_processor.c Sun Nov 6 02:49:03 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: npf_processor.c,v 1.5 2011/11/04 01:00:27 zoltan Exp $ */ +/* $NetBSD: npf_processor.c,v 1.6 2011/11/06 02:49:03 rmind Exp $ */ /*- * Copyright (c) 2009-2010 The NetBSD Foundation, Inc. @@ -54,7 +54,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: npf_processor.c,v 1.5 2011/11/04 01:00:27 zoltan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: npf_processor.c,v 1.6 2011/11/06 02:49:03 rmind Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -287,14 +287,18 @@ cisc_like: /* Source/destination, network address, subnet mask. */ i_ptr = nc_fetch_word(i_ptr, &d); i_ptr = nc_fetch_double(i_ptr, &addr.s6_addr32[0], &mask); - cmpval = npf_match_ipmask(npc, nbuf, n_ptr, d, &addr, (npf_netmask_t)mask); + cmpval = npf_match_ipmask(npc, nbuf, n_ptr, d, &addr, + (npf_netmask_t)mask); break; case NPF_OPCODE_IP6MASK: i_ptr = nc_fetch_word(i_ptr, &d); - i_ptr = nc_fetch_double(i_ptr, &addr.s6_addr32[0], &addr.s6_addr32[1]); - i_ptr = nc_fetch_double(i_ptr, &addr.s6_addr32[2], &addr.s6_addr32[3]); + i_ptr = nc_fetch_double(i_ptr, + &addr.s6_addr32[0], &addr.s6_addr32[1]); + i_ptr = nc_fetch_double(i_ptr, + &addr.s6_addr32[2], &addr.s6_addr32[3]); i_ptr = nc_fetch_word(i_ptr, &mask); - cmpval = npf_match_ipmask(npc, nbuf, n_ptr, d, &addr, (npf_netmask_t)mask); + cmpval = npf_match_ipmask(npc, nbuf, n_ptr, d, + &addr, (npf_netmask_t)mask); break; case NPF_OPCODE_TABLE: /* Source/destination, NPF table ID. */