Skip to content

Commit 9b8242d

Browse files
committed
adding further BPF program flags for Linux.
[ref](https://sites.uclouvain.be/SystInfo/usr/include/linux/filter.h.html)
1 parent d252fc6 commit 9b8242d

File tree

4 files changed

+50
-0
lines changed

4 files changed

+50
-0
lines changed

libc-test/semver/linux-aarch64.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ B2500000
22
B3000000
33
B3500000
44
B4000000
5+
BPF_A
56
BPF_ABS
67
BPF_ADD
78
BPF_ALU
89
BPF_B
10+
BPF_CLASS
911
BPF_DIV
1012
BPF_H
1113
BPF_IMM
@@ -25,15 +27,21 @@ BPF_MEM
2527
BPF_MISC
2628
BPF_MISCOP
2729
BPF_MOD
30+
BPF_MODE
2831
BPF_MSH
2932
BPF_NEG
3033
BPF_NET_OFF
34+
BPF_OP
3135
BPF_RET
3236
BPF_RVAL
37+
BPF_SIZE
38+
BPF_SRC
3339
BPF_ST
3440
BPF_STMT
3541
BPF_STX
3642
BPF_SUB
43+
BPF_TAX
44+
BPF_TXA
3745
BPF_W
3846
BPF_X
3947
BPF_XOR

libc-test/semver/linux-loongarch64.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ B2500000
22
B3000000
33
B3500000
44
B4000000
5+
BPF_A
56
BPF_ABS
67
BPF_ADD
78
BPF_ALU
89
BPF_B
10+
BPF_CLASS
911
BPF_DIV
1012
BPF_H
1113
BPF_IMM
@@ -25,15 +27,21 @@ BPF_MEM
2527
BPF_MISC
2628
BPF_MISCOP
2729
BPF_MOD
30+
BPF_MODE
2831
BPF_MSH
2932
BPF_NEG
3033
BPF_NET_OFF
34+
BPF_OP
3135
BPF_RET
3236
BPF_RVAL
37+
BPF_SIZE
38+
BPF_SRC
3339
BPF_ST
3440
BPF_STMT
3541
BPF_STX
3642
BPF_SUB
43+
BPF_TAX
44+
BPF_TXA
3745
BPF_W
3846
BPF_X
3947
BPF_XOR

libc-test/semver/linux-x86_64.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ B2500000
22
B3000000
33
B3500000
44
B4000000
5+
BPF_A
56
BPF_ABS
67
BPF_ADD
78
BPF_ALU
89
BPF_B
10+
BPF_CLASS
911
BPF_DIV
1012
BPF_H
1113
BPF_IMM
@@ -25,15 +27,21 @@ BPF_MEM
2527
BPF_MISC
2628
BPF_MISCOP
2729
BPF_MOD
30+
BPF_MODE
2831
BPF_MSH
2932
BPF_NEG
3033
BPF_NET_OFF
34+
BPF_OP
3135
BPF_RET
3236
BPF_RVAL
37+
BPF_SIZE
38+
BPF_SRC
3339
BPF_ST
3440
BPF_STMT
3541
BPF_STX
3642
BPF_SUB
43+
BPF_TAX
44+
BPF_TXA
3745
BPF_W
3846
BPF_X
3947
BPF_XOR

src/unix/linux_like/linux/mod.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3413,6 +3413,12 @@ pub const BPF_JSET: __u32 = 0x40;
34133413
pub const BPF_K: __u32 = 0x00;
34143414
pub const BPF_X: __u32 = 0x08;
34153415

3416+
// linux/filter.h
3417+
3418+
pub const BPF_A: __u32 = 0x10;
3419+
pub const BPF_TAX: __u32 = 0x00;
3420+
pub const BPF_TXA: __u32 = 0x80;
3421+
34163422
// linux/openat2.h
34173423
pub const RESOLVE_NO_XDEV: crate::__u64 = 0x01;
34183424
pub const RESOLVE_NO_MAGICLINKS: crate::__u64 = 0x02;
@@ -6030,6 +6036,26 @@ f! {
60306036
(x + TPACKET_ALIGNMENT - 1) & !(TPACKET_ALIGNMENT - 1)
60316037
}
60326038

6039+
pub fn BPF_CLASS(code: __u32) -> __u32 {
6040+
code & 0x07
6041+
}
6042+
6043+
pub fn BPF_SIZE(code: __u32) -> __u32 {
6044+
code & 0x18
6045+
}
6046+
6047+
pub fn BPF_MODE(code: __u32) -> __u32 {
6048+
code & 0xe0
6049+
}
6050+
6051+
pub fn BPF_OP(code: __u32) -> __u32 {
6052+
code & 0xf0
6053+
}
6054+
6055+
pub fn BPF_SRC(code: __u32) -> __u32 {
6056+
code & 0x08
6057+
}
6058+
60336059
pub fn BPF_RVAL(code: __u32) -> __u32 {
60346060
code & 0x18
60356061
}

0 commit comments

Comments
 (0)