Skip to content

Commit 9bfef81

Browse files
authored
Added support for priority queues in switch configuration (#719)
* Added support for priority queues in switch configuration Signed-off-by: code-a1 <68858676+code-a1@users.noreply.github.com> * Refactored logic to allow better scaling on the number of switch parameters Signed-off-by: code-a1 <68858676+code-a1@users.noreply.github.com> --------- Signed-off-by: code-a1 <68858676+code-a1@users.noreply.github.com>
1 parent 8d82056 commit 9bfef81

2 files changed

Lines changed: 17 additions & 4 deletions

File tree

utils/p4runtime_switch.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,10 @@ def __init__(self, name, sw_path = None, json_path = None,
9494
if "cpu_port" in kwargs:
9595
self.cpu_port = kwargs["cpu_port"]
9696

97+
self.priority_queues = None
98+
if "priority_queues" in kwargs:
99+
self.priority_queues = kwargs["priority_queues"]
100+
97101

98102
def check_switch_started(self, pid):
99103
for _ in range(SWITCH_START_TIMEOUT * 2):
@@ -129,6 +133,8 @@ def start(self, controllers):
129133
args.append("-- --grpc-server-addr 0.0.0.0:" + str(self.grpc_port))
130134
if self.cpu_port:
131135
args.append("--cpu-port " + str(self.cpu_port))
136+
if self.priority_queues:
137+
args.append("--priority-queues " + str(self.priority_queues))
132138
cmd = ' '.join(args)
133139
info(cmd + "\n")
134140
print(cmd + "\n")

utils/run_exercise.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,17 @@ def __init__(self, hosts, switches, links, log_dir, bmv2_exe, pcap_dir, **opts):
9292
else:
9393
# add default switch
9494
switchClass = None
95-
if "cpu_port" in params:
96-
self.addSwitch(sw, log_file="%s/%s.log" %(log_dir, sw), cpu_port=params["cpu_port"], cls=switchClass)
97-
else:
98-
self.addSwitch(sw, log_file="%s/%s.log" %(log_dir, sw), cls=switchClass)
95+
96+
switch_opts = {
97+
"log_file": "%s/%s.log" % (log_dir, sw),
98+
"cls": switchClass
99+
}
100+
101+
for key in ("cpu_port", "priority_queues"):
102+
if key in params:
103+
switch_opts[key] = params[key]
104+
105+
self.addSwitch(sw, **switch_opts)
99106

100107
for link in host_links:
101108
host_name = link['node1']

0 commit comments

Comments
 (0)