Age | Commit message (Collapse) | Author |
|
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I5f797c8d86c42be3d03341e14b8100e0e58406e8
|
|
Both before and after:
text data bss dec hex filename
4296 0 0 4296 10c8 apf_interpreter.arm.o
text data bss dec hex filename
5581 0 0 5581 15cd apf_interpreter.x86.o
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I383e33eb174c45f8965395e4a0d251fd50305755
|
|
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I1f1f6f888f57eee58d07e2edb642a55eceeea08b
|
|
so we have a different version (and clean slate) for upcoming work
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I01e137df2556540083e6454fecd4a830831052c2
|
|
Needless - one should never include multiple versions anyway,
and it's a needless diff when we finalize a version.
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I6117669a774b552486ce5afb8e299b71d385c805
|
|
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I1f66a387e1f5bc54f6d7a2e307b3af1d1e796a65
|
|
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I77c57ad66d10287c496aab13cf46dadfb9cc49c8
|
|
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I96d57d510300f5429b1a855ad2b229a5e45636d8
|
|
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ifee46ad7a5151aabcefc614047450ef56689fef7
|
|
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ia760a8e992a813132074040ed963f73ad5288c07
|
|
|
|
* changes:
v6: copy in from v5
v6: empty out directory in prep for copy
|
|
Any future bugfix release(s) will be 6.001 (ie. 6001), etc.
Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I16f041852cdfe80d7e0f76f10163d78aa9e063d7
|
|
Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I7bbb255988e9f005484e3d1edd31c3d9a81e7a5f
|
|
Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I8aec5ebd622872378a508f4b324fd241cd5f8ac3
|
|
Test: TH
Change-Id: Ie3cef20d5f1bfaae7fdcd8d1ea278c8a1977c7d6
|
|
shrinks code size by 4
After:
text data bss dec hex filename
4296 0 0 4296 10c8 apf_interpreter.arm.o
text data bss dec hex filename
5581 0 0 5581 15cd apf_interpreter.x86.o
Test: TreeHugger, manual
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I85fef1a55cb0c00776c8563cb78110cf7c4023cb
|
|
main
|
|
Updated the disassembler to enable the JBSMATCH opcode to handle
matching against multiple byte sequences.
Test: TH
Change-Id: Ice21643d9bc144073a75a283262a4721ae5b1196
|
|
Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ia4fce23ed780f225da6f60117c035c97352e5c48
|
|
v4/apf_interpreter.c includes it...
git log apf.h:
17c1fbc apf: Tweak the interpreter data addressing scheme
7541097 Add APF opcodes to read/write data memory (take 2)
dee75a7 Revert "Add APF opcodes to read and write data memory."
6921f74 Add APF opcodes to read and write data memory.
497d4ee Add APF disassembler for testing purposes.
last changed by:
Author: Bernie Innocenti <codewiz@google.com>
on
Date: Tue Apr 10 22:52:30 2018 +0900
Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I3fcf1c7b848bcae393484de2a9676b74fdbc8e5e
|
|
After:
text data bss dec hex filename
4300 0 0 4300 10cc apf_interpreter.arm.o
text data bss dec hex filename
5578 0 0 5578 15ca apf_interpreter.x86.o
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I1a7ea17ad4267143cb0a6babca46195f59acf842
|
|
Test: TH
Change-Id: I4a8115551b80d35c8e43da999eeb810b5f1b4363
|
|
After:
text data bss dec hex filename
4312 0 0 4312 10d8 apf_interpreter.arm.o
text data bss dec hex filename
5587 0 0 5587 15d3 apf_interpreter.x86.o
Test: TreeHugger, manually
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Iec488d561a9d3cbb9886191541b23746ee4a08bf
|
|
After:
text data bss dec hex filename
4128 0 0 4128 1020 apf_interpreter.arm.o
text data bss dec hex filename
5354 0 0 5354 14ea apf_interpreter.x86.o
Test: TreeHugger, manually
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ib558903a8dd7d92f0dd84a47521af94eb53b4216
|
|
u8's are cheaper than u32s
(x86 is less efficient due to less byte registers and need
for conversions, but any x86 using wifi chip would have
tons of ram anyway, in practice this interpreter needs
to be embedded into 32-bit arm or mips or something fw,
not x86)
After:
text data bss dec hex filename
4072 0 0 4072 fe8 apf_interpreter.arm.o
text data bss dec hex filename
5259 0 0 5259 148b apf_interpreter.x86.o
Test: TreeHugger, manually
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Iccc46e9a65f638b4cd2d3f4b97c02d1a1d92b2dd
|
|
Tested various approaches for converting
len_field 0/1/2/3 into imm_len 0/1/2/4:
(len_field * 5 + 1) / 4
(len_field * 5 + 1) >> 2
((len_field + 1) >> 2) + len_field
len_field + (len_field == 3)
0x4210 >> (4 * len_field) & 0xF
04210 >> (3 * len_field) & 7
len_field ? 1 << (len_field - 1) : 0
and
if (len_field) { const u32 imm_len = 1 << (len_field - 1); ... }
plus
u32 array [0, 1, 2, 4] lookup
Before:
text data bss dec hex filename
4148 0 0 4148 1034 apf_interpreter.arm.o
text data bss dec hex filename
5184 0 0 5184 1440 apf_interpreter.x86.o
After:
text data bss dec hex filename
4100 0 0 4100 1004 apf_interpreter.arm.o
text data bss dec hex filename
5154 0 0 5154 1422 apf_interpreter.x86.o
Test: TreeHugger, manually
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I96fc324bb96b60d702ff6f6c45f52741997726b9
|
|
There's no benefit to supporting sets of size 1
Test: TreeHugger, manual
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I89c8af718edd9583170d714ad3d81b2cc814c825
|
|
Test: TH
Change-Id: I44314b0cac3f21bfb47c661c9efbe85300c8dfeb
|
|
This allows us to build without:
-Wno-declaration-after-statement
Test: TreeHugger, manually
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I1f27e9b1611b3f0f1582c4d0d28a56786e728094
|
|
Trying to get us closer to being able to remove
-Wno-declaration-after-statement
Test: TreeHugger, manually
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ie99a362b1be1bc7844bc44c865d517c7cc294f1d
|
|
Trying to get us closer to being able to remove
-Wno-declaration-after-statement
Doing a small part only, for early feedback on approach...
Test: TreeHugger, manually
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ia9fb1e14e374ed7f4b23cd87611a75de9904cd17
|
|
Test: TreeHugger, manually
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I4a904dac4a9bf21e3670af029d65587d44548c54
|
|
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ieca2ddbd285bd3c52a910c2881ad6202a931da3f
|
|
these are:
- correctly jumping to PASS label
- the PASSDROP opcode (in PASS mode)
- dns matching on corrupt packet (safe mode)
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Iab204668f721337a826fbe37b94c5edc8d359bfb
|
|
PASS_PACKET should be replaced with PASS as it is needlessly
verbose - what else would we be passing?
However, the majority of the cases where we return PASS_PACKET
are actually EXCEPTIONs. As such we s/PASS_PACKET/EXCEPTION/,
and we'll follow up with s/EXCEPTION/PASS/ on only the *normal*
cases in the next commit.
Generated via:
sed -r -i 's@PASS_PACKET@EXCEPTION@g' apf_interpreter_source.c
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: If6496deb62c6070862c8cfc93f594543604b22ba
|
|
This is needlessly verbose - what else would we be dropping?
Generated via:
sed -r -i 's@DROP_PACKET@DROP@g' apf_interpreter_source.c
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I01c5151ce5282ed82bb67e7658499e8d930b945c
|
|
This fixes:
apf_interpreter.c:42:15: error: comma at end of enumerator list [-Werror=pedantic]
42 | match = True,
apf_interpreter.c:1058:27: error: ISO C forbids empty initializer braces before C2X [-Werror=pedantic]
1058 | apf_context apf_ctx = {};
Test: TreeHugger, manually via 'devtools/mk'
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I43d9ad78010e1864b8d7cd27eb45de6404905e66
|
|
Test: TreeHugger, manually via 'devtools/mk'
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Iae841b2d9eed891760c7a6aa5a9519da17e5a293
|
|
Test: TreeHugger, manually via devtools/mk
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I0573cae7a8fa6f33c75c799f026f11eb3caef024
|
|
Test: TreeHugger
Signed-off-by:
Change-Id: I7729d31a3806580ad8e5aa649c3e93bb160b9a24
|
|
|
|
Test: TH
Change-Id: I8084339e173357a23a6ffc0120f69c160ef4628f
|
|
Modified disassembler to improve the readability of output related to
DROP and PASS opcodes.
Test: TH
Change-Id: Ice54cc218c6deef61aef0785a12c7f1ee2827207
|
|
also create symlinks from root directories apf_interpreter.{h,c}
into v4 subdirectory moved location.
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Id0d9feaf300a7011822dd31fa321e909d88e6a1a
|
|
The following commit will add symlinks from the current location to the new,
not including that here, as it prevents this change from being viewed by
git as a simple file move...
Note that apf_interpreter.c hasn't changed in years (though there are
a pair of tracing related changes since the original Android P release),
while the apf_interpreter.h file only had a single commit converting
some non-breaking spaces to normal ones.
apf_interpreter.h was at:
commit 3210e4e49222e391d738b5a713bd93c5ab0f5900
Author: Maciej Żenczykowski <maze@google.com>
Date: Thu Dec 21 01:18:56 2023 -0800
'apf_interpreter.h: convert hard (non-breaking) spaces to normal ascii spaces'
$ git log --oneline apf_interpreter.h
3210e4e apf_interpreter.h: convert hard (non-breaking) spaces to normal ascii spaces
17c1fbc (android-p-preview-2) apf: Tweak the interpreter data addressing scheme
apf_interpreter.c was at:
commit 983eb51423383190f80d31ed32fa38a112f5c04d
Author: Lorenzo Colitti <lorenzo@google.com>
Date: Thu Sep 26 22:14:16 2019 +0900
'Print disassembled code in apf_run.'
$ git log --oneline apf_interpreter.c
983eb51 Print disassembled code in apf_run.
d0174a6 Add basic execution tracing support to apf_run
17c1fbc (android-p-preview-2) apf: Tweak the interpreter data addressing scheme
Test: TreeHugger, with follow up.
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I5ec6b73c49efdb8a5ac555ba56c408ba83312996
|
|
Test: TH
Change-Id: I962e709e332bbf74cb15da6ab0733068dff20e3c
|
|
Introduced a unit test to specifically verify the correct calculation of
IGMPv2 packet checksums.
Test: TH
Change-Id: I9e9eee22ccd423770ad0959eb145508bc96ae0d1
|
|
We weren't consistent about using 4-space indent, so use that
consistently throughout, additionally use half (ie. 2-space)
indent for case labels.
Test: N/A, empty 'git show -b'
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I91320a17965b44dbde255fe7e39e19ca11b39a1f
|
|
Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Icd371541a348b6e3b09d00afbacb9743e07093e8
|