diff --git a/scripts/devis_proxmox_fw.py b/scripts/devis_proxmox_fw.py index 9a168df..80d137d 100644 --- a/scripts/devis_proxmox_fw.py +++ b/scripts/devis_proxmox_fw.py @@ -121,6 +121,12 @@ def _ports(fl: dict) -> list[str]: return fixes +# LE REGISTRE PARLE NFTABLES, PROXMOX PARLE IPTABLES (2026-09-29). `frag-needed` est le +# nom nftables ; l'API Proxmox le refuse (« invalid icmp-type value ») et attend +# `fragmentation-needed`. Mesure a la premiere application des flux `externe`. +ICMP_PROXMOX = {"frag-needed": "fragmentation-needed"} + + def _cibles(fl: dict) -> list[dict]: """Ce qu'une regle vise : un port TCP/UDP, ou un TYPE ICMP. @@ -132,7 +138,8 @@ def _cibles(fl: dict) -> list[dict]: """ if str(fl.get("protocole", "tcp")).lower() == "icmp": p = fl["port"] - return [{"proto": "icmp", "icmp_type": str(t)} for t in (p if isinstance(p, list) else [p])] + return [{"proto": "icmp", "icmp_type": ICMP_PROXMOX.get(str(t), str(t))} + for t in (p if isinstance(p, list) else [p])] return [{"proto": fl.get("protocole", "tcp"), "dport": port} for port in _ports(fl)]