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@…>, 3 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
Line 
1lib_LTLIBRARIES = libtrace.la
2include_HEADERS = libtrace.h libtrace_parallel.h
3pkginclude_HEADERS = dagformat.h lt_inttypes.h daglegacy.h \
4        rt_protocol.h erftypes.h \
5        data-struct/ring_buffer.h data-struct/object_cache.h \
6        data-struct/vector.h \
7        data-struct/deque.h data-struct/linked_list.h \
8        data-struct/buckets.h data-struct/sliding_window.h \
9        data-struct/message_queue.h hash_toeplitz.h
10
11AM_CFLAGS=@LIBCFLAGS@ @CFLAG_VISIBILITY@ -pthread
12AM_CXXFLAGS=@LIBCXXFLAGS@ @CFLAG_VISIBILITY@ -pthread
13
14extra_DIST = format_template.c
15NATIVEFORMATS=format_linux_common.c format_linux_ring.c format_linux_int.c format_linux_common.h
16BPFFORMATS=format_bpf.c
17
18if HAVE_DAG
19if DAG2_4
20DAGSOURCE=format_dag24.c
21else
22DAGSOURCE=format_dag25.c
23endif
24else
25DAGSOURCE=
26endif
27EXTRA_DIST=format_dag24.c format_dag25.c dpdk_libtrace.mk
28
29if HAVE_LLVM
30BPFJITSOURCE=bpf-jit/bpf-jit.cc
31else
32BPFJITSOURCE=
33endif
34
35if HAVE_DPDK
36NATIVEFORMATS+= format_dpdk.c format_dpdkndag.c
37# So we also make libtrace.mk in dpdk otherwise automake tries to expand
38# it too early which I cannot seem to stop unless we use a path that
39# doesn't exist currently
40export RTE_SDK=@RTE_SDK@
41export RTE_TARGET=@RTE_TARGET@
42export SAVED_CFLAGS:=$(CFLAGS)
43export SAVED_CXXFLAGS:=$(CXXFLAGS)
44include $(RTE_SDK)/mk/rte.vars.mk
45# We need to add -Wl before the linker otherwise this breaks our build
46# And include any libraries that DPDK might depend upon
47export DPDK_LIBTRACE_MK=dpdk_libtrace.mk
48include $(DPDK_LIBTRACE_MK)
49export CFLAGS += $(SAVED_CFLAGS)
50export CXXFLAGS += $(SAVED_CXXFLAGS)
51endif
52
53libtrace_la_SOURCES = trace.c trace_parallel.c common.h \
54                format_erf.c format_pcap.c format_legacy.c \
55                format_rt.c format_helper.c format_helper.h format_pcapfile.c \
56                format_duck.c format_tsh.c $(NATIVEFORMATS) $(BPFFORMATS) \
57                format_atmhdr.c format_pcapng.c \
58                libtrace_int.h lt_inttypes.h lt_bswap.h \
59                linktypes.c link_wireless.c byteswap.c \
60                checksum.c checksum.h \
61                protocols_pktmeta.c protocols_l2.c protocols_l3.c \
62                protocols_transport.c protocols.h protocols_ospf.c \
63                protocols_application.c \
64                $(DAGSOURCE) format_erf.h format_ndag.c format_ndag.h \
65                $(BPFJITSOURCE) \
66                libtrace_arphrd.h \
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 \
71                data-struct/buckets.c \
72                combiner_sorted.c combiner_unordered.c \
73                pthread_spinlock.c pthread_spinlock.h
74
75if DAG2_4
76nodist_libtrace_la_SOURCES = dagopts.c dagapi.c
77endif
78
79AM_CPPFLAGS= @ADD_INCLS@
80libtrace_la_LIBADD = @LIBTRACE_LIBS@ @LTLIBOBJS@ $(DPDKLIBS)
81libtrace_la_LDFLAGS=-version-info @LIBTRACE_MAJOR@:@LIBTRACE_MINOR@:@LIBTRACE_MID@ @ADD_LDFLAGS@
82dagapi.c:
83        cp @DAG_TOOLS_DIR@/dagapi.c .
84
85dagopts.c:
86        cp @DAG_TOOLS_DIR@/dagopts.c .
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
91        $(LLVM_GCC) -std=c99 -c -O0 -emit-llvm $< -o $@
92
93bpf-jit/bpf-opcodes.llvm.cc: bpf-jit/bpf-opcodes.llvm.bc
94        `$(LLVM_CONFIG) --bindir`/llc -march=cpp -cppgen=module $< -o $@
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.