bpf_skb_cgroup_id 非常适合出口。如何获取 tc ingress ebpf hook 的入口流量的 cgroup id
bpf_skb_cgroup_id works perfectly for egress. How to get the cgroup id for ingress traffic for tc ingress ebpf hook
我在 veth 主机端的 tc 入口和出口中附加了以下程序。我能够为入口(从容器出口)获得正确的 cgroup id,并且反向路径 cgroup id 为空。如何获取入口(veth 主机端)tc hook 的 cgroup id?
SEC("simple")
int handle_ingress(struct __sk_buff *skb)
{
bpf_printk("tc: bpf_skb_cgroup_id:ox%llx", bpf_skb_cgroup_id(skb));
}
该信息在入口处不可用。来自 the BPF helpers documentation:
This helper can be used on TC egress path, but not on ingress, and is available only if the kernel compiled with the CONFIG_SOCK_CGROUP_DATA
configuration option.
我在 veth 主机端的 tc 入口和出口中附加了以下程序。我能够为入口(从容器出口)获得正确的 cgroup id,并且反向路径 cgroup id 为空。如何获取入口(veth 主机端)tc hook 的 cgroup id?
SEC("simple")
int handle_ingress(struct __sk_buff *skb)
{
bpf_printk("tc: bpf_skb_cgroup_id:ox%llx", bpf_skb_cgroup_id(skb));
}
该信息在入口处不可用。来自 the BPF helpers documentation:
This helper can be used on TC egress path, but not on ingress, and is available only if the kernel compiled with the
CONFIG_SOCK_CGROUP_DATA
configuration option.