all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Arthur Bied-Charreton <a.bied-charreton@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH pve-firewall 0/2] ebtables: fix ARP filter for alias and nomatch ipfilter entries
Date: Mon, 12 Oct 2026 11:38:06 +0200	[thread overview]
Message-ID: <20261012093956.285433-1-a.bied-charreton@proxmox.com> (raw)

Following this forum post [0], I looked into what might be generating
the 

    value does not look like a valid IP address or CIDR network

log lines, which show up once per affected guest on every update cycle.

When building the ARP filter from an ipfilter-netX ipset, entries were 
passed verbatim to parse_ip_or_cidr(), so an alias entry, or one the 
parser already flagged as invalid, makes it die. The error aborts the 
whole guest in compile_ebtables_filter(), so the guest ends up with no 
ebtables rules at all. 

Before bbd02dae ("firewall: log compilation errors in syslog"), the 
error went to warn(), which the daemon ignores, so the layer-2 filter
was missing silently.

Patch 1 resolves entries the same way generate_ipset_chains() does, 
skips entries the parser errored on, and logs errors per entry with 
more context to make debugging easier.

While looking into this, I also noticed that nomatch entries were added
to the ARP filter as allowed sources. Patch 2 emits DROP for them to 
honor nomatch.

[0] https://forum.proxmox.com/threads/pve-firewall-log-value-does-not-look-like-a-valid-ip-address-or-cidr-network.186990/#post-872700

Arthur Bied-Charreton (2):
  firewall: ebtables: resolve aliases in ipfilter ipsets
  firewall: ebtables: honor nomatch in ipfilter ipsets

 src/PVE/Firewall.pm                |  86 +++++++++++++-------
 src/test/Makefile                  |   2 +-
 src/test/test_ebtables_ipfilter.pl | 123 +++++++++++++++++++++++++++++
 3 files changed, 183 insertions(+), 28 deletions(-)
 create mode 100755 src/test/test_ebtables_ipfilter.pl

-- 
2.47.3





             reply	other threads:[~2026-10-12  9:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-12  9:38 Arthur Bied-Charreton [this message]
2026-10-12  9:38 ` [PATCH pve-firewall 1/2] firewall: ebtables: resolve aliases in ipfilter ipsets Arthur Bied-Charreton
2026-10-12  9:38 ` [PATCH pve-firewall 2/2] firewall: ebtables: honor nomatch " Arthur Bied-Charreton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261012093956.285433-1-a.bied-charreton@proxmox.com \
    --to=a.bied-charreton@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal