summaryrefslogtreecommitdiff
path: root/support/dpdk-21.11.4/dpdk-21.11.4-dpdk-devbind-dump.patch
diff options
context:
space:
mode:
Diffstat (limited to 'support/dpdk-21.11.4/dpdk-21.11.4-dpdk-devbind-dump.patch')
-rw-r--r--support/dpdk-21.11.4/dpdk-21.11.4-dpdk-devbind-dump.patch71
1 files changed, 71 insertions, 0 deletions
diff --git a/support/dpdk-21.11.4/dpdk-21.11.4-dpdk-devbind-dump.patch b/support/dpdk-21.11.4/dpdk-21.11.4-dpdk-devbind-dump.patch
new file mode 100644
index 0000000..e4b4026
--- /dev/null
+++ b/support/dpdk-21.11.4/dpdk-21.11.4-dpdk-devbind-dump.patch
@@ -0,0 +1,71 @@
+--- dpdk-stable-21.11.4/usertools/dpdk-devbind.py 2023-05-17 07:27:18.000000000 -0400
++++ dpdk-stable-21.11.4-mr4/usertools/dpdk-devbind.py 2023-06-26 07:47:31.226072861 -0400
+@@ -8,6 +8,7 @@ import os
+ import subprocess
+ import argparse
+ import platform
++import json
+
+ from glob import glob
+ from os.path import exists, basename
+@@ -95,6 +96,7 @@ loaded_modules = None
+ # command-line arg flags
+ b_flag = None
+ status_flag = False
++dump_flag = False
+ force_flag = False
+ args = []
+
+@@ -577,6 +579,11 @@ def show_device_status(devices_type, dev
+ display_devices("%s devices using kernel driver" % device_name, kernel_drv,
+ if_text + "drv=%(Driver_str)s "
+ "unused=%(Module_str)s %(Active)s")
++ if dump_flag and dump_path == 'stdout':
++ print(kernel_drv)
++ if dump_flag and dump_path != 'stdout':
++ f = open(dump_path, "w")
++ f.write(json.dumps(kernel_drv, sort_keys=True,indent=4))
+ if no_drv:
+ display_devices("Other %s devices" % device_name, no_drv,
+ "unused=%(Module_str)s")
+@@ -635,6 +642,8 @@ def parse_args():
+ global status_dev
+ global force_flag
+ global args
++ global dump_flag
++ global dump_path
+
+ parser = argparse.ArgumentParser(
+ description='Utility to bind and unbind devices from Linux kernel',
+@@ -649,6 +658,9 @@ To display current device status:
+ To display current network device status:
+ %(prog)s --status-dev net
+
++To dump current kernel network device status for json:
++ %(prog)s --status-dev net --dump ('stdout' | 'path')
++
+ To bind eth1 from the current driver and move to use vfio-pci
+ %(prog)s --bind=vfio-pci eth1
+
+@@ -669,6 +681,11 @@ To bind 0000:02:00.0 and 0000:02:00.1 to
+ help="Print the status of given device group.",
+ choices=['baseband', 'compress', 'crypto', 'dma', 'event',
+ 'mempool', 'misc', 'net', 'regex'])
++ parser.add_argument(
++ '-d',
++ '--dump',
++ help="Dump the status of kernel net group.")
++
+ bind_group = parser.add_mutually_exclusive_group()
+ bind_group.add_argument(
+ '-b',
+@@ -701,6 +718,9 @@ For devices bound to Linux kernel driver
+ if opt.status_dev:
+ status_flag = True
+ status_dev = opt.status_dev
++ if opt.dump:
++ dump_flag = True
++ dump_path = opt.dump
+ if opt.status:
+ status_flag = True
+ status_dev = "all"