selftests: bpf: log direct file writes
Recent changes to netdevsim moved creating and destroying devices from netlink to sysfs. The sysfs writes have been implemented as direct writes, without shelling out. This is faster, but leaves no trace in the logs. Add explicit logs to make debugging possible. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bfcccfe78b
commit
acceca8d24
|
@ -335,13 +335,22 @@ class NetdevSimDev:
|
|||
"""
|
||||
Class for netdevsim bus device and its attributes.
|
||||
"""
|
||||
@staticmethod
|
||||
def ctrl_write(path, val):
|
||||
fullpath = os.path.join("/sys/bus/netdevsim/", path)
|
||||
try:
|
||||
with open(fullpath, "w") as f:
|
||||
f.write(val)
|
||||
except OSError as e:
|
||||
log("WRITE %s: %r" % (fullpath, val), -e.errno)
|
||||
raise e
|
||||
log("WRITE %s: %r" % (fullpath, val), 0)
|
||||
|
||||
def __init__(self, port_count=1):
|
||||
addr = 0
|
||||
while True:
|
||||
try:
|
||||
with open("/sys/bus/netdevsim/new_device", "w") as f:
|
||||
f.write("%u %u" % (addr, port_count))
|
||||
self.ctrl_write("new_device", "%u %u" % (addr, port_count))
|
||||
except OSError as e:
|
||||
if e.errno == errno.ENOSPC:
|
||||
addr += 1
|
||||
|
@ -403,14 +412,13 @@ class NetdevSimDev:
|
|||
return progs
|
||||
|
||||
def remove(self):
|
||||
with open("/sys/bus/netdevsim/del_device", "w") as f:
|
||||
f.write("%u" % self.addr)
|
||||
self.ctrl_write("del_device", "%u" % (self.addr, ))
|
||||
devs.remove(self)
|
||||
|
||||
def remove_nsim(self, nsim):
|
||||
self.nsims.remove(nsim)
|
||||
with open("/sys/bus/netdevsim/devices/netdevsim%u/del_port" % self.addr ,"w") as f:
|
||||
f.write("%u" % nsim.port_index)
|
||||
self.ctrl_write("devices/netdevsim%u/del_port" % (self.addr, ),
|
||||
"%u" % (nsim.port_index, ))
|
||||
|
||||
class NetdevSim:
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue
Block a user