From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id D895F93CDB for ; Tue, 9 Apr 2024 16:55:48 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id BAF891AF8 for ; Tue, 9 Apr 2024 16:55:48 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Tue, 9 Apr 2024 16:55:48 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 0357C42EF5 for ; Tue, 9 Apr 2024 16:55:48 +0200 (CEST) Message-ID: Date: Tue, 9 Apr 2024 16:55:47 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox VE development discussion , Max Carrara , Stefan Hanreich References: <20240402171629.536804-1-s.hanreich@proxmox.com> <20240402171629.536804-10-s.hanreich@proxmox.com> Content-Language: de-AT, en-US From: Lukas Wagner In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.006 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pve-devel] [PATCH proxmox-firewall 09/37] config: firewall: add types for rules X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Apr 2024 14:55:48 -0000 On 2024-04-03 12:46, Max Carrara wrote: >> + >> +#[derive(Clone, Debug)] >> +#[cfg_attr(test, derive(Eq, PartialEq))] >> +pub enum IcmpType { >> + Numeric(u8), >> + Named(&'static str), >> +} >> + >> +// MUST BE SORTED! > > Should maaaybe note that it must be sorted for binary search, not just > for any reason. :P > >> +const ICMP_TYPES: &[(&str, u8)] = &[ >> + ("address-mask-reply", 18), >> + ("address-mask-request", 17), >> + ("destination-unreachable", 3), >> + ("echo-reply", 0), >> + ("echo-request", 8), >> + ("info-reply", 16), >> + ("info-request", 15), >> + ("parameter-problem", 12), >> + ("redirect", 5), >> + ("router-advertisement", 9), >> + ("router-solicitation", 10), >> + ("source-quench", 4), >> + ("time-exceeded", 11), >> + ("timestamp-reply", 14), >> + ("timestamp-request", 13), >> +]; I think `proxmox-sortable-macro` might come in handy here. From its examples: #[sortable] const FOO2: [(&str, usize); 3] = sorted!([("3", 1), ("2", 2), ("1", 3)]); assert_eq!(FOO2, [("1", 3), ("2", 2), ("3", 1)]); -- - Lukas