'cgit '/>
summaryrefslogtreecommitdiff
path: root/sys/rump/net/lib/libnpf
AgeCommit message (Collapse)Author
2019-07-23NPF improvements:rmind
- Add support for dynamic NETMAP algorithm (stateful net-to-net). - Add most of the support for the dynamic NAT rules; a little bit more userland work is needed to finish this up and enable. - Replace 'stateful-ends' with more permissive 'stateful-all'. - Add various tunable parameters and document them, see npf-params(7). - Reduce the memory usage of the connection state table (conndb). - Portmap rewrite: use memory more efficiently, handle addresses dynamically. - Bug fix: add splsoftnet()/splx() around the thmap writers and comment. - npftest: clean up and simplify; fix some memleaks to make ASAN happy.
2018-10-29Back to using _NPF_TESTING now that it does not change the semantics ofchristos
the calls, but only adds extra functionality.
2018-10-26add an _NPF_RUMP define to expose the sampling function.christos
2018-10-26Revert previous (unbreak build) - for now anyway.kre
It turns out _NPF_TESTING is needed for the (rump only) function npf_state_setsampler() in sys/net/npf/npf_state.c
2018-10-26Comment out _NPF_TESTING (really should be removed)christos
2018-10-26need libnvpairchristos
2018-09-29NPF: Major rework -- migrate NPF to the libnv library.rmind
- This conversion significantly simplifies the code and moves NPF to a binary serialisation format (replacing the XML-like format). - Fix some memory/reference leaks and possibly use-after-free bugs. - Bump NPF_VERSION as this change makes libnpf incompatible with the previous versions. Also, different serialisation format means NPF connection/config saving and loading is not compatible with the previous versions either. Thanks to christos@ for extra testing.
2017-01-03need new filechristos
2016-12-26Sync NPF with the version on github: backport standalone NPF changes,christos
which allow us to create and run separate NPF instances. Minor fixes. (from rmind@)
2016-12-09remove ptree add lpmchristos
2016-01-26Put the kernelside rump kernel headers into <rump-sys> instead ofpooka
sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile. Leave compat headers around in the old locations. The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
2015-10-19Add a COMMENT describing what each component roughly does.pooka
"make describe" prints the comment. Requested/inspired by Vincent Schwarzer on rumpkernel-users
2015-08-20add ioconf files for pseudo device attach prototypeschristos
2014-12-02Remove shlib_version files and just use Makefile SHLIB_MAJOR/MINOR,pooka
with the default provided by Makefile.rump (they're all 0.0 anyway)
2014-07-19NPF: partially rewrite the connection tracking mechanism:rmind
- Separate the tracking interface from the storage (state table) and thus prepare to use a new data structure for the storage. - Fix some race conditions in NAT association logic.
2014-04-04No lint for rumpnet npf library.njoly
2014-03-13rename component.c -> npf_component.cpooka
2014-03-03also include bsd.own.mk, so value for RUMP_NPF_TESTING can come from mk.confpooka
2014-03-03For now, make it possible to not specify -D_NPF_TESTING by compilingpooka
with RUMP_NPF_TESTING_=no. This in turn makes it possible to use npf in a rump kernel for real packet filtering instead of just testing. no change to default
2014-02-26Run constructor as part of network faction bootstrap, not devicepooka
(rumpdev no longer necessary)
2013-11-08NPF: add support for specifying the interfaces before they are attached.rmind
If an interface is or gets detached, all associated rules and connections will be deactivated (it might be useful to have an option to invalidate the associated connections). Once the interface is reattached they will become active. Bump NPF_VERSION.
2013-09-19NPF: G/C n-code in favour of BPF byte-code. Delete lots of code, mmm!rmind
2013-06-02- NPF connection tracking: rework synchronisation on tracking disable/enablermind
points and document it. Split the worker thread into a separate module with an interface, so it could be re-used for other tasks. - Replace ALG list with arrays and thus hit fewer cache lines. - Misc bug fixes.
2013-03-12normali{s,z}echristos
2013-03-10remember to detach and add if_npflog modulechristos
2013-02-09NPF:rmind
- Implement dynamic NPF rules. Controlled through npf(3) library of via npfctl rule command. A rule can be removed using a unique identifier, returned on addition, or using a key which is SHA1 hash of the rule. Adjust npftest and add a regression test. - Improvements to rule inspection mechanism. - Initial BPF support as an alternative to n-code. - Minor fixes; bump the version.
2012-11-21This component is not WARNS>3 clean (example: it includes socketvar.hpooka
which does signed-unsigned comparison in an inline function). Why it compiled at all is one of those marvels of compiler technology.
2012-09-16Implement dynamic NPF extensions interface. An extension consists ofrmind
dynamically loaded module (.so) supplementing npfctl(8) and a kernel module. Move normalisation and logging functionality into their own extensions. More improvements to come.
2012-08-14Move and rename librumpdev_npf to librumpnet_npf.rmind