summaryrefslogtreecommitdiff
path: root/v5/apf_interpreter_source.c
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-03-12 09:16:21 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-03-12 09:16:21 +0000
commit8e04179fd7c9dc4a094a7228f0953055a81e477a (patch)
treef6df994a31fe77dac504eb377914fcbce0d8a180 /v5/apf_interpreter_source.c
parent2e94acc4d7a7ac91f8d9a4d54f1568aaa9fdbdea (diff)
parent76bf725261dbd9707ed76bd39c3b8fa180fbddcb (diff)
downloadapf-8e04179fd7c9dc4a094a7228f0953055a81e477a.tar.gz
Merge "v5: add a few clarifying comments" into main
Diffstat (limited to 'v5/apf_interpreter_source.c')
-rw-r--r--v5/apf_interpreter_source.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/v5/apf_interpreter_source.c b/v5/apf_interpreter_source.c
index 636d679..f48a15b 100644
--- a/v5/apf_interpreter_source.c
+++ b/v5/apf_interpreter_source.c
@@ -173,7 +173,7 @@ static int do_apf_run(apf_context* ctx) {
u32 pktcopy_src_offset = 0; // used for various pktdatacopy opcodes
switch (opcode) {
- case PASSDROP_OPCODE: {
+ case PASSDROP_OPCODE: { // APFv6+
if (len_field > 2) return PASS_PACKET; // max 64K counters (ie. imm < 64K)
if (imm) {
if (4 * imm > ctx->ram_len) return PASS_PACKET;
@@ -218,7 +218,7 @@ static int do_apf_run(apf_context* ctx) {
break;
}
case JMP_OPCODE:
- if (reg_num && !ctx->v6) {
+ if (reg_num && !ctx->v6) { // APFv6+
// First invocation of APFv6 jmpdata instruction
counter[-1] = 0x12345678; // endianness marker
counter[-2]++; // total packets ++
@@ -383,7 +383,7 @@ static int do_apf_run(apf_context* ctx) {
case JDNSAMATCH_EXT_OPCODE: // 44
case JDNSQMATCHSAFE_EXT_OPCODE: // 45
case JDNSAMATCHSAFE_EXT_OPCODE: { // 46
- const u32 imm_len = 1 << (len_field - 1);
+ const u32 imm_len = 1 << (len_field - 1); // EXT_OPCODE, thus len_field > 0
u32 jump_offs = decode_imm(ctx, imm_len); // 2nd imm, at worst 8 B past prog_len
int qtype = -1;
if (imm & 1) { // JDNSQMATCH & JDNSQMATCHSAFE are *odd* extended opcodes