From 6e38117a058cdf6fd9fbdc548f909a4f08a269b7 Mon Sep 17 00:00:00 2001 From: Martin Teichmann <martin.teichmann@xfel.eu> Date: Mon, 28 Dec 2020 20:48:37 +0000 Subject: [PATCH] fix use of Enum how did this ever work? --- ebpf.py | 2 +- ebpf_test.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ebpf.py b/ebpf.py index 4307feb..07eee42 100644 --- a/ebpf.py +++ b/ebpf.py @@ -580,7 +580,7 @@ class EBPF: def assemble(self): return b"".join( - pack("<BBHI", i.opcode, i.dst | i.src << 4, + pack("<BBHI", i.opcode.value, i.dst | i.src << 4, i.off % 0x10000, i.imm % 0x100000000) for i in self.opcodes) diff --git a/ebpf_test.py b/ebpf_test.py index 58c51d1..e876e97 100644 --- a/ebpf_test.py +++ b/ebpf_test.py @@ -10,7 +10,7 @@ opcodes.sort(reverse=True) def Instruction(opcode, dst, src, off, imm): - if isinstance(opcode, OpcodeFlags): + if isinstance(opcode, (Opcode, OpcodeFlags)): return ebpf.Instruction(opcode, dst, src, off, imm) bigger = [(k, v) for k, v in opcodes if opcode >= k] for bk, bv in bigger: @@ -29,7 +29,7 @@ def Instruction(opcode, dst, src, off, imm): class Tests(TestCase): def test_assemble(self): e = EBPF() - e.append(0x24, 3, 4, 0x2c3d, 0x2d3e4f5e) + e.append(Opcode.MUL, 3, 4, 0x2c3d, 0x2d3e4f5e) self.assertEqual(e.assemble(), b"$C=,^O>-") def test_assign(self): -- GitLab