v5: update transmit to use new checksum code
Test: TreeHugger
m libapf_v5 && a_test apf_{assemble,checksum,dns,run}_test NetworkStackTests:android.net.apf.Apf{,V5}Test
Signed-off-by: Maciej Żenczykowski <[email protected]>
Change-Id: Iac2de6b0f06aeda0c674e9857406502b3c6502c7
diff --git a/disassembler.c b/disassembler.c
index a89f213..3a70f82 100644
--- a/disassembler.c
+++ b/disassembler.c
@@ -270,11 +270,17 @@
bprintf("%d", alloc_len);
}
break;
- case TRANSMITDISCARD_EXT_OPCODE:
- if (reg_num == 0) {
- print_opcode("discard");
- } else {
- print_opcode("transmit");
+ case TRANSMIT_EXT_OPCODE:
+ print_opcode(reg_num ? "transmitudp" : "transmit");
+ u8 ip_ofs = DECODE_IMM(1);
+ u8 csum_ofs = DECODE_IMM(1);
+ if (csum_ofs < 255) {
+ u8 csum_start = DECODE_IMM(1);
+ u16 partial_csum = DECODE_IMM(2);
+ bprintf("ip_ofs=%d, csum_ofs=%d, csum_start=%d, partial_csum=0x%04x",
+ ip_ofs, csum_ofs, csum_start, partial_csum);
+ } else {
+ bprintf("ip_ofs=%d", ip_ofs);
}
break;
case EWRITE1_EXT_OPCODE: print_opcode("ewrite1"); bprintf("r%d", reg_num); break;