mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-06 12:02:14 +00:00
fix bug #6: correctly implement bridged mode for openvz
This commit is contained in:
parent
dc5b8f7dff
commit
877d3f6de7
@ -371,7 +371,8 @@ sub parse_netif {
|
||||
}
|
||||
}
|
||||
if ($d->{ifname}) {
|
||||
$d->{raw} = $data;
|
||||
$d->{mac} = PVE::Tools::random_ether_addr() if !$d->{mac};
|
||||
$d->{raw} = print_netif($d);
|
||||
$res->{$d->{ifname}} = $d;
|
||||
} else {
|
||||
return undef;
|
||||
@ -381,6 +382,18 @@ sub parse_netif {
|
||||
return $res;
|
||||
}
|
||||
|
||||
sub print_netif {
|
||||
my $net = shift;
|
||||
|
||||
my $res = "ifname=$net->{ifname}";
|
||||
$res .= ",mac=$net->{mac}" if $net->{mac};
|
||||
$res .= ",host_ifname=$net->{host_ifname}" if $net->{host_ifname};
|
||||
$res .= ",host_mac=$net->{host_mac}" if $net->{host_mac};
|
||||
$res .= ",bridge=$net->{bridge}" if $net->{bridge};
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
PVE::JSONSchema::register_format('pve-openvz-netif', \&verify_netif);
|
||||
sub verify_netif {
|
||||
my ($value, $noerr) = @_;
|
||||
@ -901,14 +914,17 @@ sub update_ovz_config {
|
||||
my $newvalue = '';
|
||||
foreach my $ifname (sort keys %$newif) {
|
||||
$newvalue .= ';' if $newvalue;
|
||||
$newvalue .= $ifname;
|
||||
$newvalue .= $newif->{$ifname}->{mac} ? ",$newif->{$ifname}->{mac}" : ',';
|
||||
$newvalue .= $newif->{$ifname}->{host_ifname} ? ",$newif->{$ifname}->{host_ifname}" : ',';
|
||||
$newvalue .= $newif->{$ifname}->{host_mac} ? ",$newif->{$ifname}->{host_mac}" : ',';
|
||||
$newvalue .= $newif->{$ifname}->{bridge} ? ",$newif->{$ifname}->{bridge}" : '';
|
||||
|
||||
$newvalue .= print_netif($newif->{$ifname});
|
||||
|
||||
my $ifadd = $ifname;
|
||||
$ifadd .= $newif->{$ifname}->{mac} ? ",$newif->{$ifname}->{mac}" : ',';
|
||||
$ifadd .= $newif->{$ifname}->{host_ifname} ? ",$newif->{$ifname}->{host_ifname}" : ',';
|
||||
$ifadd .= $newif->{$ifname}->{host_mac} ? ",$newif->{$ifname}->{host_mac}" : ',';
|
||||
$ifadd .= $newif->{$ifname}->{bridge} ? ",$newif->{$ifname}->{bridge}" : '';
|
||||
|
||||
if (!$ifaces->{$ifname} || ($ifaces->{$ifname}->{raw} ne $newif->{$ifname}->{raw})) {
|
||||
push @$changes, '--netif_add', $newvalue;
|
||||
push @$changes, '--netif_add', $ifadd;
|
||||
}
|
||||
}
|
||||
$veconf->{netif}->{value} = $newvalue;
|
||||
|
@ -219,8 +219,11 @@ Ext.define('PVE.openvz.CreateWizard', {
|
||||
bridgesel
|
||||
],
|
||||
onGetValues: function(values) {
|
||||
delete values.networkmode;
|
||||
return values;
|
||||
if (values.networkmode === 'bridge') {
|
||||
return { netif: 'ifname=eth0,bridge=' + values.bridge };
|
||||
} else {
|
||||
return { ip_address: values.ip_address };
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user