From 55b7799a3699924559fcfec11eb32c61257087b1 Mon Sep 17 00:00:00 2001 From: DmitriyEshenko Date: Tue, 24 Dec 2019 16:30:59 +0000 Subject: T1903: Implement predefined interface naming for VMWare --- scripts/vyatta_net_name | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) (limited to 'scripts') diff --git a/scripts/vyatta_net_name b/scripts/vyatta_net_name index 53ae9fba..f4251892 100755 --- a/scripts/vyatta_net_name +++ b/scripts/vyatta_net_name @@ -137,7 +137,7 @@ sub logit { # Determine network name to use based on Vyatta config during boot sub coldplug { - my ($ifname, $hwaddr) = @_; + my ($ifname, $hwaddr, $predef_ifname) = @_; # at this time root directory is read-only so use log file instead mkdir ($UDEVLOG); @@ -168,8 +168,14 @@ sub coldplug { } } - $newname = biosdevname($ifname); - logit($log, "biosdevname for $ifname returned '$newname'\n"); + if ($predef_ifname) { + $newname = $predef_ifname; + logit($log, "predefined interface name for $ifname returned '$newname'\n"); + } + else { + $newname = biosdevname($ifname); + logit($log, "biosdevname for $ifname returned '$newname'\n"); + } unless (is_available($interfaces, $newname)) { $newname = find_available($interfaces, $newname); @@ -185,7 +191,7 @@ sub coldplug { # Determine name from active config sub hotplug { - my ($ifname, $hwaddr) = @_; + my ($ifname, $hwaddr, $predef_ifname) = @_; # real filesystem available use real logging openlog("vyatta-net-name", "", LOG_DAEMON); @@ -211,8 +217,14 @@ sub hotplug { return $newname; } - $newname = biosdevname($ifname); - syslog(LOG_DEBUG, "biosdevname for %s returned '%s'", $ifname, $newname); + if ($predef_ifname) { + $newname = $predef_ifname; + syslog(LOG_DEBUG, "predefined interface name for %s returned '%s'", $ifname, $newname); + } + else{ + $newname = biosdevname($ifname); + syslog(LOG_DEBUG, "biosdevname for %s returned '%s'", $ifname, $newname); + } unless (is_available($interfaces, $newname)) { $newname = find_available($interfaces, $newname); @@ -238,21 +250,26 @@ sub unlock_file { $LOCKF = undef; } -# This script is called from udev with two arguments +# This script is called from udev with two or three arguments # it outputs the new name (if any) to stdout -if ($#ARGV != 1) { +if ($#ARGV > 2 or $#ARGV < 1) { die "vyatta_net_name called with wrong args:" . join(' ', @ARGV) . "\n"; } my $ifname = $ARGV[0]; my $hwaddr = $ARGV[1]; +my $predef_ifname = ""; +if ($ARGV[2]){ + $predef_ifname = $ARGV[2]; +} + lock_file; my $newname; if ( -d $VYATTACFG ) { - $newname = hotplug($ifname, $hwaddr); + $newname = hotplug($ifname, $hwaddr, $predef_ifname); } else { - $newname = coldplug($ifname, $hwaddr); + $newname = coldplug($ifname, $hwaddr, $predef_ifname); } unlock_file; -- cgit v1.2.3 From 4447ae1d002b3369f6e7932f1c4fcfaaf755f6d9 Mon Sep 17 00:00:00 2001 From: DmitriyEshenko Date: Tue, 31 Dec 2019 09:47:04 +0000 Subject: smp-affinity: T1924: Add support for XEN interfaces --- scripts/system/irq-affinity.pl | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'scripts') diff --git a/scripts/system/irq-affinity.pl b/scripts/system/irq-affinity.pl index de0c3099..20181578 100755 --- a/scripts/system/irq-affinity.pl +++ b/scripts/system/irq-affinity.pl @@ -30,6 +30,17 @@ my ($ifname, $mask, $debug) = @ARGV; die "Error: Interface $ifname does not exist\n" unless -d "/sys/class/net/$ifname"; +# Detect xen and use special (vifX-) interface irq +if ( -d "/proc/xen" ){ + open( my $f, '<', "/sys/class/net/$ifname/device/nodename" ) + or die "Can't read /sys/class/net/$ifname/device/nodename "; + my $xen_ifname = <$f>; + $xen_ifname =~ s/device\/vif\///; + $ifname = "vif".$xen_ifname; + chomp($ifname); + close $f; +} + my $logopt = defined($debug) ? "perror" : ""; openlog("irq-affinity", $logopt, LOG_LOCAL0); -- cgit v1.2.3 From 72516c872e1690895d0269cafcb87e4e44bf153c Mon Sep 17 00:00:00 2001 From: mtudosoiu Date: Tue, 4 Jun 2019 21:20:20 +0300 Subject: T1392: improve VyOS boot time by changing {hot,cold}plug calls (cherry picked from commit 290fc6e53317a26e57a8b91cde808af39e531cea) --- scripts/vyatta_net_name | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/vyatta_net_name b/scripts/vyatta_net_name index f4251892..825bf86f 100755 --- a/scripts/vyatta_net_name +++ b/scripts/vyatta_net_name @@ -21,7 +21,7 @@ use Sys::Syslog qw(:standard :macros); use Fcntl qw(:flock); my $BOOTFILE = "/opt/vyatta/etc/config/config.boot"; -my $VYATTACFG = "/opt/vyatta/config/active"; +my $VYATTACFG = "/opt/vyatta/config/active/interfaces"; my $UDEVDIR = "/run/udev/"; my $VYATTAUDEV = $UDEVDIR . "vyatta"; -- cgit v1.2.3