eBPF의 기능적 한계는 무엇입니까?

eBPF의 기능적 한계는 무엇입니까?

내가 아는 한 이는 주로 관찰 가능성(예: 읽기 전용)에 사용됩니다.
패킷을 라우팅할 수는 있지만 더 할 수 있는 일이 있나요?
파일 시스템을 조작하고, 신호를 보내고, eBPF 프로그램에서 쓸 수도 있나요?

답변1

eBPF의 기능적 한계는 무엇입니까?

이것은 매우 광범위한 질문입니다. :-) eBPF가 무엇을 할 수 있는지 이해하려면 공식 웹사이트를 확인하세요.https://ebpf.io.

파일 시스템과 상호 작용하는 것(아래 참조) 외에 eBPF 프로그램이 현재 무엇을 할 수 없는지 상상하기 어렵습니다.

파일 시스템을 조작하고, 신호를 보내고, eBPF 프로그램에서 쓸 수도 있나요?

운영 파일 시스템:sysctls 외에도(참조bpf_sysctl_set_new_value BPF 어시스턴트), 지금은 BPF 프로그램에서 파일에 쓸 수 있다고 생각하지 않습니다. 이는 주로 그러한 사용 사례가 아직 등장하지 않았기 때문이라고 생각합니다.

신호 보내기:다음을 사용하여 신호를 보낼 수 있습니다.bpf_send_signal BPF 어시스턴트.

답변2

eBPF는 원하는 커널을 호출하도록 설계되지 않았습니다. 그들은 ebpf 프로그램에 노출된 커널의 기능인 "bpf 도우미" 기능을 만들었습니다. 여기에서 목록을 볼 수 있습니다.

https://github.com/torvalds/linux/blob/master/include/uapi/linux/bpf.h#L1538

관련 정보