From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 1D6801FF140 for ; Fri, 27 Mar 2026 10:56:46 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D386D1F97; Fri, 27 Mar 2026 10:57:06 +0100 (CET) Message-ID: <4ccec5f8-59a8-438b-b1cd-43ac1f334626@proxmox.com> Date: Fri, 27 Mar 2026 10:57:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH pve-network 03/13] api2: add prefix list module To: Hannes Laimer , pve-devel@lists.proxmox.com References: <20260325094142.174364-1-s.hanreich@proxmox.com> <20260325094142.174364-18-s.hanreich@proxmox.com> <727320c3-4316-450d-a129-3548b7e94b5f@proxmox.com> Content-Language: en-US From: Stefan Hanreich In-Reply-To: <727320c3-4316-450d-a129-3548b7e94b5f@proxmox.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.563 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 POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: OANV5ZW4I7OHUHUZTIXMKEKMD2BELQUF X-Message-ID-Hash: OANV5ZW4I7OHUHUZTIXMKEKMD2BELQUF X-MailFrom: s.hanreich@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On 3/26/26 4:00 PM, Hannes Laimer wrote: > On 2026-03-25 10:43, Stefan Hanreich wrote: >> Contains the CRUD functionality for prefix lists: >> >> GET /prefix-lists - lists all prefix lists >> GET /prefix-lists/ - get prefix list >> POST /prefix-lists - create a new prefix list >> PUT /prefix-lists/ - update prefix list >> DELETE /prefix-lists/ - delete prefix list >> >> Signed-off-by: Stefan Hanreich >> --- > > [..] > >> +__PACKAGE__->register_method({ >> + name => 'list_prefix_lists', >> + path => '', >> + method => 'GET', >> + permissions => { >> + description => >> + "Only returns prefix list entries where you have 'Sys.Audit' or 'Sys.Modify' permissions.", >> + }, >> + description => "List Prefix Lists", > > [..] > >> + code => sub { >> + my ($param) = @_; >> + >> + my $pending = extract_param($param, 'pending'); >> + my $running = extract_param($param, 'running'); >> + >> + my $digest; >> + my $prefix_lists; >> + >> + if ($pending) { >> + my $current_config = PVE::Network::SDN::PrefixLists::config()->list(); >> + my $running_config = PVE::Network::SDN::PrefixLists::config(1)->list(); >> + >> + my $pending_prefix_lists = PVE::Network::SDN::pending_config( >> + $running_config, >> + $current_config, > > > ``` > my $running_objects = $running_cfg->{$type}->{ids}; > my $config_objects = $cfg->{ids}; > ``` > is how `pending_config(..)` accesses these two, since `->list()` just > returns a hash we have to wrap these two > ``` > - $running_config, > - $current_config, > + { 'route-maps' => { ids => $running_route_maps } }, > + { ids => $current_route_maps }, > ``` good catch, there was an issue with calling list() as well, since we cannot get the digest later on that I fixed as well, while I touched it.