Elements (and other objects) should be one per line instead of multiple objects in a large line according to:
https://www.spinics.net/lists/netfilter/msg61029.html
I recommend you split that superlong line in your 2_fill_set.nft and
3_fill_set.nft files, for example:
# cat ruleset.nft
table netdev filter {
set mySet {
typeof ip saddr
flags interval
elements={
1.2.3.1/32,
1.2.6.3/32,
1.2.8.12/32,
...
}
}
}
instead of:
# cat ruleset.nft
table netdev filter {
set mySet {
typeof ip saddr
flags interval
elements={1.2.3.1/32,1.2.6.3/32,1.2.8.12/32,...
}
}
}This way errors such as:
internal:0:0-0: Error: Could not process rule: File exists
would get a better error message of whats actually being wrong.
In this particular case a user with a large ruleset due to use of GeoIP fails to optimize its ruleset with "-o" option as in:
https://forum.vyos.io/t/geoip-optimise-address-ranges/11677
Ref: http://git.netfilter.org/nftables/commit/?id=5e39a34b196d68b803911aa13066fef2f83dc98c