From 4447ae1d002b3369f6e7932f1c4fcfaaf755f6d9 Mon Sep 17 00:00:00 2001
From: DmitriyEshenko <dmitriy.eshenko@vyos.io>
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(+)

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