[pve-devel] [PATCH pve-network] allow [ ,;] for ip lists
Alexandre DERUMIER
aderumier at odiso.com
Wed Jun 24 10:57:49 CEST 2020
>>why not use PVE::Tools::split_list ? it's our standard helper for these
>>kind of things, and also correctly trims whitespace and has support for
>>\0-separated lists ;
I have take it from ceph code ;)
/usr/share/perl5/PVE/CephConfig.pm: my $monhosts = [ split (/[ ,;]+/, $config->{global}->{mon_host} // "") ];
/usr/share/perl5/PVE/API2/Ceph/MON.pm: $monhost =~ s/(^|[ ,;]*)\[$vectorpart_re(?:,$vectorpart_re)*\](?:[ ,;]+|$)/$1/;
/usr/share/perl5/PVE/API2/Ceph/MON.pm: $monhost =~ s/(^|[ ,;]+)\Q$addr\E(?::\d+)?(?:[ ,;]+|$)/$1/;
/usr/share/perl5/PVE/API2/Ceph/MON.pm: $monhost =~ s/(^|[ ,;]+)\Q$addr\E(?:[ ,;]+|$)/$1/;
/usr/share/perl5/PVE/API2/Ceph/MON.pm: $monhost =~ s/[ ,;]+$//;
I'll look to use the PVE::Tools::split_list.
----- Mail original -----
De: "Fabian Grünbichler" <f.gruenbichler at proxmox.com>
À: "pve-devel" <pve-devel at pve.proxmox.com>
Envoyé: Mercredi 24 Juin 2020 10:23:14
Objet: Re: [pve-devel] [PATCH pve-network] allow [ ,;] for ip lists
why not use PVE::Tools::split_list ? it's our standard helper for these
kind of things, and also correctly trims whitespace and has support for
\0-separated lists ;)
On June 12, 2020 6:14 pm, Alexandre Derumier wrote:
> Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
> ---
> PVE/Network/SDN/Controllers/EvpnPlugin.pm | 4 ++--
> PVE/Network/SDN/Zones/EvpnPlugin.pm | 2 +-
> PVE/Network/SDN/Zones/VxlanPlugin.pm | 2 +-
> 3 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/PVE/Network/SDN/Controllers/EvpnPlugin.pm b/PVE/Network/SDN/Controllers/EvpnPlugin.pm
> index 79ecaeb..8db2bed 100644
> --- a/PVE/Network/SDN/Controllers/EvpnPlugin.pm
> +++ b/PVE/Network/SDN/Controllers/EvpnPlugin.pm
> @@ -47,11 +47,11 @@ sub options {
> sub generate_controller_config {
> my ($class, $plugin_config, $controller, $id, $uplinks, $config) = @_;
>
> - my @peers = split(',', $plugin_config->{'peers'}) if $plugin_config->{'peers'};
> + my @peers = split(/[ ,;]+/, $plugin_config->{'peers'}) if $plugin_config->{'peers'};
>
> my $asn = $plugin_config->{asn};
> my $gatewaynodes = $plugin_config->{'gateway-nodes'};
> - my @gatewaypeers = split(',', $plugin_config->{'gateway-external-peers'}) if $plugin_config->{'gateway-external-peers'};
> + my @gatewaypeers = split(/[ ,;]+/, $plugin_config->{'gateway-external-peers'}) if $plugin_config->{'gateway-external-peers'};
>
> return if !$asn;
>
> diff --git a/PVE/Network/SDN/Zones/EvpnPlugin.pm b/PVE/Network/SDN/Zones/EvpnPlugin.pm
> index 95fbb64..dba3ffc 100644
> --- a/PVE/Network/SDN/Zones/EvpnPlugin.pm
> +++ b/PVE/Network/SDN/Zones/EvpnPlugin.pm
> @@ -52,7 +52,7 @@ sub generate_sdn_config {
> die "missing vxlan tag" if !$tag;
> warn "vlan-aware vnet can't be enabled with evpn plugin" if $vnet->{vlanaware};
>
> - my @peers = split(',', $controller->{'peers'});
> + my @peers = split(/[ ,;]+/, $controller->{'peers'});
> my ($ifaceip, $iface) = PVE::Network::SDN::Zones::Plugin::find_local_ip_interface_peers(\@peers);
>
> my $mtu = 1450;
> diff --git a/PVE/Network/SDN/Zones/VxlanPlugin.pm b/PVE/Network/SDN/Zones/VxlanPlugin.pm
> index bc585c6..f2c2eec 100644
> --- a/PVE/Network/SDN/Zones/VxlanPlugin.pm
> +++ b/PVE/Network/SDN/Zones/VxlanPlugin.pm
> @@ -50,7 +50,7 @@ sub generate_sdn_config {
> my $ipv6 = $vnet->{ipv6};
> my $mac = $vnet->{mac};
> my $multicastaddress = $plugin_config->{'multicast-address'};
> - my @peers = split(',', $plugin_config->{'peers'}) if $plugin_config->{'peers'};
> + my @peers = split(/[ ,;]+/, $plugin_config->{'peers'}) if $plugin_config->{'peers'};
> my $vxlan_iface = "vxlan_$vnetid";
>
> die "missing vxlan tag" if !$tag;
> --
> 2.20.1
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>
>
_______________________________________________
pve-devel mailing list
pve-devel at pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
More information about the pve-devel
mailing list