Open aliemjay opened 5 years ago
As far as the bytecode goes, the problem still stands for the current master branch (note the correct spelling of the DLT):
tcpdump -d -y IEEE802_11_RADIO pppoes
(000) ldb [3]
(001) lsh #8
(002) tax
(003) ldb [2]
(004) or x
(005) st M[1]
(006) tax
(007) txa
(008) add #24
(009) st M[1]
(010) ldb [x + 0]
(011) jset #0x8 jt 12 jf 17
(012) jset #0x4 jt 17 jf 13
(013) jset #0x80 jt 14 jf 17
(014) ld M[1]
(015) add #2
(016) st M[1]
(017) ldx M[0]
(018) ldb [x + 0]
(019) jset #0x4 jt 27 jf 20
(020) ldx M[0]
(021) ldb [x + 0]
(022) jset #0x8 jt 23 jf 27
(023) ldx M[1]
(024) ldh [x + 6]
(025) jeq #0x8864 jt 26 jf 27
(026) ret #262144
(027) ret #0
Hello,
I noticed that "pppoes" filter fails to capture PPPoES from IEEE_802_11_RADIO link type.
tcpdump fails with the following message when trying a live capture:
Examining the BPF code clearly shows that M[0] is never set and, yet, is loaded at (20):