Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src NPF: G/C n-code in favour of BPF byte-code. Delete lots of ...



details:   https://anonhg.NetBSD.org/src/rev/08bb10c415a6
branches:  trunk
changeset: 790106:08bb10c415a6
user:      rmind <rmind%NetBSD.org@localhost>
date:      Thu Sep 19 01:49:07 2013 +0000

description:
NPF: G/C n-code in favour of BPF byte-code.  Delete lots of code, mmm!

diffstat:

 distrib/sets/lists/comp/mi                           |    4 +-
 lib/libnpf/npf.c                                     |  120 +--
 lib/libnpf/npf.h                                     |   12 +-
 sys/modules/npf/Makefile                             |   12 +-
 sys/net/npf/Makefile                                 |    4 +-
 sys/net/npf/files.npf                                |    4 +-
 sys/net/npf/npf_ctl.c                                |   33 +-
 sys/net/npf/npf_impl.h                               |   17 +-
 sys/net/npf/npf_instr.c                              |  238 -----
 sys/net/npf/npf_ncode.h                              |  370 ---------
 sys/net/npf/npf_processor.c                          |  573 --------------
 sys/net/npf/npf_ruleset.c                            |   44 +-
 sys/rump/net/lib/libnpf/Makefile                     |    9 +-
 usr.sbin/npf/npfctl/npf_disassemble.c                |  762 -------------------
 usr.sbin/npf/npfctl/npf_ncgen.c                      |  441 ----------
 usr.sbin/npf/npfctl/npfctl.h                         |   81 +-
 usr.sbin/npf/npftest/libnpftest/Makefile             |    1 -
 usr.sbin/npf/npftest/libnpftest/npf_processor_test.c |  213 -----
 usr.sbin/npf/npftest/libnpftest/npf_rule_test.c      |    5 +-
 usr.sbin/npf/npftest/libnpftest/npf_test.h           |    1 -
 usr.sbin/npf/npftest/npftest.c                       |   10 +-
 usr.sbin/npf/npftest/npftest.h                       |    1 -
 22 files changed, 54 insertions(+), 2901 deletions(-)

diffs (truncated from 3331 to 300 lines):

diff -r 3234cc6de4fd -r 08bb10c415a6 distrib/sets/lists/comp/mi
--- a/distrib/sets/lists/comp/mi        Thu Sep 19 01:04:45 2013 +0000
+++ b/distrib/sets/lists/comp/mi        Thu Sep 19 01:49:07 2013 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: mi,v 1.1836 2013/09/10 16:51:24 pooka Exp $
+#      $NetBSD: mi,v 1.1837 2013/09/19 01:49:07 rmind Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -1980,7 +1980,7 @@
 ./usr/include/net/net_stats.h                  comp-c-include
 ./usr/include/net/netisr.h                     comp-c-include
 ./usr/include/net/npf.h                                comp-c-include
-./usr/include/net/npf_ncode.h                  comp-c-include
+./usr/include/net/npf_ncode.h                  comp-obsolete           obsolete
 ./usr/include/net/pfil.h                       comp-c-include
 ./usr/include/net/pfkeyv2.h                    comp-c-include
 ./usr/include/net/pfvar.h                      comp-c-include
diff -r 3234cc6de4fd -r 08bb10c415a6 lib/libnpf/npf.c
--- a/lib/libnpf/npf.c  Thu Sep 19 01:04:45 2013 +0000
+++ b/lib/libnpf/npf.c  Thu Sep 19 01:49:07 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: npf.c,v 1.20 2013/09/19 01:04:46 rmind Exp $   */
+/*     $NetBSD: npf.c,v 1.21 2013/09/19 01:49:07 rmind Exp $   */
 
 /*-
  * Copyright (c) 2010-2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: npf.c,v 1.20 2013/09/19 01:04:46 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: npf.c,v 1.21 2013/09/19 01:49:07 rmind Exp $");
 
 #include <sys/types.h>
 #include <netinet/in_systm.h>
@@ -661,53 +661,6 @@
        return rpname;
 }
 
-#if 1
-static int
-_npf_rule_foreach1(prop_array_t rules, nl_rule_callback_t func)
-{
-       prop_dictionary_t rldict;
-       prop_object_iterator_t it;
-       unsigned reduce[16], n;
-       unsigned nlevel;
-
-       if (!rules || prop_object_type(rules) != PROP_TYPE_ARRAY) {
-               return ENOENT;
-       }
-       it = prop_array_iterator(rules);
-       if (it == NULL) {
-               return ENOMEM;
-       }
-
-       nlevel = 0;
-       reduce[nlevel] = 0;
-       n = 0;
-
-       while ((rldict = prop_object_iterator_next(it)) != NULL) {
-               nl_rule_t nrl = { .nrl_dict = rldict };
-               uint32_t skipto = 0;
-
-               prop_dictionary_get_uint32(rldict, "skip-to", &skipto);
-               (*func)(&nrl, nlevel);
-               if (skipto) {
-                       nlevel++;
-                       reduce[nlevel] = skipto;
-               }
-               if (reduce[nlevel] == ++n) {
-                       assert(nlevel > 0);
-                       nlevel--;
-               }
-       }
-       prop_object_iterator_release(it);
-       return 0;
-}
-
-int
-_npf_rule_foreach(nl_config_t *ncf, nl_rule_callback_t func)
-{
-       return _npf_rule_foreach1(ncf->ncf_rules_list, func);
-}
-#endif
-
 int
 _npf_ruleset_list(int fd, const char *rname, nl_config_t *ncf)
 {
@@ -734,31 +687,6 @@
        return error;
 }
 
-#if 1
-pri_t
-_npf_rule_getinfo(nl_rule_t *nrl, const char **rname, uint32_t *attr,
-    u_int *if_idx)
-{
-       prop_dictionary_t rldict = nrl->nrl_dict;
-       pri_t prio;
-
-       prop_dictionary_get_cstring_nocopy(rldict, "name", rname);
-       prop_dictionary_get_uint32(rldict, "attributes", attr);
-       prop_dictionary_get_int32(rldict, "priority", &prio);
-       prop_dictionary_get_uint32(rldict, "interface", if_idx);
-       return prio;
-}
-
-const void *
-_npf_rule_ncode(nl_rule_t *nrl, size_t *size)
-{
-       prop_dictionary_t rldict = nrl->nrl_dict;
-       prop_object_t obj = prop_dictionary_get(rldict, "code");
-       *size = prop_data_size(obj);
-       return prop_data_data_nocopy(obj);
-}
-#endif
-
 void
 npf_rule_destroy(nl_rule_t *rl)
 {
@@ -959,30 +887,6 @@
        prop_dictionary_get_uint16(rldict, "translation-port", port);
 }
 
-#if 1
-int
-_npf_nat_foreach(nl_config_t *ncf, nl_rule_callback_t func)
-{
-       return _npf_rule_foreach1(ncf->ncf_nat_list, func);
-}
-
-void
-_npf_nat_getinfo(nl_nat_t *nt, int *type, u_int *flags, npf_addr_t *addr,
-    size_t *alen, in_port_t *port)
-{
-       prop_dictionary_t rldict = nt->nrl_dict;
-
-       prop_dictionary_get_int32(rldict, "type", type);
-       prop_dictionary_get_uint32(rldict, "flags", flags);
-
-       prop_object_t obj = prop_dictionary_get(rldict, "translation-ip");
-       *alen = prop_data_size(obj);
-       memcpy(addr, prop_data_data_nocopy(obj), *alen);
-
-       prop_dictionary_get_uint16(rldict, "translation-port", port);
-}
-#endif
-
 /*
  * TABLE INTERFACE.
  */
@@ -1133,26 +1037,6 @@
        free(tl);
 }
 
-#if 1
-void
-_npf_table_foreach(nl_config_t *ncf, nl_table_callback_t func)
-{
-       prop_dictionary_t tldict;
-       prop_object_iterator_t it;
-
-       it = prop_array_iterator(ncf->ncf_table_list);
-       while ((tldict = prop_object_iterator_next(it)) != NULL) {
-               u_int id;
-               int type;
-
-               prop_dictionary_get_uint32(tldict, "id", &id);
-               prop_dictionary_get_int32(tldict, "type", &type);
-               (*func)(id, type);
-       }
-       prop_object_iterator_release(it);
-}
-#endif
-
 /*
  * ALG INTERFACE.
  */
diff -r 3234cc6de4fd -r 08bb10c415a6 lib/libnpf/npf.h
--- a/lib/libnpf/npf.h  Thu Sep 19 01:04:45 2013 +0000
+++ b/lib/libnpf/npf.h  Thu Sep 19 01:49:07 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: npf.h,v 1.17 2013/09/19 01:04:46 rmind Exp $   */
+/*     $NetBSD: npf.h,v 1.18 2013/09/19 01:49:07 rmind Exp $   */
 
 /*-
  * Copyright (c) 2011-2013 The NetBSD Foundation, Inc.
@@ -142,16 +142,6 @@
 void           _npf_config_error(nl_config_t *, nl_error_t *);
 void           _npf_config_setsubmit(nl_config_t *, const char *);
 int            _npf_ruleset_list(int, const char *, nl_config_t *);
-#if 1
-int            _npf_rule_foreach(nl_config_t *, nl_rule_callback_t);
-pri_t          _npf_rule_getinfo(nl_rule_t *, const char **, uint32_t *,
-                   u_int *);
-const void *   _npf_rule_ncode(nl_rule_t *, size_t *);
-int            _npf_nat_foreach(nl_config_t *, nl_rule_callback_t);
-void           _npf_nat_getinfo(nl_nat_t *, int *, u_int *, npf_addr_t *,
-                   size_t *, in_port_t *);
-void           _npf_table_foreach(nl_config_t *, nl_table_callback_t);
-#endif
 void           _npf_debug_addif(nl_config_t *, struct ifaddrs *, u_int);
 
 /* The ALG interface is experimental */
diff -r 3234cc6de4fd -r 08bb10c415a6 sys/modules/npf/Makefile
--- a/sys/modules/npf/Makefile  Thu Sep 19 01:04:45 2013 +0000
+++ b/sys/modules/npf/Makefile  Thu Sep 19 01:49:07 2013 +0000
@@ -1,4 +1,7 @@
-# $NetBSD: Makefile,v 1.14 2013/09/19 01:04:46 rmind Exp $
+# $NetBSD: Makefile,v 1.15 2013/09/19 01:49:07 rmind Exp $
+#
+# Public Domain.
+#
 
 .include "../Makefile.inc"
 
@@ -6,10 +9,9 @@
 
 KMOD=          npf
 
-SRCS=          npf.c npf_alg.c npf_conf.c npf_ctl.c npf_handler.c
-SRCS+=         npf_bpf.c npf_inet.c npf_instr.c npf_mbuf.c npf_nat.c
-SRCS+=         npf_processor.c npf_ruleset.c npf_rproc.c npf_sendpkt.c
-SRCS+=         npf_session.c npf_state.c npf_state_tcp.c
+SRCS=          npf.c npf_alg.c npf_conf.c npf_ctl.c npf_handler.c npf_bpf.c
+SRCS+=         npf_inet.c npf_mbuf.c npf_nat.c npf_ruleset.c npf_rproc.c
+SRCS+=         npf_sendpkt.c npf_session.c npf_state.c npf_state_tcp.c
 SRCS+=         npf_tableset.c npf_tableset_ptree.c npf_worker.c
 
 CPPFLAGS+=     -DINET6
diff -r 3234cc6de4fd -r 08bb10c415a6 sys/net/npf/Makefile
--- a/sys/net/npf/Makefile      Thu Sep 19 01:04:45 2013 +0000
+++ b/sys/net/npf/Makefile      Thu Sep 19 01:49:07 2013 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.1 2010/08/22 18:56:22 rmind Exp $
+# $NetBSD: Makefile,v 1.2 2013/09/19 01:49:07 rmind Exp $
 #
 # Public Domain.
 #
 
 INCSDIR=       /usr/include/net
-INCS=          npf.h npf_ncode.h
+INCS=          npf.h
 
 .include <bsd.kinc.mk>
diff -r 3234cc6de4fd -r 08bb10c415a6 sys/net/npf/files.npf
--- a/sys/net/npf/files.npf     Thu Sep 19 01:04:45 2013 +0000
+++ b/sys/net/npf/files.npf     Thu Sep 19 01:49:07 2013 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: files.npf,v 1.14 2013/09/19 01:04:46 rmind Exp $
+# $NetBSD: files.npf,v 1.15 2013/09/19 01:49:07 rmind Exp $
 #
 # Public Domain.
 #
@@ -14,9 +14,7 @@
 file   net/npf/npf_conf.c                      npf
 file   net/npf/npf_ctl.c                       npf
 file   net/npf/npf_handler.c                   npf
-file   net/npf/npf_instr.c                     npf
 file   net/npf/npf_mbuf.c                      npf
-file   net/npf/npf_processor.c                 npf
 file   net/npf/npf_bpf.c                       npf
 file   net/npf/npf_ruleset.c                   npf
 file   net/npf/npf_rproc.c                     npf
diff -r 3234cc6de4fd -r 08bb10c415a6 sys/net/npf/npf_ctl.c
--- a/sys/net/npf/npf_ctl.c     Thu Sep 19 01:04:45 2013 +0000
+++ b/sys/net/npf/npf_ctl.c     Thu Sep 19 01:49:07 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: npf_ctl.c,v 1.28 2013/09/19 01:04:46 rmind Exp $       */
+/*     $NetBSD: npf_ctl.c,v 1.29 2013/09/19 01:49:07 rmind Exp $       */
 
 /*-
  * Copyright (c) 2009-2013 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: npf_ctl.c,v 1.28 2013/09/19 01:04:46 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: npf_ctl.c,v 1.29 2013/09/19 01:49:07 rmind Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -46,7 +46,6 @@
 
 #include <prop/proplib.h>
 
-#include "npf_ncode.h"
 #include "npf_impl.h"
 
 #if defined(DEBUG) || defined(DIAGNOSTIC)
@@ -250,37 +249,21 @@
     prop_dictionary_t errdict)
 {
        const void *cptr;
-       int cerr, errat;
        size_t clen;
        void *bc;
 



Home | Main Index | Thread Index | Old Index