diff --git a/tbsetup/libvtop_test.pm.in b/tbsetup/libvtop_test.pm.in index 292d1ccef8dec7d76bae5483cf8e2938a95d61da..9048cb1443bddb6ddbc75f71dd6f2472f7f020da 100755 --- a/tbsetup/libvtop_test.pm.in +++ b/tbsetup/libvtop_test.pm.in @@ -3662,16 +3662,13 @@ sub GenVirtLans($) } else { my $plink = "linksimple/$vname/$member0,$member1"; - my $bw = ''; + my $vtbw = max($top_bw,$top_rbw); my $others = {'isgeninode' => $vlan->_geninodes()}; my $wiretype = $vlan->_wiretype(); - if ($emulated) { - $bw = max($top_bw,$top_rbw); - } - else { + if (!$emulated) { # Let assign choose bw if top_bw is zero. - $bw = ($top_bw == 0 ? "*" : $top_bw); + $vtbw = ($top_bw == 0 ? "*" : $vtbw); $wiretype = $self->GetWiretype($wiretype, max($top_bw, $top_rbw)); } @@ -3736,7 +3733,7 @@ sub GenVirtLans($) 'virtual_interface_id' =>"$member0" }, {'virtual_node_id' => $vname1, 'virtual_interface_id' =>"$member1" }, - $bw, $wiretype, $others); + $vtbw, $wiretype, $others); } } } @@ -4543,7 +4540,10 @@ sub virtlantopbw($$$) { # bandwidth - otherwise, we put in the bandwidth of the type # of physical interface it is likely to get mapped to # - if ($virtlan->_emulated()) { + my $shaped = $virtlan->membershaped($member); + + if ($virtlan->_emulated() || + $self->virtlan_use_linkdelay($virtlan, $shaped)) { $return_rbw = $rbw; } else {