view src/event/quic/bpf/makefile @ 8676:7df607cb2d11 quic

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.
author Vladimir Homutov <vl@nginx.com>
date Fri, 25 Dec 2020 15:01:15 +0300
parents
children
line wrap: on
line source

CFLAGS=-O2 -Wall

LICENSE=BSD

PROGNAME=ngx_quic_reuseport_helper
RESULT=ngx_event_quic_bpf_code
DEST=../$(RESULT).c

all: $(RESULT)

$(RESULT): $(PROGNAME).o
	LICENSE=$(LICENSE) PROGNAME=$(PROGNAME) bash ./bpfgen.sh $< > $@

DEFS=-DPROGNAME=\"$(PROGNAME)\"                                               \
     -DLICENSE_$(LICENSE)                                                     \
     -DLICENSE=\"$(LICENSE)\"                                                 \

$(PROGNAME).o: $(PROGNAME).c
	clang $(CFLAGS) $(DEFS) -target bpf -c $< -o $@

install: $(RESULT)
	cp $(RESULT) $(DEST)

clean:
	@rm -f $(RESULT) *.o

debug: $(PROGNAME).o
	llvm-objdump -S -no-show-raw-insn $<

.DELETE_ON_ERROR: