source: lib/Makefile.am @ c7e547e

cachetimestampsdevelopdpdk-ndagetsiliverc-4.0.3rc-4.0.4ringdecrementfixringperformance
Last change on this file since c7e547e was c7e547e, checked in by Shane Alcock <salcock@…>, 4 years ago

Added a dpdkndag format for faster ndag reading

Instead of joining a multicast group and receiving nDAG packets
via the networking stack, this new format uses DPDK to sniff
the multicast direct from the wire. This should save some effort
shuffling the packets back through the kernel's networking stack.

  • Property mode set to 100644
File size: 3.3 KB
RevLine 
[d8960164]1lib_LTLIBRARIES = libtrace.la
[cff1819]2include_HEADERS = libtrace.h libtrace_parallel.h
3pkginclude_HEADERS = dagformat.h lt_inttypes.h daglegacy.h \
4        rt_protocol.h erftypes.h \
[0f6bc3f]5        data-struct/ring_buffer.h data-struct/object_cache.h \
[c9ce7ab]6        data-struct/vector.h \
[0f6bc3f]7        data-struct/deque.h data-struct/linked_list.h \
[9d29d1e]8        data-struct/buckets.h data-struct/sliding_window.h \
[4db5b98]9        data-struct/message_queue.h hash_toeplitz.h
[df6ae1f]10
[e3a639a]11AM_CFLAGS=@LIBCFLAGS@ @CFLAG_VISIBILITY@ -pthread
12AM_CXXFLAGS=@LIBCXXFLAGS@ @CFLAG_VISIBILITY@ -pthread
[f1ab057]13
[3b8a5ef]14extra_DIST = format_template.c
[6cf3ca0]15NATIVEFORMATS=format_linux_common.c format_linux_ring.c format_linux_int.c format_linux_common.h
[755e794]16BPFFORMATS=format_bpf.c
17
[5e85c23]18if HAVE_DAG
19if DAG2_4
20DAGSOURCE=format_dag24.c
21else
22DAGSOURCE=format_dag25.c
23endif
24else
25DAGSOURCE=
26endif
[e5dedd5]27EXTRA_DIST=format_dag24.c format_dag25.c dpdk_libtrace.mk
[5e85c23]28
[d48008d]29if HAVE_LLVM
[3fc3267]30BPFJITSOURCE=bpf-jit/bpf-jit.cc
[d48008d]31else
32BPFJITSOURCE=
33endif
34
[c04929c]35if HAVE_DPDK
[c7e547e]36NATIVEFORMATS+= format_dpdk.c format_dpdkndag.c
[c04929c]37# So we also make libtrace.mk in dpdk otherwise automake tries to expand
[771ab22]38# it too early which I cannot seem to stop unless we use a path that
[c04929c]39# doesn't exist currently
40export RTE_SDK=@RTE_SDK@
41export RTE_TARGET=@RTE_TARGET@
[354e54a]42export SAVED_CFLAGS:=$(CFLAGS)
43export SAVED_CXXFLAGS:=$(CXXFLAGS)
[c04929c]44include $(RTE_SDK)/mk/rte.vars.mk
45# We need to add -Wl before the linker otherwise this breaks our build
[2138553]46# And include any libraries that DPDK might depend upon
47export DPDK_LIBTRACE_MK=dpdk_libtrace.mk
48include $(DPDK_LIBTRACE_MK)
[354e54a]49export CFLAGS += $(SAVED_CFLAGS)
50export CXXFLAGS += $(SAVED_CXXFLAGS)
[c04929c]51endif
[d48008d]52
[29bbef0]53libtrace_la_SOURCES = trace.c trace_parallel.c common.h \
[a5908d2]54                format_erf.c format_pcap.c format_legacy.c \
[8bf0517]55                format_rt.c format_helper.c format_helper.h format_pcapfile.c \
[e01a738]56                format_duck.c format_tsh.c $(NATIVEFORMATS) $(BPFFORMATS) \
[ed5b2ce]57                format_atmhdr.c format_pcapng.c \
[8b49230]58                libtrace_int.h lt_inttypes.h lt_bswap.h \
59                linktypes.c link_wireless.c byteswap.c \
[c909fad]60                checksum.c checksum.h \
[a81d2fc]61                protocols_pktmeta.c protocols_l2.c protocols_l3.c \
[8753bb8]62                protocols_transport.c protocols.h protocols_ospf.c \
[3fc3267]63                protocols_application.c \
[ea75ec2]64                $(DAGSOURCE) format_erf.h format_ndag.c format_ndag.h \
[d48008d]65                $(BPFJITSOURCE) \
[29bbef0]66                libtrace_arphrd.h \
[cb39d35]67                data-struct/ring_buffer.c data-struct/vector.c \
68                data-struct/message_queue.c data-struct/deque.c \
69                data-struct/sliding_window.c data-struct/object_cache.c \
70                data-struct/linked_list.c hash_toeplitz.c combiner_ordered.c \
[e63d80d]71                data-struct/buckets.c \
[c63bcdf]72                combiner_sorted.c combiner_unordered.c \
73                pthread_spinlock.c pthread_spinlock.h
[8bf0517]74
[df6ae1f]75if DAG2_4
[f6879f3]76nodist_libtrace_la_SOURCES = dagopts.c dagapi.c
[df6ae1f]77endif
78
[3a333e2]79AM_CPPFLAGS= @ADD_INCLS@
[2138553]80libtrace_la_LIBADD = @LIBTRACE_LIBS@ @LTLIBOBJS@ $(DPDKLIBS)
[e5f1431]81libtrace_la_LDFLAGS=-version-info @LIBTRACE_MAJOR@:@LIBTRACE_MINOR@:@LIBTRACE_MID@ @ADD_LDFLAGS@
[9daf398]82dagapi.c:
83        cp @DAG_TOOLS_DIR@/dagapi.c .
[df6ae1f]84
[9daf398]85dagopts.c:
86        cp @DAG_TOOLS_DIR@/dagopts.c .
[d48008d]87
88if HAVE_LLVM
89# Rules to build the llvm .cc file from a C description of each opcode.
90bpf-jit/bpf-opcodes.llvm.bc: bpf-jit/bpf-opcodes.c
[7b29593]91        $(LLVM_GCC) -std=c99 -c -O0 -emit-llvm $< -o $@
[d48008d]92
93bpf-jit/bpf-opcodes.llvm.cc: bpf-jit/bpf-opcodes.llvm.bc
[270fb67]94        `$(LLVM_CONFIG) --bindir`/llc -march=cpp -cppgen=module $< -o $@
[d48008d]95
96bpf-jit/bpf-jit.cc: bpf-jit/bpf-opcodes.llvm.cc
97
98EXTRA_DIST+=bpf-jit/bpf-opcodes.c
99BUILT_SOURCES=bpf-jit/bpf-opcodes.llvm.cc
100endif
101CLEANFILES=bpf-jit/bpf-opcodes.llvm.cc bpf-jit/bpf-opcodes.llvm.bc
Note: See TracBrowser for help on using the repository browser.