From c4f31ccca174ff617a594b49ef255354e979b72d Mon Sep 17 00:00:00 2001 From: Vladimir Homutov Date: Fri, 25 Dec 2020 15:01:15 +0300 Subject: QUIC: ngx_quic_bpf module. The quic kernel bpf helper inspects packet payload for DCID, extracts key and routes the packet into socket matching the key. Due to reuseport feature, each worker owns a personal socket, which is identified by the same key, used to create DCID. BPF objects are locked in RAM and are subject to RLIMIT_MEMLOCK. The "ulimit -l" command may be used to setup proper limits, if maps cannot be created with EPERM or updated with ETOOLONG. --- auto/modules | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'auto/modules') diff --git a/auto/modules b/auto/modules index 299e245ef..b3a697e71 100644 --- a/auto/modules +++ b/auto/modules @@ -1345,6 +1345,22 @@ if [ $USE_OPENSSL$USE_OPENSSL_QUIC = YESYES ]; then ngx_module_order= . auto/module + + if [ $NGX_QUIC_BPF$BPF_FOUND$SO_COOKIE_FOUND = YESYESYES ]; then + ngx_module_type=CORE + ngx_module_name=ngx_quic_bpf_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs="src/event/quic/ngx_event_quic_bpf.c \ + src/event/quic/ngx_event_quic_bpf_code.c" + ngx_module_libs= + ngx_module_link=YES + ngx_module_order= + + . auto/module + + have=NGX_QUIC_BPF . auto/have + fi fi -- cgit