Require a live capture for all Linux BPF extensions.
Have "outbound" mean Tx only for DLT_SLIP.
Filter Linux SocketCAN frames in userland if necessary.
+ Enable "[wlan] dir/type/subtype" for DLT_PPI.
rpcap:
Support user names and passwords in rpcap:// and rpcaps:// URLs.
Add a -t flag to rpcapd to specify the data channel port; from
case DLT_PRISM_HEADER:
case DLT_IEEE802_11_RADIO_AVS:
case DLT_IEEE802_11_RADIO:
+ case DLT_PPI:
b0 = gen_mcmp(cstate, OR_LINKHDR, 0, BPF_B, type, mask);
break;
case DLT_PRISM_HEADER:
case DLT_IEEE802_11_RADIO_AVS:
case DLT_IEEE802_11_RADIO:
+ case DLT_PPI:
break;
default:
(013) ret #0
',
}, # wlan_dir_fromds_PRISM_HEADER
+ {
+ name => 'wlan_dir_fromds_PPI',
+ DLT => 'PPI',
+ aliases => ['wlan dir fromds'],
+ opt => '
+ (000) ld [4]
+ (001) jeq #0x69000000 jt 2 jf 12
+ (002) ldb [3]
+ (003) lsh #8
+ (004) tax
+ (005) ldb [2]
+ (006) or x
+ (007) tax
+ (008) ldb [x + 1]
+ (009) and #0x3
+ (010) jeq #0x2 jt 11 jf 12
+ (011) ret #262144
+ (012) ret #0
+ ',
+ }, # wlan_dir_fromds_PPI
{
name => 'pppoed',
DLT => 'PPI',
aliases => [
'llc',
+ 'wlan type data',
],
opt => '
(000) ld [4]
expr => 'wlan dir fromds',
results => [0, 0, 0, 0, 0, 0, 0, 65536, 0, 65536, 0, 65536, 0, 65536, 0, 0],
},
+ {
+ name => 'wlan_subtype_ack_PPI',
+ savefile => 'http_PPI.pcap',
+ expr => 'wlan subtype ack',
+ results => [0, 65535, 0, 65535, 0],
+ },
+ {
+ name => 'wlan_dir_nods_PPI',
+ savefile => 'http_PPI.pcap',
+ expr => 'wlan dir nods',
+ results => [0, 65535, 0, 65535, 0],
+ },
);
# * name, DLT, expr, netmask and skip: same as in accept_blocks above