Skip to content

Commit 4d5ece3

Browse files
committed
lib,daemon,cli,tests,doc,tools: rename cgroup to cgroup_skb
1 parent 0703e67 commit 4d5ece3

File tree

28 files changed

+88
-85
lines changed

28 files changed

+88
-85
lines changed

doc/usage/bfcli.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -334,8 +334,8 @@ With:
334334
- ``BF_HOOK_TC_INGRESS``: ingress TC hook.
335335
- ``BF_HOOK_NF_PRE_ROUTING``: similar to ``nftables`` and ``iptables`` prerouting hook.
336336
- ``BF_HOOK_NF_LOCAL_IN``: similar to ``nftables`` and ``iptables`` input hook.
337-
- ``BF_HOOK_CGROUP_INGRESS``: ingress cgroup hook.
338-
- ``BF_HOOK_CGROUP_EGRESS``: egress cgroup hook.
337+
- ``BF_HOOK_CGROUP_SKB_INGRESS``: ingress cgroup_skb hook.
338+
- ``BF_HOOK_CGROUP_SKB_EGRESS``: egress cgroup_skb hook.
339339
- ``BF_HOOK_NF_FORWARD``: similar to ``nftables`` and ``iptables`` forward hook.
340340
- ``BF_HOOK_NF_LOCAL_OUT``: similar to ``nftables`` and ``iptables`` output hook.
341341
- ``BF_HOOK_NF_POST_ROUTING``: similar to ``nftables`` and ``iptables`` postrouting hook.
@@ -358,7 +358,7 @@ With:
358358
- N/A
359359
- Interface index to attach the program to.
360360
* - ``cgpath=$CGROUP_PATH``
361-
- ``BF_HOOK_CGROUP_INGRESS``, ``BF_HOOK_CGROUP_EGRESS``
361+
- ``BF_HOOK_CGROUP_SKB_INGRESS``, ``BF_HOOK_CGROUP_SKB_EGRESS``
362362
- N/A
363363
- Path to the cgroup to attach to.
364364
* - ``family=$FAMILY``
@@ -407,7 +407,7 @@ Note ``CONTINUE`` means a packet can be counted more than once if multiple rules
407407
- ``BF_HOOK_XDP``: only ``out`` direction is supported (XDP always transmits out of the target interface).
408408
- ``BF_HOOK_TC_INGRESS``, ``BF_HOOK_TC_EGRESS``: both ``in`` and ``out`` directions are supported.
409409

410-
``REDIRECT`` is **not** supported by Netfilter (``BF_HOOK_NF_*``) or cgroup (``BF_HOOK_CGROUP_*``) hooks.
410+
``REDIRECT`` is **not** supported by Netfilter (``BF_HOOK_NF_*``) or cgroup_skb (``BF_HOOK_CGROUP_SKB_*``) hooks.
411411

412412
Sets
413413
~~~~
@@ -559,7 +559,7 @@ Meta
559559
- ``meta.flow_probability``
560560
- ``eq``
561561
- ``$PROBABILITY``
562-
- ``$PROBABILITY`` is a floating-point percentage value (i.e., within [0%, 100%], e.g., "50%" or "33.33%"). Unlike ``meta.probability`` which uses per-packet randomness, ``meta.flow_probability`` computes a deterministic hash from the packet's 5-tuple (source/destination IP, source/destination port, protocol) ensuring all packets from the same flow get the same match decision. Only applies to IPv4/IPv6 packets with TCP or UDP on L4; packets with other protocols are skipped. Compatible with ``BF_HOOK_XDP``, ``BF_HOOK_TC_INGRESS``, ``BF_HOOK_TC_EGRESS``, ``BF_HOOK_CGROUP_INGRESS``, and ``BF_HOOK_CGROUP_EGRESS`` hooks.
562+
- ``$PROBABILITY`` is a floating-point percentage value (i.e., within [0%, 100%], e.g., "50%" or "33.33%"). Unlike ``meta.probability`` which uses per-packet randomness, ``meta.flow_probability`` computes a deterministic hash from the packet's 5-tuple (source/destination IP, source/destination port, protocol) ensuring all packets from the same flow get the same match decision. Only applies to IPv4/IPv6 packets with TCP or UDP on L4; packets with other protocols are skipped. Compatible with ``BF_HOOK_XDP``, ``BF_HOOK_TC_INGRESS``, ``BF_HOOK_TC_EGRESS``, ``BF_HOOK_CGROUP_SKB_INGRESS``, and ``BF_HOOK_CGROUP_SKB_EGRESS`` hooks.
563563
564564
IPv4
565565
####

doc/usage/daemon.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ Namespaces
3939

4040
The network namespace will define the available interface indexes to attach the XDP and TC chains, as well as the interface indexes to filter packets on.
4141

42-
The mount namespace is required to ensure the daemon will attach a CGroup chain to the proper CGroup.
42+
The mount namespace is required to ensure the daemon will attach a cgroup_skb chain to the proper cgroup.

src/bpfilter/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ add_executable(bpfilter
1616
${CMAKE_CURRENT_SOURCE_DIR}/main.c
1717
${CMAKE_CURRENT_SOURCE_DIR}/opts.h ${CMAKE_CURRENT_SOURCE_DIR}/opts.c
1818
${CMAKE_CURRENT_SOURCE_DIR}/cgen/cgen.h ${CMAKE_CURRENT_SOURCE_DIR}/cgen/cgen.c
19-
${CMAKE_CURRENT_SOURCE_DIR}/cgen/cgroup.h ${CMAKE_CURRENT_SOURCE_DIR}/cgen/cgroup.c
19+
${CMAKE_CURRENT_SOURCE_DIR}/cgen/cgroup_skb.h ${CMAKE_CURRENT_SOURCE_DIR}/cgen/cgroup_skb.c
2020
${CMAKE_CURRENT_SOURCE_DIR}/cgen/dump.h ${CMAKE_CURRENT_SOURCE_DIR}/cgen/dump.c
2121
${CMAKE_CURRENT_SOURCE_DIR}/cgen/elfstub.h ${CMAKE_CURRENT_SOURCE_DIR}/cgen/elfstub.c
2222
${CMAKE_CURRENT_SOURCE_DIR}/cgen/fixup.h ${CMAKE_CURRENT_SOURCE_DIR}/cgen/fixup.c
Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Copyright (c) 2023 Meta Platforms, Inc. and affiliates.
44
*/
55

6-
#include "cgen/cgroup.h"
6+
#include "cgen/cgroup_skb.h"
77

88
#include <linux/bpf_common.h>
99
#include <linux/if_ether.h>
@@ -27,7 +27,7 @@
2727
// Forward definition to avoid headers clusterfuck.
2828
uint16_t htons(uint16_t hostshort);
2929

30-
static int _bf_cgroup_gen_inline_prologue(struct bf_program *program)
30+
static int _bf_cgroup_skb_gen_inline_prologue(struct bf_program *program)
3131
{
3232
int offset;
3333
int r;
@@ -95,15 +95,15 @@ static int _bf_cgroup_gen_inline_prologue(struct bf_program *program)
9595
return 0;
9696
}
9797

98-
static int _bf_cgroup_gen_inline_epilogue(struct bf_program *program)
98+
static int _bf_cgroup_skb_gen_inline_epilogue(struct bf_program *program)
9999
{
100100
(void)program;
101101

102102
return 0;
103103
}
104104

105-
static int _bf_cgroup_gen_inline_set_mark(struct bf_program *program,
106-
uint32_t mark)
105+
static int _bf_cgroup_skb_gen_inline_set_mark(struct bf_program *program,
106+
uint32_t mark)
107107
{
108108
EMIT(program,
109109
BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, BF_PROG_CTX_OFF(arg)));
@@ -114,7 +114,8 @@ static int _bf_cgroup_gen_inline_set_mark(struct bf_program *program,
114114
return 0;
115115
}
116116

117-
static int _bf_cgroup_gen_inline_get_mark(struct bf_program *program, int reg)
117+
static int _bf_cgroup_skb_gen_inline_get_mark(struct bf_program *program,
118+
int reg)
118119
{
119120
EMIT(program,
120121
BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, BF_PROG_CTX_OFF(arg)));
@@ -124,7 +125,8 @@ static int _bf_cgroup_gen_inline_get_mark(struct bf_program *program, int reg)
124125
return 0;
125126
}
126127

127-
static int _bf_cgroup_gen_inline_get_skb(struct bf_program *program, int reg)
128+
static int _bf_cgroup_skb_gen_inline_get_skb(struct bf_program *program,
129+
int reg)
128130
{
129131
EMIT(program, BPF_LDX_MEM(BPF_DW, reg, BPF_REG_10, BF_PROG_CTX_OFF(arg)));
130132

@@ -137,7 +139,7 @@ static int _bf_cgroup_gen_inline_get_skb(struct bf_program *program, int reg)
137139
* @param verdict Verdict to convert. Must be valid.
138140
* @return TC return code corresponding to the verdict, as an integer.
139141
*/
140-
static int _bf_cgroup_get_verdict(enum bf_verdict verdict)
142+
static int _bf_cgroup_skb_get_verdict(enum bf_verdict verdict)
141143
{
142144
switch (verdict) {
143145
case BF_VERDICT_ACCEPT:
@@ -149,11 +151,11 @@ static int _bf_cgroup_get_verdict(enum bf_verdict verdict)
149151
}
150152
}
151153

152-
const struct bf_flavor_ops bf_flavor_ops_cgroup = {
153-
.gen_inline_prologue = _bf_cgroup_gen_inline_prologue,
154-
.gen_inline_epilogue = _bf_cgroup_gen_inline_epilogue,
155-
.gen_inline_set_mark = _bf_cgroup_gen_inline_set_mark,
156-
.gen_inline_get_mark = _bf_cgroup_gen_inline_get_mark,
157-
.gen_inline_get_skb = _bf_cgroup_gen_inline_get_skb,
158-
.get_verdict = _bf_cgroup_get_verdict,
154+
const struct bf_flavor_ops bf_flavor_ops_cgroup_skb = {
155+
.gen_inline_prologue = _bf_cgroup_skb_gen_inline_prologue,
156+
.gen_inline_epilogue = _bf_cgroup_skb_gen_inline_epilogue,
157+
.gen_inline_set_mark = _bf_cgroup_skb_gen_inline_set_mark,
158+
.gen_inline_get_mark = _bf_cgroup_skb_gen_inline_get_mark,
159+
.gen_inline_get_skb = _bf_cgroup_skb_gen_inline_get_skb,
160+
.get_verdict = _bf_cgroup_skb_get_verdict,
159161
};
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77

88
#include <bpfilter/flavor.h>
99

10-
extern const struct bf_flavor_ops bf_flavor_ops_cgroup;
10+
extern const struct bf_flavor_ops bf_flavor_ops_cgroup_skb;

src/bpfilter/cgen/prog/link.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ int bf_link_new(struct bf_link **link, const char *name, enum bf_hook hook,
7272

7373
fd = r;
7474
break;
75-
case BF_FLAVOR_CGROUP:
75+
case BF_FLAVOR_CGROUP_SKB:
7676
cgroup_fd = open(_hookopts->cgpath, O_DIRECTORY | O_RDONLY);
7777
if (cgroup_fd < 0) {
7878
return bf_err_r(errno, "failed to open cgroup '%s'",
@@ -81,7 +81,7 @@ int bf_link_new(struct bf_link **link, const char *name, enum bf_hook hook,
8181

8282
r = bf_bpf_link_create(prog_fd, cgroup_fd, hook, 0, 0, 0);
8383
if (r < 0)
84-
return bf_err_r(r, "failed to create cgroup BPF link");
84+
return bf_err_r(r, "failed to create cgroup_skb BPF link");
8585

8686
fd = r;
8787
break;
@@ -290,7 +290,7 @@ int bf_link_update(struct bf_link *link, int prog_fd)
290290
switch (bf_hook_to_flavor(link->hook)) {
291291
case BF_FLAVOR_XDP:
292292
case BF_FLAVOR_TC:
293-
case BF_FLAVOR_CGROUP:
293+
case BF_FLAVOR_CGROUP_SKB:
294294
r = bf_bpf_link_update(link->fd, prog_fd);
295295
break;
296296
case BF_FLAVOR_NF:

src/bpfilter/cgen/program.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
#include <bpfilter/set.h>
3737
#include <bpfilter/verdict.h>
3838

39-
#include "cgen/cgroup.h"
39+
#include "cgen/cgroup_skb.h"
4040
#include "cgen/dump.h"
4141
#include "cgen/fixup.h"
4242
#include "cgen/handle.h"
@@ -88,7 +88,7 @@ static const struct bf_flavor_ops *bf_flavor_ops_get(enum bf_flavor flavor)
8888
[BF_FLAVOR_TC] = &bf_flavor_ops_tc,
8989
[BF_FLAVOR_NF] = &bf_flavor_ops_nf,
9090
[BF_FLAVOR_XDP] = &bf_flavor_ops_xdp,
91-
[BF_FLAVOR_CGROUP] = &bf_flavor_ops_cgroup,
91+
[BF_FLAVOR_CGROUP_SKB] = &bf_flavor_ops_cgroup_skb,
9292
};
9393

9494
static_assert_enum_mapping(flavor_ops, _BF_FLAVOR_MAX);

src/bpfilter/cgen/runtime.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ struct bf_runtime
7474
* program flavor:
7575
* - `BF_FLAVOR_XDP`: `struct xdp_md *`
7676
* - `BF_FLAVOR_TC`: `struct struct __sk_buff *`
77-
* - `BF_FLAVOR_CGROUP`: `struct __sk_buff *`
77+
* - `BF_FLAVOR_CGROUP_SKB`: `struct __sk_buff *`
7878
* - `BF_FLAVOR_NF`: `struct bpf_nf_ctx *` */
7979
void *arg;
8080

src/libbpfilter/flavor.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const char *bf_flavor_to_str(enum bf_flavor flavor)
1313
[BF_FLAVOR_TC] = "BF_FLAVOR_TC",
1414
[BF_FLAVOR_NF] = "BF_FLAVOR_NF",
1515
[BF_FLAVOR_XDP] = "BF_FLAVOR_XDP",
16-
[BF_FLAVOR_CGROUP] = "BF_FLAVOR_CGROUP",
16+
[BF_FLAVOR_CGROUP_SKB] = "BF_FLAVOR_CGROUP_SKB",
1717
};
1818
static_assert_enum_mapping(flavor_str, _BF_FLAVOR_MAX);
1919

src/libbpfilter/hook.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ static const char *_bf_hook_strs[] = {
2929
[BF_HOOK_TC_INGRESS] = "BF_HOOK_TC_INGRESS",
3030
[BF_HOOK_NF_PRE_ROUTING] = "BF_HOOK_NF_PRE_ROUTING",
3131
[BF_HOOK_NF_LOCAL_IN] = "BF_HOOK_NF_LOCAL_IN",
32-
[BF_HOOK_CGROUP_INGRESS] = "BF_HOOK_CGROUP_INGRESS",
33-
[BF_HOOK_CGROUP_EGRESS] = "BF_HOOK_CGROUP_EGRESS",
32+
[BF_HOOK_CGROUP_SKB_INGRESS] = "BF_HOOK_CGROUP_SKB_INGRESS",
33+
[BF_HOOK_CGROUP_SKB_EGRESS] = "BF_HOOK_CGROUP_SKB_EGRESS",
3434
[BF_HOOK_NF_FORWARD] = "BF_HOOK_NF_FORWARD",
3535
[BF_HOOK_NF_LOCAL_OUT] = "BF_HOOK_NF_LOCAL_OUT",
3636
[BF_HOOK_NF_POST_ROUTING] = "BF_HOOK_NF_POST_ROUTING",
@@ -67,8 +67,8 @@ enum bf_flavor bf_hook_to_flavor(enum bf_hook hook)
6767
[BF_HOOK_TC_INGRESS] = BF_FLAVOR_TC,
6868
[BF_HOOK_NF_PRE_ROUTING] = BF_FLAVOR_NF,
6969
[BF_HOOK_NF_LOCAL_IN] = BF_FLAVOR_NF,
70-
[BF_HOOK_CGROUP_INGRESS] = BF_FLAVOR_CGROUP,
71-
[BF_HOOK_CGROUP_EGRESS] = BF_FLAVOR_CGROUP,
70+
[BF_HOOK_CGROUP_SKB_INGRESS] = BF_FLAVOR_CGROUP_SKB,
71+
[BF_HOOK_CGROUP_SKB_EGRESS] = BF_FLAVOR_CGROUP_SKB,
7272
[BF_HOOK_NF_FORWARD] = BF_FLAVOR_NF,
7373
[BF_HOOK_NF_LOCAL_OUT] = BF_FLAVOR_NF,
7474
[BF_HOOK_NF_POST_ROUTING] = BF_FLAVOR_NF,
@@ -87,8 +87,8 @@ enum bf_bpf_attach_type bf_hook_to_bpf_attach_type(enum bf_hook hook)
8787
[BF_HOOK_TC_INGRESS] = BF_BPF_TCX_INGRESS,
8888
[BF_HOOK_NF_PRE_ROUTING] = BF_BPF_NETFILTER,
8989
[BF_HOOK_NF_LOCAL_IN] = BF_BPF_NETFILTER,
90-
[BF_HOOK_CGROUP_INGRESS] = BF_BPF_CGROUP_INET_INGRESS,
91-
[BF_HOOK_CGROUP_EGRESS] = BF_BPF_CGROUP_INET_EGRESS,
90+
[BF_HOOK_CGROUP_SKB_INGRESS] = BF_BPF_CGROUP_INET_INGRESS,
91+
[BF_HOOK_CGROUP_SKB_EGRESS] = BF_BPF_CGROUP_INET_EGRESS,
9292
[BF_HOOK_NF_FORWARD] = BF_BPF_NETFILTER,
9393
[BF_HOOK_NF_LOCAL_OUT] = BF_BPF_NETFILTER,
9494
[BF_HOOK_NF_POST_ROUTING] = BF_BPF_NETFILTER,
@@ -107,8 +107,8 @@ enum bf_bpf_prog_type bf_hook_to_bpf_prog_type(enum bf_hook hook)
107107
[BF_HOOK_TC_INGRESS] = BF_BPF_PROG_TYPE_SCHED_CLS,
108108
[BF_HOOK_NF_PRE_ROUTING] = BF_BPF_PROG_TYPE_NETFILTER,
109109
[BF_HOOK_NF_LOCAL_IN] = BF_BPF_PROG_TYPE_NETFILTER,
110-
[BF_HOOK_CGROUP_INGRESS] = BF_BPF_PROG_TYPE_CGROUP_SKB,
111-
[BF_HOOK_CGROUP_EGRESS] = BF_BPF_PROG_TYPE_CGROUP_SKB,
110+
[BF_HOOK_CGROUP_SKB_INGRESS] = BF_BPF_PROG_TYPE_CGROUP_SKB,
111+
[BF_HOOK_CGROUP_SKB_EGRESS] = BF_BPF_PROG_TYPE_CGROUP_SKB,
112112
[BF_HOOK_NF_FORWARD] = BF_BPF_PROG_TYPE_NETFILTER,
113113
[BF_HOOK_NF_LOCAL_OUT] = BF_BPF_PROG_TYPE_NETFILTER,
114114
[BF_HOOK_NF_POST_ROUTING] = BF_BPF_PROG_TYPE_NETFILTER,
@@ -359,7 +359,7 @@ static struct bf_hookopts_ops
359359
.dump = _bf_hookopts_ifindex_dump},
360360
[BF_HOOKOPTS_CGPATH] = {.name = "cgpath",
361361
.type = BF_HOOKOPTS_CGPATH,
362-
.required_by = BF_FLAGS(BF_FLAVOR_CGROUP),
362+
.required_by = BF_FLAGS(BF_FLAVOR_CGROUP_SKB),
363363
.supported_by = 0,
364364
.parse = _bf_hookopts_cgpath_parse,
365365
.dump = _bf_hookopts_cgpath_dump},

0 commit comments

Comments
 (0)