From 05680da28fa9f94f1b3e3897c8c8e13d13580264 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Tue, 25 Jan 2011 11:28:35 +1000 Subject: Pass interface name correctly when deleting dhcpv6 Bug 6726 Typo in vyatta-address script conversion from perl to shell (cherry picked from commit 4a319dd3a0aa95a92067fa677ad2e5d94534044b) --- scripts/vyatta-address | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/vyatta-address b/scripts/vyatta-address index 2e521c26..94fb1c59 100755 --- a/scripts/vyatta-address +++ b/scripts/vyatta-address @@ -32,7 +32,7 @@ case $1 in exec /opt/vyatta/sbin/vyatta-interfaces.pl --dev="$2" --dhcp=stop elif [[ "$3" = "dhcpv6" ]] then - exec /opt/vyatta/sbin/vyatta-dhcpv6-client.pl --stop --ifname $ifname + exec /opt/vyatta/sbin/vyatta-dhcpv6-client.pl --stop --ifname "$2" elif [[ "$3" =~ ":" ]] then exec ip -6 addr del "$3" dev "$2" -- cgit v1.2.3 From 47a2452f92a33aadc26ba5b591c96cfe81482a9b Mon Sep 17 00:00:00 2001 From: Stig Thormodsrud Date: Mon, 24 Jan 2011 20:03:02 -0800 Subject: Fix 6501: "clear vrrp master interface group " doesnt work with sync groups. (cherry picked from commit 34972b97e834d66147e91c071a1c1caabe18f76f) --- scripts/keepalived/vyatta-clear-vrrp.pl | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/scripts/keepalived/vyatta-clear-vrrp.pl b/scripts/keepalived/vyatta-clear-vrrp.pl index cdc74cf5..34c0327e 100755 --- a/scripts/keepalived/vyatta-clear-vrrp.pl +++ b/scripts/keepalived/vyatta-clear-vrrp.pl @@ -241,12 +241,31 @@ if ($action eq 'clear_master') { my $conf = <$f>; close $f; - my ($new_conf, $match_instance) = vrrp_extract_instance($conf, $instance); - if ($match_instance !~ /nopreempt/) { - print "Warning: $instance is in preempt mode"; - print " and may retake master\n"; + my $sync_group = list_vrrp_sync_group($intf, $group); + my @instances = (); + if (defined($sync_group)) { + print "vrrp group $vrrp_group on $vrrp_intf is in sync-group " + . "$sync_group\n"; + @instances = list_vrrp_sync_group_members($sync_group); + } else { + push @instances, $instance; + } + + my $new_conf = $conf; + my $clear_instances; + foreach my $inst (@instances) { + my $match_instance; + print "Forcing $inst to BACKUP...\n"; + Vyatta::Keepalived::vrrp_log("vrrp extract $inst"); + ($new_conf, $match_instance) = vrrp_extract_instance($new_conf, $inst); + if ($match_instance !~ /nopreempt/) { + print "Warning: $instance is in preempt mode"; + print " and may retake master\n"; + + } + $match_instance = set_instance_inital_state($match_instance, 'BACKUP'); + $clear_instances .= "$match_instance\n"; } - $match_instance = set_instance_inital_state($match_instance, 'BACKUP'); # # need to set the correct initial state for the remaining instances @@ -265,13 +284,12 @@ if ($action eq 'clear_master') { restart_daemon($conf_file); - print "Forcing $vrrp_intf-$group to BACKUP...\n"; sleep(3); # # add modified instance back and restart # - $new_conf .= "\n" . $match_instance . "\n"; + $new_conf .= "\n" . $clear_instances . "\n"; keepalived_write_file($conf_file, $new_conf); Vyatta::Keepalived::restart_daemon($conf_file); -- cgit v1.2.3 From 60ec9dfcf7c1ddc0f23f540570637db50a49809c Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 26 Jan 2011 10:52:46 +1000 Subject: Rearrange priority for pseudo-ethernet Bug 6116 Do setup at same priority as VIF (since it is really macvlan) Do address after peth mac address is set. (cherry picked from commit 0f3aa38c15bb159d331dcfd91076ac37bd4c524e) --- templates/interfaces/pseudo-ethernet/node.def | 2 +- templates/interfaces/pseudo-ethernet/node.tag/address/node.def | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/interfaces/pseudo-ethernet/node.def b/templates/interfaces/pseudo-ethernet/node.def index 2d2da19f..5b0aaac9 100644 --- a/templates/interfaces/pseudo-ethernet/node.def +++ b/templates/interfaces/pseudo-ethernet/node.def @@ -1,5 +1,5 @@ tag: -priority: 390 +priority: 319 # same as vif type: txt help: Pseudo Ethernet device name val_help: ; Pseudo Ethernet interface name diff --git a/templates/interfaces/pseudo-ethernet/node.tag/address/node.def b/templates/interfaces/pseudo-ethernet/node.tag/address/node.def index d2812446..253c4775 100644 --- a/templates/interfaces/pseudo-ethernet/node.tag/address/node.def +++ b/templates/interfaces/pseudo-ethernet/node.tag/address/node.def @@ -1,5 +1,6 @@ multi: type: txt +priority: 320 # After peth device is initialized help: IP address syntax:expression: exec "/opt/vyatta/sbin/valid_address $VAR(@)" -- cgit v1.2.3 From 040ab3a8aa00b7d9650836325d20e98ac304773d Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 26 Jan 2011 10:52:46 +1000 Subject: Rearrange priority for pseudo-ethernet Bug 6116 Do setup at same priority as VIF (since it is really macvlan) Do address after peth mac address is set. (cherry picked from commit 0f3aa38c15bb159d331dcfd91076ac37bd4c524e) --- templates/interfaces/pseudo-ethernet/node.def | 2 +- templates/interfaces/pseudo-ethernet/node.tag/address/node.def | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/interfaces/pseudo-ethernet/node.def b/templates/interfaces/pseudo-ethernet/node.def index 2d2da19f..5b0aaac9 100644 --- a/templates/interfaces/pseudo-ethernet/node.def +++ b/templates/interfaces/pseudo-ethernet/node.def @@ -1,5 +1,5 @@ tag: -priority: 390 +priority: 319 # same as vif type: txt help: Pseudo Ethernet device name val_help: ; Pseudo Ethernet interface name diff --git a/templates/interfaces/pseudo-ethernet/node.tag/address/node.def b/templates/interfaces/pseudo-ethernet/node.tag/address/node.def index d2812446..253c4775 100644 --- a/templates/interfaces/pseudo-ethernet/node.tag/address/node.def +++ b/templates/interfaces/pseudo-ethernet/node.tag/address/node.def @@ -1,5 +1,6 @@ multi: type: txt +priority: 320 # After peth device is initialized help: IP address syntax:expression: exec "/opt/vyatta/sbin/valid_address $VAR(@)" -- cgit v1.2.3 From 7f700d26fb0f13a42445c34459380a68a57a8a1d Mon Sep 17 00:00:00 2001 From: Stig Thormodsrud Date: Wed, 26 Jan 2011 14:24:13 -0800 Subject: Fix vrrp duplicate generation of last sync-group entry. (cherry picked from commit 8529fbe7ed23023e936f5c7cab9663007d0476d3) --- scripts/keepalived/vyatta-keepalived.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/keepalived/vyatta-keepalived.pl b/scripts/keepalived/vyatta-keepalived.pl index 9b8358d2..7a113469 100755 --- a/scripts/keepalived/vyatta-keepalived.pl +++ b/scripts/keepalived/vyatta-keepalived.pl @@ -391,11 +391,12 @@ sub remove_from_changes { sub vrrp_update_config { my @errs = (); - my $output = "#\n# autogenerated by $0\n#\n\n"; + my $output; my $config = new Vyatta::Config; my $vrrp_instances = 0; + %HoA_sync_groups = (); foreach my $name ( getInterfaces() ) { my $intf = new Vyatta::Interface($name); next unless $intf; @@ -427,6 +428,7 @@ sub vrrp_update_config { if ( defined $sync_groups && $sync_groups ne "" ) { $output = $sync_groups . $output; } + $output = "#\n# autogenerated by $0\n#\n\n" . $output; keepalived_write_file( $conf_file, $output ); } return ( $vrrp_instances, @errs ); -- cgit v1.2.3 From 46ad7f52c90e22bd231af63e78096fc6e8de319e Mon Sep 17 00:00:00 2001 From: Stig Thormodsrud Date: Wed, 26 Jan 2011 15:43:08 -0800 Subject: 0.19.34 --- debian/changelog | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/debian/changelog b/debian/changelog index 654d1adc..c2c8d94d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,21 @@ +vyatta-cfg-system (0.19.34) unstable; urgency=low + + [ Stephen Hemminger ] + * Pass interface name correctly when deleting dhcpv6 + + [ Stig Thormodsrud ] + * Fix 6501: "clear vrrp master interface group " + doesnt work with sync groups. + + [ Stephen Hemminger ] + * Rearrange priority for pseudo-ethernet + * Rearrange priority for pseudo-ethernet + + [ Stig Thormodsrud ] + * Fix vrrp duplicate generation of last sync-group entry. + + -- Stig Thormodsrud Wed, 26 Jan 2011 15:43:08 -0800 + vyatta-cfg-system (0.19.33) unstable; urgency=low [ Stephen Hemminger ] -- cgit v1.2.3 From eb48d5bdb7a1782cf7ed409743fdb68e4cc89cc6 Mon Sep 17 00:00:00 2001 From: Mohit Mehta Date: Thu, 27 Jan 2011 13:00:02 -0800 Subject: Fix Bug 6696 Internal error for release/renew dhcp interface under op mode * do not execute config-mode actions when called from op-mode (cherry picked from commit c385ddc400788eff46f10fea6b57b593607dc290) --- scripts/vyatta-interfaces.pl | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/scripts/vyatta-interfaces.pl b/scripts/vyatta-interfaces.pl index efefca9a..94a822e0 100755 --- a/scripts/vyatta-interfaces.pl +++ b/scripts/vyatta-interfaces.pl @@ -190,13 +190,16 @@ sub is_intf_disabled { } sub run_dhclient { - my $intf = shift; + my ($intf, $op_mode) = @_; - my ($intf_config_file, $intf_process_id_file, $intf_leases_file) - = generate_dhclient_intf_files($intf); - dhcp_update_config($intf_config_file, $intf); + my ($intf_config_file, $intf_process_id_file, $intf_leases_file) + = generate_dhclient_intf_files($intf); - return if is_intf_disabled($intf); + # perform config mode actions if not called from op-mode + if (!defined $op_mode) { + dhcp_update_config($intf_config_file, $intf); + return if is_intf_disabled($intf); + } my $cmd = "$dhcp_daemon -pf $intf_process_id_file -x $intf 2> /dev/null; rm -f $intf_process_id_file 2> /dev/null;"; $cmd .= "$dhcp_daemon -q -nw -cf $intf_config_file -pf $intf_process_id_file -lf $intf_leases_file $intf 2> /dev/null &"; @@ -206,9 +209,12 @@ sub run_dhclient { } sub stop_dhclient { - my $intf = shift; + my ($intf, $op_mode) = @_; - return if is_intf_disabled($intf); + # perform config mode actions if not called from op-mode + if (!defined $op_mode) { + return if is_intf_disabled($intf); + } my ($intf_config_file, $intf_process_id_file, $intf_leases_file) = generate_dhclient_intf_files($intf); @@ -325,12 +331,12 @@ sub dhcp { if (-e $release_file); print "Releasing DHCP lease on $intf ...\n"; - stop_dhclient($intf); + stop_dhclient($intf, 'op_mode'); mkdir ($tmp_dhclient_dir) if (! -d $tmp_dhclient_dir ); touch ($release_file); } elsif ($request eq "renew") { print "Renewing DHCP lease on $intf ...\n"; - run_dhclient($intf); + run_dhclient($intf, 'op_mode'); unlink ($release_file); } elsif ($request eq "start") { print "Starting DHCP client on $intf ...\n"; -- cgit v1.2.3 From ae38d1024d5e56ecbdba56f330720bcf345c78e3 Mon Sep 17 00:00:00 2001 From: Mohit Mehta Date: Thu, 27 Jan 2011 13:54:05 -0800 Subject: 0.19.35 --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index c2c8d94d..07df6cd4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +vyatta-cfg-system (0.19.35) unstable; urgency=low + + * Fix Bug 6696 Internal error for release/renew dhcp interface under + op mode + + -- Mohit Mehta Thu, 27 Jan 2011 13:54:04 -0800 + vyatta-cfg-system (0.19.34) unstable; urgency=low [ Stephen Hemminger ] -- cgit v1.2.3 From 9f64ee9abb10801d22e949b8ffaa20c4667b7461 Mon Sep 17 00:00:00 2001 From: Robert Bays Date: Thu, 27 Jan 2011 17:45:40 -0800 Subject: Fix grammar error in help string. --- scripts/system/irq-affinity.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/system/irq-affinity.pl b/scripts/system/irq-affinity.pl index ed8063ff..fec90dc3 100755 --- a/scripts/system/irq-affinity.pl +++ b/scripts/system/irq-affinity.pl @@ -229,7 +229,7 @@ sub check_mask { die "$ifname: $name mask $mask has no bits set\n" if ($m == 0); - die "$ifname: $name mask $mask to large for number of CPU's: $cpus\n" + die "$ifname: $name mask $mask too large for number of CPU's: $cpus\n" if ($m >= 1 << $cpus); } -- cgit v1.2.3 From 19f1bb4461404f91b9b4e80267dae97306925963 Mon Sep 17 00:00:00 2001 From: Mohit Mehta Date: Mon, 31 Jan 2011 12:53:51 -0800 Subject: use val_help to present valid info for node --- .../dns/dynamic/interface/node.tag/service/node.tag/server/node.def | 2 ++ templates/service/dns/forwarding/cache-size/node.def | 1 + 2 files changed, 3 insertions(+) diff --git a/templates/service/dns/dynamic/interface/node.tag/service/node.tag/server/node.def b/templates/service/dns/dynamic/interface/node.tag/service/node.tag/server/node.def index 04ef5e18..247755a1 100644 --- a/templates/service/dns/dynamic/interface/node.tag/service/node.tag/server/node.def +++ b/templates/service/dns/dynamic/interface/node.tag/service/node.tag/server/node.def @@ -1,2 +1,4 @@ help: Server to send DDNS update to (IP address|hostname) type: txt +val_help: ipv4; IP address of DDNS server +val_help: ; Hostname of DDNS server diff --git a/templates/service/dns/forwarding/cache-size/node.def b/templates/service/dns/forwarding/cache-size/node.def index 1b1a33e6..9285dbbd 100644 --- a/templates/service/dns/forwarding/cache-size/node.def +++ b/templates/service/dns/forwarding/cache-size/node.def @@ -2,3 +2,4 @@ type: u32 default:150 help: DNS forwarding cache size syntax:expression: ($VAR(@) >=0 && $VAR(@) < 10001) ; "Cache size must be between 0 and 10000" +val_help: u32:0-10000; DNS forwarding cache size -- cgit v1.2.3 From e61b1d0000d3feb58cac69d2155b8271d7923d5a Mon Sep 17 00:00:00 2001 From: Mohit Mehta Date: Mon, 31 Jan 2011 12:56:34 -0800 Subject: 0.19.36 --- debian/changelog | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/debian/changelog b/debian/changelog index 07df6cd4..2bb8b73c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +vyatta-cfg-system (0.19.36) unstable; urgency=low + + [ Robert Bays ] + * Fix grammar error in help string. + + [ Mohit Mehta ] + * use val_help to present valid info for node + + -- Mohit Mehta Mon, 31 Jan 2011 12:56:34 -0800 + vyatta-cfg-system (0.19.35) unstable; urgency=low * Fix Bug 6696 Internal error for release/renew dhcp interface under -- cgit v1.2.3 From 153247cdabaf3b980f9ebe1e50b9334a30d634dc Mon Sep 17 00:00:00 2001 From: Mohit Mehta Date: Thu, 27 Jan 2011 13:00:02 -0800 Subject: Fix Bug 6696 Internal error for release/renew dhcp interface under op mode * do not execute config-mode actions when called from op-mode (cherry picked from commit c385ddc400788eff46f10fea6b57b593607dc290) --- scripts/vyatta-interfaces.pl | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/scripts/vyatta-interfaces.pl b/scripts/vyatta-interfaces.pl index efefca9a..94a822e0 100755 --- a/scripts/vyatta-interfaces.pl +++ b/scripts/vyatta-interfaces.pl @@ -190,13 +190,16 @@ sub is_intf_disabled { } sub run_dhclient { - my $intf = shift; + my ($intf, $op_mode) = @_; - my ($intf_config_file, $intf_process_id_file, $intf_leases_file) - = generate_dhclient_intf_files($intf); - dhcp_update_config($intf_config_file, $intf); + my ($intf_config_file, $intf_process_id_file, $intf_leases_file) + = generate_dhclient_intf_files($intf); - return if is_intf_disabled($intf); + # perform config mode actions if not called from op-mode + if (!defined $op_mode) { + dhcp_update_config($intf_config_file, $intf); + return if is_intf_disabled($intf); + } my $cmd = "$dhcp_daemon -pf $intf_process_id_file -x $intf 2> /dev/null; rm -f $intf_process_id_file 2> /dev/null;"; $cmd .= "$dhcp_daemon -q -nw -cf $intf_config_file -pf $intf_process_id_file -lf $intf_leases_file $intf 2> /dev/null &"; @@ -206,9 +209,12 @@ sub run_dhclient { } sub stop_dhclient { - my $intf = shift; + my ($intf, $op_mode) = @_; - return if is_intf_disabled($intf); + # perform config mode actions if not called from op-mode + if (!defined $op_mode) { + return if is_intf_disabled($intf); + } my ($intf_config_file, $intf_process_id_file, $intf_leases_file) = generate_dhclient_intf_files($intf); @@ -325,12 +331,12 @@ sub dhcp { if (-e $release_file); print "Releasing DHCP lease on $intf ...\n"; - stop_dhclient($intf); + stop_dhclient($intf, 'op_mode'); mkdir ($tmp_dhclient_dir) if (! -d $tmp_dhclient_dir ); touch ($release_file); } elsif ($request eq "renew") { print "Renewing DHCP lease on $intf ...\n"; - run_dhclient($intf); + run_dhclient($intf, 'op_mode'); unlink ($release_file); } elsif ($request eq "start") { print "Starting DHCP client on $intf ...\n"; -- cgit v1.2.3 From 8965f3f255c98524923330627fb5f1c5e33cd122 Mon Sep 17 00:00:00 2001 From: Robert Bays Date: Thu, 27 Jan 2011 17:45:40 -0800 Subject: Fix grammar error in help string. (cherry picked from commit a943568e64bca73bb2951e968d0cc752d72874ab) --- scripts/system/irq-affinity.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/system/irq-affinity.pl b/scripts/system/irq-affinity.pl index ed8063ff..fec90dc3 100755 --- a/scripts/system/irq-affinity.pl +++ b/scripts/system/irq-affinity.pl @@ -229,7 +229,7 @@ sub check_mask { die "$ifname: $name mask $mask has no bits set\n" if ($m == 0); - die "$ifname: $name mask $mask to large for number of CPU's: $cpus\n" + die "$ifname: $name mask $mask too large for number of CPU's: $cpus\n" if ($m >= 1 << $cpus); } -- cgit v1.2.3 From a85d727c301007fb6fff667e6899bcbc00d7b2be Mon Sep 17 00:00:00 2001 From: Bob Gilligan Date: Tue, 1 Feb 2011 10:27:27 -0800 Subject: Bugfix 6156: Allow time for renaming to complete before running biosdevname It appears that biosdevname can be confused if interface renaming is being performed by other udev worker processes at the same time that it is running. Since vyatta_net_name does protect the body of its code with a lock, we can be sure that no other renaming will be started in other udev worker processes while this one is running in vyatta_net_name. But renaming being performed by other udev worker processes that were triggered by previous executions of vyatta_net_name may still be in progress. This change gives any interface renaming that was called for by previous invocations of vyatta_net_name a chance to complete before we call biosdevname. (cherry picked from commit 9dd41e8481e84bf80fcb0e9c3d7843c8a0b20059) --- scripts/vyatta_net_name | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/scripts/vyatta_net_name b/scripts/vyatta_net_name index 5de49b94..c3571f89 100755 --- a/scripts/vyatta_net_name +++ b/scripts/vyatta_net_name @@ -27,7 +27,7 @@ my $UDEVDIR = "/dev/.udev/"; my $VYATTAUDEV = $UDEVDIR . "vyatta"; my $LOCKFILE = $UDEVDIR . ".vyatta-lock"; my $UDEVLOG = $UDEVDIR . "log/"; -my $LOGFILE = $UDEVLOG . "vyatta-net-name"; +my $LOGFILE = $UDEVLOG . "vyatta-net-name.coldplug"; # Check if interface name is free to use sub is_available { @@ -85,6 +85,11 @@ sub biosdevname { # biosdevname works only on ethernet devices return $ifname unless ($ifname =~ /^eth/); + # Let the interface name changes ordered by previous invocations of this + # script complete before we call biosdevname. If we don't, biosdevame + # may generate incorrect name. + sleep 1; + my $biosname = `/sbin/biosdevname --policy all_ethN -i $ifname 2>>$UDEVLOG/biosdevname`; chomp $biosname; @@ -119,6 +124,12 @@ sub parse_config_boot { return $interfaces; } +sub logit { + my ($log, $msg) = @_; + my $now = localtime; + print $log "$now: $msg"; +} + # Determine network name to use based on Vyatta config during boot sub coldplug { my ($ifname, $hwaddr) = @_; @@ -127,7 +138,7 @@ sub coldplug { mkdir ($UDEVLOG); open (my $log, '>>', $LOGFILE) or die "Can't open $LOGFILE : $!"; - print {$log} "lookup $ifname $hwaddr\n"; + logit($log, "lookup $ifname $hwaddr\n"); # parse config file to produce map of existing hw-id values my $interfaces = parse_config_boot(); @@ -135,7 +146,7 @@ sub coldplug { # is name already in config file my $newname = $interfaces->{$hwaddr}; if ($newname) { - print {$log} "use hw-id $hwaddr in config mapped to '$newname'\n"; + logit($log, "use hw-id $hwaddr in config mapped to '$newname'\n"); return $newname; } @@ -153,13 +164,13 @@ sub coldplug { } $newname = biosdevname($ifname); - print {$log} "biosdevname for $ifname returned '$newname'\n"; + logit($log, "biosdevname for $ifname returned '$newname'\n"); unless (is_available($interfaces, $newname)) { $newname = find_available($interfaces, $newname); } - print {$log} "new name for '$ifname' is '$newname'\n", $ifname, $newname; + logit($log, "new name for '$ifname' is '$newname'\n"); close $log; leave_rescan_hint($newname, $hwaddr); -- cgit v1.2.3 From 82cc765810fb303cecd1ba3167d36d7adbedbfa4 Mon Sep 17 00:00:00 2001 From: Bob Gilligan Date: Tue, 1 Feb 2011 10:52:50 -0800 Subject: 0.19.37 --- debian/changelog | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/debian/changelog b/debian/changelog index 2bb8b73c..237e9eee 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,18 @@ +vyatta-cfg-system (0.19.37) unstable; urgency=low + + [ Mohit Mehta ] + * Fix Bug 6696 Internal error for release/renew dhcp interface under + op mode + + [ Robert Bays ] + * Fix grammar error in help string. + + [ Bob Gilligan ] + * Bugfix 6156: Allow time for renaming to complete before running + biosdevname + + -- Bob Gilligan Tue, 01 Feb 2011 10:52:49 -0800 + vyatta-cfg-system (0.19.36) unstable; urgency=low [ Robert Bays ] -- cgit v1.2.3 From c1eb2494559fb0f6ee2beecaedb2a415ff096056 Mon Sep 17 00:00:00 2001 From: Bob Gilligan Date: Thu, 3 Feb 2011 00:06:08 -0800 Subject: Bugfix 6773: Spread load of single-queue NICs across all CPUs. The initial CPU selection function needs to take hyperthreading into account. --- scripts/system/irq-affinity.pl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/system/irq-affinity.pl b/scripts/system/irq-affinity.pl index fec90dc3..cf68c0d1 100755 --- a/scripts/system/irq-affinity.pl +++ b/scripts/system/irq-affinity.pl @@ -157,7 +157,11 @@ sub first_cpu { unless defined($ifunit); my $threads = threads_per_core(); - return ( $ifunit * $threads ) % $cpus; + # Give the load first to one CPU of each hyperthreaded core, then + # if there are enough NICs, give the load to the other CPU of + # each core. + my $ht_wrap = (($ifunit * $threads) / $cpus) % $threads; + return ((($ifunit * $threads) + $ht_wrap) % $cpus); } # Assignment for multi-queue NICs -- cgit v1.2.3 From cf21f8a49f22efcb0a0ce0a99ba2755269320a9b Mon Sep 17 00:00:00 2001 From: Bob Gilligan Date: Thu, 3 Feb 2011 00:30:03 -0800 Subject: 0.19.38 --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 237e9eee..88baea44 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +vyatta-cfg-system (0.19.38) unstable; urgency=low + + * Bugfix 6773: Spread load of single-queue NICs across all CPUs. + + -- Bob Gilligan Thu, 03 Feb 2011 00:30:03 -0800 + vyatta-cfg-system (0.19.37) unstable; urgency=low [ Mohit Mehta ] -- cgit v1.2.3