summaryrefslogtreecommitdiff
path: root/scripts/system
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2020-03-09 19:17:49 +0200
committerDaniil Baturin <daniil@vyos.io>2020-03-09 19:17:49 +0200
commit5dd56053319f1af72d8d684151873e559ed1de46 (patch)
treef67c55a9ad1b729b3bfa15c57721c1f2db2b5290 /scripts/system
parentf1467d4c193f02bd17b31630045cd53b7109b9e3 (diff)
parent72516c872e1690895d0269cafcb87e4e44bf153c (diff)
downloadvyatta-cfg-system-vyos/1.2.5.tar.gz
vyatta-cfg-system-vyos/1.2.5.zip
Merge branch 'crux' of github.com:vyos/vyatta-cfg-system into cruxvyos/1.2.5
Diffstat (limited to 'scripts/system')
-rwxr-xr-xscripts/system/irq-affinity.pl11
1 files changed, 11 insertions, 0 deletions
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);