]> git.ipfire.org Git - thirdparty/nftables.git/commit
netlink_delinarize: fix payload dependency killing of link layer dependencies
authorPatrick McHardy <kaber@trash.net>
Tue, 24 Mar 2015 14:20:22 +0000 (14:20 +0000)
committerPatrick McHardy <kaber@trash.net>
Wed, 25 Mar 2015 20:48:56 +0000 (20:48 +0000)
commitac987dc5d471a766e0f96676d0a22279304e279a
treefed57badbcb8521f288fe74bccc12202c5d561b0
parentfffa3cc22b84d4fab237a6974041fe502c7b6034
netlink_delinarize: fix payload dependency killing of link layer dependencies

payload_dependency_kill() does not properly handle dependencies for link
layer expressions. Since those dependencies are logically defined on an
even lower layer (device layer), we don't have a payload base for them,
meaning they will use PROTO_BASE_INVALID, which is skipped.

So instead of storing the payload base on which the dependency is defined,
we store the base of the layer for which the dependency applies, meaning
dependencies defined by the device layer will properly work.

This fixes killing the dependency of ether saddr, instead of

iiftype ether ether ether saddr ...

we now only display

ether saddr ...

Signed-off-by: Patrick McHardy <kaber@trash.net>
src/netlink_delinearize.c