[pve-devel] [PATCH pve-common] etc_network_interfaces : add uplink-id option

Thomas Lamprecht t.lamprecht at proxmox.com
Mon Sep 9 16:45:31 CEST 2019


On 04.09.19 09:47, Alexandre Derumier wrote:
> Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
> ---
>  src/PVE/INotify.pm | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm
> index 8b49f5a..fd54313 100644
> --- a/src/PVE/INotify.pm
> +++ b/src/PVE/INotify.pm
> @@ -955,6 +955,7 @@ sub __read_etc_network_interfaces {
>  			'bridge-multicast-flood' => 1,
>  			'bond_miimon' => 1,
>  			'bond_xmit_hash_policy' => 1,
> +			'uplink-id' => 1,
>  			'vlan-protocol' => 1,
>  			'vxlan-id' => 1,
>  			'vxlan-svcnodeip' => 1,
> @@ -1183,7 +1184,7 @@ sub __interface_to_string {
>  		 comments => 1, autostart => 1, options => 1,
>  		 address => 1, netmask => 1, gateway => 1, broadcast => 1,
>  		 method6 => 1, families => 1, options6 => 1,
> -		 address6 => 1, netmask6 => 1, gateway6 => 1, broadcast6 => 1 };
> +		 address6 => 1, netmask6 => 1, gateway6 => 1, broadcast6 => 1, 'uplink-id' => 1 };
>  
>      if (!$first_block) {
>  	# not printing out options
> @@ -1487,6 +1488,21 @@ sub __write_etc_network_interfaces {
>  	}
>      }
>  
> +    # check uplink
> +    my $uplinks = {};
> +    foreach my $iface (keys %$ifaces) {
> +	my $d = $ifaces->{$iface};
> +	if (my $uplinkid = $d->{'uplink-id'}) {
> +	    die "iface '$iface' - uplink-id $uplinkid is only allowed on physical and linux bond interfaces\n"
> +		if $d->{type} ne 'eth' && $d->{type} ne 'bond'; 
> +
> +	    die "iface '$iface' - uplink-id $uplinkid is already assigned on '$uplinks->{$uplinkid}'\n"
> +		if $uplinks->{$uplinkid};
> +
> +	    $uplinks->{$uplinkid} = $iface;
> +	}
> +    }
> +
>      # check bridgeport option
>      my $bridgeports = {};
>      my $bridges = {};
> 


applied, with the commit message from your old mail added.

btw. a general note to all: Did also a tree-wide trailing white-space
cleanup with:
# find . -name '*.pm' -exec sed -i 's/\s\+$//'  {} \;

There were many in pve-common, sorry if I forced to rebase anybodies patch
series as a cause of this.




More information about the pve-devel mailing list