]> git.ipfire.org Git - thirdparty/nftables.git/commit
src: restore interface to index cache
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 9 Apr 2015 12:15:15 +0000 (14:15 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sat, 11 Apr 2015 17:22:45 +0000 (19:22 +0200)
commit3ed296118a065caff5600e60d4f7ef18e137f9a0
tree50e6776142bf52a6a3b1ae5ae65631c1d1faa9ca
parent628122466c32e7f1795c9754a46e6b6b91e71aa5
src: restore interface to index cache

nftables used to have a cache to speed up interface name <-> index lookup,
restore it using libmnl.

This reduces netlink traffic since if_nametoindex() and if_indextoname() open,
send a request, receive the list of interface and close a netlink socket for
each call.  I think this is also good for consistency since nft -f will operate
with the same index number when reloading the ruleset.

The cache is populated by when nft_if_nametoindex() and nft_if_indextoname()
are used for first time. Then, it it released in the output path. In the
interactive mode, it is invalidated after each command.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/Makefile.am
include/iface.h [new file with mode: 0644]
src/Makefile.am
src/cli.c
src/iface.c [new file with mode: 0644]
src/main.c
src/meta.c