ebtables: load-on-demand extensions

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

 



Hello all,

we need a custom "extention" module working on Layer 2 (nfproto "bridge"
or "netdev"). Making a kernel module and an xtables "extention" shared
object is simple enough. But then it gets more complicated.

In order to make an "extention" work on Layer 3 (with command
`iptables`) it is sufficient to place the shared object in the directory
with other existing extensions (/usr/lib/x86_64-linux-gnu/xtables in a
typical linux distro), and then existing `iptables` command will load it
on demand if it was specified as a "match extension" option `-m` or used
as a jump target. (Existing third party tools such as iptables-netflow
use this approach).

However such "load on demand" mechanism does not exist for Layer 2
(`ebtables` command). Instead, `ebtables` has a hardcoded list of
extensions that are all loaded at startup time (iptables/xtables-eb.c,
function `ebt_load_match_extensions()`). This makes the use of in-house
extensions impossible without rolling out a modified version of
`ebtables` command.

Questions:

1. Is my analysis correct, and it is not possible to use existing
netfilter control tools to configure and enable custom extensions on
layer 2?

2. Is it correct that "new generation" `nft` filtering infrastructure
does not support dynamically loadable extensions at all? (We need a
custom kernel module because we need access to the fields in the skb
that are not exposed to `nft`, and we need a custom extension to
configure the custom module.)

3. If modification to `ebtables` is indeed inevitable, and we make such
modification to allow on demand loading the same way as in `iptables`,
would upstream be interested to incorporate such patch for some future
relase?

Thank you,

Eugene

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux