-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
makefile: allow plugins to inject .mk files #840
Conversation
Plugins may require some special software prerequisites, target dependencies, or compiler flags to build their own modules. Since it would be impractical to provide generic mechanisms to meet such plugin-specific requirements without some heavy lifting, this PR instead introduces a hacky way; it enables plugins to implant their extra*.mk files into the main Makefile.
Codecov Report
@@ Coverage Diff @@
## master #840 +/- ##
=======================================
Coverage 55.82% 55.82%
=======================================
Files 9 9
Lines 1150 1150
=======================================
Hits 642 642
Misses 508 508 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I'm assuming gmake handles this the obvious way and/or you've tested it 😺 (presumably this is why we have the earlier default goal setting now!).
commit 4fc4a3a Merge: a74bdc1 d2ac878 Author: Sangjin Han <[email protected]> Date: Tue Aug 28 22:32:15 2018 -0700 Merge pull request NetSys#844 from melvinw/master utils/cuckoo_map_test: add missing imports commit d2ac878 Author: Melvin Walls <[email protected]> Date: Tue Aug 28 21:28:27 2018 -0700 utils/cuckoo_map_test: add missing imports commit a74bdc1 Author: Sangjin Han <[email protected]> Date: Mon Aug 27 10:28:25 2018 -0700 cuckoo_map: allow template argument deduction The forwarding reference `VV&&` cannot be directly deduced from a braced-init-list function parameter. This limitation makes `c.Insert(key, {2, 3, 4});` fail, although it looks completely benign (C++ standard 14.8.2.5 (5.6)). Instead one must specify the type of the value like `c.Insert<std::vector<int>>(key, {2, 3, 4});`. It is unnecessarily verbose since the value type is already known to be `V`, but the compiler does not know about the relationship between `V` and `VV`. This patch replaces the use of forwarding reference `VV&&` with two seperate copy/move references. It does make the code a bit more verbose on the library side, but not on the user side. commit ee7e574 Author: Daniele Di Proietto <[email protected]> Date: Fri Aug 17 13:36:21 2018 -0700 vport: Fix strncpy warning g++-8.2.0 complains about strncpy with the following warning: ``` drivers/vport.cc: In member function ‘CommandResponse VPort::Init(const bess::pb::VPortArg&)’: drivers/vport.cc:508:12: error: ‘char* strncpy(char*, const char*, size_t)’ specified bound 16 equals destination size [-Werror=stringop-truncation] strncpy(ifname_, name().c_str(), IFNAMSIZ); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/vport.cc:506:12: error: ‘char* strncpy(char*, const char*, size_t)’ specified bound 16 equals destination size [-Werror=stringop-truncation] strncpy(ifname_, arg.ifname().c_str(), IFNAMSIZ); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1plus: all warnings being treated as errors Error: drivers/vport.o ``` This was not a problem for arg.ifname(), but could have been a problem for name(). Fix it by: * Checking the length of name() as well (suggested by Chris Torek <[email protected]>) * Put the terminating byte in any case commit 36cdfed Merge: ee98b1b f9b080c Author: Sangjin Han <[email protected]> Date: Thu Aug 23 10:54:50 2018 -0700 Merge pull request NetSys#812 from NetSys/cuckoo_emplace utils/cuckoo_map: add Emplace, move-based Insert commit ee98b1b Merge: fc9f723 218bb0b Author: Shinae <[email protected]> Date: Mon Aug 20 15:15:21 2018 -0700 Merge pull request NetSys#840 from NetSys/include_plugin_mk makefile: allow plugins to inject .mk files commit f9b080c Author: Sangjin Han <[email protected]> Date: Sun Aug 19 22:14:06 2018 -0700 utils: revise unittest for CuckooMap commit 7c32f4b Author: Sangjin Han <[email protected]> Date: Sun Aug 19 22:08:20 2018 -0700 utils: do perfect forwarding for args of Emplace() commit c7273bb Author: Melvin Walls <[email protected]> Date: Wed Aug 15 15:50:45 2018 -0700 utils/cuckoo_map: add Emplace, move-based Insert commit 218bb0b Author: Sangjin Han <[email protected]> Date: Sat Aug 18 14:02:31 2018 -0700 makefile: allow plugins to inject .mk files Plugins may require some special software prerequisites, target dependencies, or compiler flags to build their own modules. Since it would be impractical to provide generic mechanisms to meet such plugin-specific requirements without some heavy lifting, this PR instead introduces a hacky way; it enables plugins to implant their extra*.mk files into the main Makefile. commit fc9f723 Author: Chris Torek <[email protected]> Date: Fri Aug 17 20:57:20 2018 +0000 tests: raise FIFO test default delay On at least some Ubuntu 18.04 systems, the FIFO test sometimes fails when a 20 ms thread-sleep does not allow the parent process to run to the point of having data ready in the test-control socket. Raising the default delay to 100 ms seems reliable (70 ms suffices in my tests). Fixes issue NetSys#836. commit 80bfb94 Merge: 94a849f 4fc0d95 Author: Chris Torek <[email protected]> Date: Thu Aug 16 17:17:27 2018 -0700 Merge pull request NetSys#835 from NetSys/make_default_target makefile: make "all" be the default target commit 4fc0d95 Author: Sangjin Han <[email protected]> Date: Thu Aug 16 16:58:44 2018 -0700 makefile: make "all" be the default target commit 94a849f Merge: cb81dfd 6ee20cb Author: Chris Torek <[email protected]> Date: Thu Aug 16 15:43:17 2018 -0700 Merge pull request NetSys#831 from NetSys/travis_smaller_docker Optimize the size of build container. commit cb81dfd Merge: 8293a9f 4ce2a75 Author: Chris Torek <[email protected]> Date: Thu Aug 16 14:43:55 2018 -0700 Merge pull request NetSys#834 from ddiproietto/build_symlink build.py: Do not delete bess symlink commit 4ce2a75 Author: Daniele Di Proietto <[email protected]> Date: Thu Aug 16 13:21:49 2018 -0700 build.py: Do not delete bess symlink Since commit 8293a9f("build: do not create bessd symlink at compile time"), the symlink is committed to the repo. commit 8293a9f Author: Sangjin Han <[email protected]> Date: Mon Aug 13 16:40:39 2018 -0700 build: do not create bessd symlink at compile time Instead, use the pre-configured symlink (just like bessctl). commit 5f21f3a Author: Sangjin Han <[email protected]> Date: Wed Aug 15 21:48:29 2018 -0700 gitignore: add Ubuntu Retpoline related files commit 9399ffb Author: Sangjin Han <[email protected]> Date: Mon Aug 13 16:16:19 2018 -0700 gitignore: clean up .gitignore files commit 6ee20cb Author: Sangjin Han <[email protected]> Date: Sat Aug 11 23:28:03 2018 -0700 ci: use gcc-7, not g++-7 for gcov binary Just for gcov, g++-7 is an overkill. commit 4295263 Author: Sangjin Han <[email protected]> Date: Sat Aug 11 23:03:25 2018 -0700 env: optimize Docker image commit 5cd1181 Author: Sangjin Han <[email protected]> Date: Sat Aug 11 22:50:31 2018 -0700 env: do not use ppa for compilers on ubuntu 18.04 Both g++-8 and clang-6.0 are available on the default repo, and also much smaller in size. commit a61365c Author: Sangjin Han <[email protected]> Date: Sat Aug 11 22:37:06 2018 -0700 env: install linux-headers only linux-generic includes a bunch of (unnecessary) packages, but we only need header files. commit c35afc9 Author: Sangjin Han <[email protected]> Date: Sat Aug 11 14:55:21 2018 -0700 build: download DPDK with HTTPS, not via git git may not be availale on the environment. commit eb21d00 Merge: 3f1a50c 10e1935 Author: Chris Torek <[email protected]> Date: Tue Aug 14 17:15:29 2018 -0700 Merge pull request NetSys#830 from NetSys/travis_ccache Enable ccache for Travis CI commit 10e1935 Author: Sangjin Han <[email protected]> Date: Fri Aug 10 15:55:07 2018 -0700 travis: enable ccache compression Travis sets the allowance to 512MB, which might not fit the entire codebase. commit fee0969 Author: Sangjin Han <[email protected]> Date: Fri Aug 10 15:12:34 2018 -0700 travis: check if ccache really works? (as if all planned) commit 848ee23 Author: Sangjin Han <[email protected]> Date: Thu Aug 9 12:11:27 2018 -0700 travis: enable ccache commit 3f1a50c Merge: 2877ad6 9d5a89a Author: Shinae <[email protected]> Date: Fri Aug 10 14:13:59 2018 -0700 Merge pull request NetSys#814 from NetSys/use_prebuilt_dpdk travis: Use prebuilt DPDK when building BESS commit 2877ad6 Merge: 480b939 dafb81b Author: Chris Torek <[email protected]> Date: Fri Aug 10 11:17:42 2018 -0700 Merge pull request NetSys#820 from NetSys/packetpool Introduce PacketPool & BESS-managed hugepages commit 480b939 Merge: 60b7eb4 6fa1e87 Author: Sangjin Han <[email protected]> Date: Thu Aug 9 11:32:31 2018 -0700 Merge pull request NetSys#829 from mukerjee/fix-compile-target-nehalem make: correctly compile dpdk for nehalem commit 6fa1e87 Author: Matt Mukerjee <[email protected]> Date: Thu Aug 9 09:55:35 2018 -0700 make: correctly compile dpdk for nehalem While RTE_MACHINE is set to "nhm" (nehalem) in deps/dpdk-17.11_common_linuxapp, it is overridden by deps/dpdk-17.11/config/defconfig_x86_64-native-linuxapp-gcc (as RTE_MACHINE=native). This causes issues if you compile BESS on a machine with a newer microarchitecture than the machine that will run it (e.g., compiling on newer skylake-based machines for a haswell-based machine). This changes comments out RTE_MACHINE=native before configuring DPDK. DPDK is now forced to compile for nehalem. commit dafb81b Author: Sangjin Han <[email protected]> Date: Wed Aug 8 22:17:25 2018 -0700 gatehook: remove ProcessBatch() unittest ProcessBatch() is supposed to be called by worker threads. Unittests running ProcessBatch() are not a worker thread, and hence it often segfaults. The offending testcase doesn't buy us much; it should be fine to remove it. commit edf1b2f Author: Sangjin Han <[email protected]> Date: Wed Aug 8 13:21:26 2018 -0700 add debug message commit dc1151b Author: Sangjin Han <[email protected]> Date: Sat Jul 21 02:39:48 2018 +0000 bessctl: Fix "show system packets" nullptr deref BESS-managed hugepages currently does not support VFIO-based PMD driver. Until the bug is fixed, let's use DPDK for hugepage allocation for now. commit 8386595 Author: Sangjin Han <[email protected]> Date: Sat Jul 21 02:45:32 2018 +0000 packet_pool: Let DPDK manage hugepages by default BESS-managed hugepages currently does not support VFIO-based PMD driver. Until the bug is fixed, let's use DPDK for hugepage allocation for now. commit 2e2a2d3 Author: Sangjin Han <[email protected]> Date: Sat Jul 21 02:29:48 2018 +0000 packet_pool: fix int32 overflow commit 647c8a3 Author: Sangjin Han <[email protected]> Date: Sat Jul 21 02:27:30 2018 +0000 packet_pool: Add more log messages commit 21e3922 Author: Sangjin Han <[email protected]> Date: Wed Jul 18 04:59:50 2018 +0000 mem: reserve 512MB for rte_malloc() ... when running without DPDK hugepages. commit ad12126 Author: Sangjin Han <[email protected]> Date: Wed Jul 18 04:57:07 2018 +0000 mem: add AllocUpto() for best-effort memory alloc commit ac61f58 Author: Sangjin Han <[email protected]> Date: Tue Jul 17 17:43:56 2018 +0000 packet_pool: add -dpdk option which enables DPDK-managed hugepages. By default, BESS manages hugepages, not DPDK. Also if -m 0 is given, no hugepage is used at all. commit c6e6339 Author: Sangjin Han <[email protected]> Date: Tue Jul 17 01:58:01 2018 +0000 mem: code cleanup commit df18d99 Author: Sangjin Han <[email protected]> Date: Mon Jul 16 23:14:43 2018 +0000 mem: Remove unnecessary debug message commit da56daa Author: Sangjin Han <[email protected]> Date: Sun Jul 15 17:25:15 2018 -0700 worker: replace DCHECK with CHECK on control path On performance non-critical path CHECK_*() should be preferred over DCHECK_*(). Also clang is not happy with DCHECK_NOTNULL() with a warning. commit 20edba5 Author: Sangjin Han <[email protected]> Date: Sun Jul 15 17:19:25 2018 -0700 mem: add accessor to socket_id_ ... otherwise clang complaints that the variable is being unused. commit d6cc92c Author: Sangjin Han <[email protected]> Date: Fri Jul 13 23:36:06 2018 -0700 packet_pool: adopt the new PacketPool interface commit 727d1c2 Author: Sangjin Han <[email protected]> Date: Fri Jul 13 21:48:29 2018 -0700 introduce PacketPool PacketPool is a C++ class that abstracts rte_mempool. It supports 3 different memory backends: 1. normal memory (4kB pages) : useful when no hugepage is readily available or strictly necessary, e.g., unit test 2. BESS hugepages (2MB/1GB pages) : implemented on top of System V shared memory, which does not require a hugetlbfs mounted directory. Also, if hugepages are not reserved, it will automatically try to reserve some. DPDK is initialized "--no-huge" option and BESS directly allocates hugepages. This is the default behavior of BESS daemon. 3. DPDK hugepages (2MB/1GB pages) : hugepages are allocated and managed by DPDK. Thus the same configuration (nr_hugepages and hugetlbfs) as other DPDK applications is required. This mode is not default any longer. commit d395add Author: Sangjin Han <[email protected]> Date: Fri Jul 13 17:31:08 2018 -0700 mem: add unit test for memory.h/cc commit f50d17e Author: Sangjin Han <[email protected]> Date: Fri Jul 13 17:15:31 2018 -0700 mem: add low-level routines for hugepages alloc ... to take over hugepage management from DPDK commit 60b7eb4 Merge: 27d5834 91796ca Author: Shinae <[email protected]> Date: Mon Aug 6 13:43:21 2018 -0700 Merge pull request NetSys#827 from NetSys/module_test_noneth module_test: support non-Ethernet packet capture commit 27d5834 Author: Shinae <[email protected]> Date: Mon Aug 6 10:37:34 2018 -0700 Fix bugs for removing gatehook by classname (NetSys#826) Resolves NetSys#825 commit 91796ca Author: Sangjin Han <[email protected]> Date: Mon Aug 6 17:30:51 2018 +0000 module_test: support non-Ethernet packet capture commit bc55bb3 Merge: 9ebc565 7945b52 Author: Sangjin Han <[email protected]> Date: Tue Jul 31 21:41:09 2018 -0700 Merge pull request NetSys#821 from NetSys/multi-gatehook-gate Support multiple gatehooks of the same type installed per gate commit 9ebc565 Author: Sangjin Han <[email protected]> Date: Sun Jul 29 19:00:08 2018 +0000 utils: add IP protocol numbers for IPsec commit 7945b52 Author: Shinae Woo <[email protected]> Date: Mon Jul 30 11:01:34 2018 -0700 Apply clang-format-5.0 commit ca7c145 Author: Shinae Woo <[email protected]> Date: Wed Jul 25 15:52:53 2018 -0700 Fix gate tests commit a9b91b1 Author: Shinae Woo <[email protected]> Date: Wed Jul 25 16:40:36 2018 -0700 Minor fixes per comments commit 9da090f Merge: 7675c3c b456ca5 Author: Chris Torek <[email protected]> Date: Thu Jul 26 12:58:42 2018 -0700 Merge pull request NetSys#822 from NetSys/thread-safe-track Thread-safe track gatehook having per-worker statistics commit b456ca5 Author: Shinae Woo <[email protected]> Date: Wed Jul 25 17:02:47 2018 -0700 Use local variable to accumulate bytes commit 34bee63 Author: Shinae Woo <[email protected]> Date: Tue Jul 24 22:52:28 2018 -0700 Make enable gatehook for all gates in a module as all or nothing commit 6fa1d75 Author: Shinae Woo <[email protected]> Date: Mon Jul 23 06:13:01 2018 -0700 Add interface for finding gate hooks by class name commit 22d987a Author: Shinae Woo <[email protected]> Date: Fri Jul 20 12:42:01 2018 -0700 Remove temporary gatehooks initiated by bessctl commit 602a45a Author: Shinae Woo <[email protected]> Date: Thu Jul 19 18:52:46 2018 -0700 Change Interface to use multiple gate hooks per gate commit 7396d30 Author: Shinae Woo <[email protected]> Date: Thu Jul 19 11:27:37 2018 -0700 Unifiying class naming: Factory -> Builder * Which doesn't nessessarily mean I prefer the latter. ;) Just per pre-aggrement :) commit 7d6ea04 Author: Shinae Woo <[email protected]> Date: Wed Jul 18 16:14:51 2018 -0700 Gatehooks has its own name than classname commit 7675c3c Merge: 5d9f212 65ef767 Author: Shinae <[email protected]> Date: Wed Jul 25 15:48:30 2018 -0700 Merge pull request NetSys#818 from NetSys/http2_goaway pybess: handle temporary HTTP2 disconnection commit 133a2d1 Author: Shinae Woo <[email protected]> Date: Wed Jul 25 14:23:38 2018 -0700 Tread-safe track having per-worker statistics commit 65ef767 Author: Sangjin Han <[email protected]> Date: Sun Jul 15 14:41:42 2018 -0700 pybess: handle temporary HTTP2 disconnection ... during gRPC server launch. commit 5d9f212 Author: Matt Mukerjee <[email protected]> Date: Tue Jul 24 10:41:30 2018 -0700 documentation: pass through for typos in built-in module documentation commit 5bcf118 Merge: 52d08df edeebfe Author: Chris Torek <[email protected]> Date: Thu Jul 19 17:06:43 2018 -0700 Merge pull request NetSys#815 from NetSys/cli_bugs Fix CLI bugs regarding command auto-completion commit 52d08df Merge: 00daad1 2160ed3 Author: Chris Torek <[email protected]> Date: Thu Jul 19 17:02:09 2018 -0700 Merge pull request NetSys#816 from NetSys/gatehook Add/update CLI commands for gatehook commit edeebfe Author: Shinae Woo <[email protected]> Date: Wed Jul 18 13:37:13 2018 -0700 Fix CLI bug: for single token both exact and partial matching work While giving priority of exacting matching to remove ambiguous, still partial matching should be work. commit de1da4e Author: Shinae Woo <[email protected]> Date: Mon Jul 16 14:25:30 2018 -0700 Cleanup code per comment commit 2160ed3 Author: Shinae Woo <[email protected]> Date: Sun Jul 15 18:47:21 2018 -0700 Show active gatehooks in CLI - add command `show gatehook` - add per-gate gatehook info with `show module` commit 2de244f Author: Shinae Woo <[email protected]> Date: Sun Jul 15 01:53:18 2018 -0700 Add BESSCTL CLI for listing gatehook class - show gatehookclass - show gatehookclass GATEHOOKCLASS commit 9a43201 Author: Shinae Woo <[email protected]> Date: Sun Jul 15 02:00:28 2018 -0700 Update temp file patterns in gitignore commit 00daad1 Author: Shinae Woo <[email protected]> Date: Mon Jul 16 14:03:42 2018 -0700 Add cstdlib to correctly locate std::aligned_alloc commit 7b727f2 Merge: 2aab371 57f5a21 Author: Shinae <[email protected]> Date: Mon Jul 16 13:03:11 2018 -0700 Merge pull request NetSys#813 from NetSys/fix_kmod_warnings Fix kernel module warnings commit 2aab371 Merge: 0d9fbaf 8f28255 Author: Shinae <[email protected]> Date: Mon Jul 16 12:39:36 2018 -0700 Merge pull request NetSys#806 from NetSys/fix_clang_format clang-format: Remove Objective-C related options commit 9d5a89a Author: Sangjin Han <[email protected]> Date: Mon Jul 16 01:50:50 2018 +0000 travis: Use prebuilt DPDK when building BESS Now DPDK is built with -march=corei7 (Nehalem), not -march=native. Since the minimum CPU requirement for BESS is also Nehalem, we can safely assume that the compiled DPDK can be used on any (Travis VM) machines if only they can run BESS commit 57f5a21 Author: Sangjin Han <[email protected]> Date: Sun Jul 15 16:14:58 2018 -0700 .gitignore: add a temporary file in core/kmod commit d04f5f9 Author: Shinae Woo <[email protected]> Date: Sun Jul 15 16:08:09 2018 -0700 Fix bug on restore shell prompt after command auto-completion - By flushing fout commit 83e7c60 Author: Shinae Woo <[email protected]> Date: Sun Jul 15 15:54:45 2018 -0700 Remove CLI ambiguity if extact match exist In case of following set of commands \tcommand \tcommand_extends Before, $ command --> returns ambiguity Now, $ command --> running command commit c872e76 Author: Sangjin Han <[email protected]> Date: Sun Jul 15 16:07:45 2018 -0700 kmod: Remove unused variables commit 8f28255 Author: Sangjin Han <[email protected]> Date: Sun Jul 15 15:54:27 2018 -0700 Remove clang-format-5 incompatible options clang-format-5 complaints about these option keys. Interestingly, both clang-format-4 and clang-format-6 do not show such behavior. commit 0d9fbaf Author: Matt Mukerjee <[email protected]> Date: Fri Jul 13 17:07:34 2018 -0700 ansible: removed old ansible script that made bess; fixed deps and links (NetSys#811) commit a92ea20 Merge: 28831ab fd17ad2 Author: Shinae <[email protected]> Date: Wed Jul 11 10:01:22 2018 -0700 Merge pull request NetSys#809 from NetSys/remove_zc_vport vport_zc: remove ZeroCopyVPort commit fd17ad2 Author: Sangjin Han <[email protected]> Date: Sun Jul 8 15:57:49 2018 -0700 vport_zc: remove ZeroCopyVPort ZeroCopyVPort has been provided but never really well tested, documented, or maintained. Given the security concern caused by zero copy, perhaps it is time for ZeroCopyVPort to retire. If you want high-performance packet I/O for user-level applications, you can use PMDPort (with vhost-user in BESS, and virtio-user in client ports) as an alternative. commit 28831ab Merge: 28f3207 94a7c86 Author: Shinae <[email protected]> Date: Tue Jul 10 20:26:58 2018 -0700 Merge pull request NetSys#808 from NetSys/refactor_ansible Rework scripts in the env directory commit 28f3207 Merge: 9c3b7d4 fbbac34 Author: Sangjin Han <[email protected]> Date: Tue Jul 10 20:12:45 2018 -0700 Merge pull request NetSys#810 from NetSys/fix_readme Fix broken link commit fbbac34 Author: Shinae Woo <[email protected]> Date: Tue Jul 10 00:02:56 2018 +0000 Fix broken link commit 9c3b7d4 Merge: 2516e21 ede8205 Author: Sangjin Han <[email protected]> Date: Sat Jul 7 16:57:21 2018 -0700 Merge pull request NetSys#804 from ddiproietto/const_port_conf port: Return const reference from conf() accessor commit 94a7c86 Author: Sangjin Han <[email protected]> Date: Sat Jul 7 16:43:06 2018 -0700 env: add README.md commit aafc6f6 Author: Sangjin Han <[email protected]> Date: Thu Jul 5 01:15:29 2018 -0700 ansible: refactor ansible script - Ubuntu 18.04 does not need grpc to build from source - Break into smaller scripts for specific purposes commit a281fb1 Author: Sangjin Han <[email protected]> Date: Thu Jul 5 01:06:22 2018 -0700 bess_build: make base image a docker arg so that m4 is no longer necessary commit 4bde023 Author: Sangjin Han <[email protected]> Date: Thu Jul 5 00:45:10 2018 -0700 bess_build: Use Ubuntu 18.04 for a build container commit 47094c2 Author: Sangjin Han <[email protected]> Date: Thu Jul 5 00:41:18 2018 -0700 ansible: add comment commit 9674814 Author: Sangjin Han <[email protected]> Date: Thu Jul 5 00:33:56 2018 -0700 vagrant: reduce VM memory down to 4GB commit 745a69c Author: Sangjin Han <[email protected]> Date: Thu Jul 5 00:33:17 2018 -0700 vagrant: update to Ubuntu 18.04 Bionic Beaver commit 37efc1b Author: Sangjin Han <[email protected]> Date: Thu Jul 5 00:24:29 2018 -0700 vagrant: do not install plugins automatically it was too intrusive... commit dcf78c6 Author: Sangjin Han <[email protected]> Date: Thu Jul 5 00:08:29 2018 -0700 dpdk: do not use -march=native for better binary compatibility. Instead use the min requirement of BESS (SSE4.2, nehalem). commit df65614 Author: Sangjin Han <[email protected]> Date: Wed Jul 4 23:20:55 2018 -0700 doc: use pip to install scapy commit 4f87377 Author: Sangjin Han <[email protected]> Date: Mon Jul 2 15:12:05 2018 -0700 WildcardMatch: fix build error on g++-8 commit 5d4f5aa Author: Sangjin Han <[email protected]> Date: Mon Jul 2 14:43:45 2018 -0700 travis: Use scapy-2.4.0 for both Python 2 and 3 scapy-2.4.0 finally supports Python3, so scapy-python3 is no longer necessary. commit e4d1823 Author: Sangjin Han <[email protected]> Date: Mon Jul 2 14:34:54 2018 -0700 travis: Replace Trusty with Xenial commit adc6bd1 Author: Sangjin Han <[email protected]> Date: Mon Jul 2 11:20:54 2018 -0700 travis: Reflect the changes in min requirements commit 8de1894 Author: Sangjin Han <[email protected]> Date: Sat Jun 30 16:49:15 2018 -0700 Makefile: Use -O3, not -Ofast -Ofast enables -ffast-math, which in turn requires libmvec with newer compilers. Its shared library may not exist on some machines (e.g., Travis CI fails). After all, -Ofast does not guarentee program correctness anyway, so it's good to avoid it. commit ea90e6b Author: Sangjin Han <[email protected]> Date: Fri Jun 29 16:45:55 2018 -0700 Make minimum requirement of BESS be g++7 commit 4d2d39f Author: Sangjin Han <[email protected]> Date: Fri Jun 29 16:40:28 2018 -0700 Do not use mem_alloc.h C++17 supports over-alignment new, thus there is no need to have a custom memory allocator. commit 0494444 Author: Sangjin Han <[email protected]> Date: Sat Jun 30 13:45:22 2018 -0700 clang-format: Remove Objective-C related options ... otherwise it causes key errors on some clang versions. commit 3496cd8 Author: Sangjin Han <[email protected]> Date: Thu Jun 28 15:59:08 2018 -0700 Replace custom macro FALLTHROUGH with a native one commit 5994415 Author: Sangjin Han <[email protected]> Date: Thu Jun 28 15:42:51 2018 -0700 Switch from C++14 to C++17 commit 2516e21 Author: Melvin Walls <[email protected]> Date: Tue Jun 19 22:16:47 2018 -0700 pybess: add plugib_pb to path commit ede8205 Author: Daniele Di Proietto <[email protected]> Date: Wed Jun 6 10:25:55 2018 -0700 port: Return const reference from conf() accessor According to Google C++ Style Guide we should return a const reference here instead of making a copy. I fixed this because I noticed that the accessor is used very often in the fastpath ({Port,Queue}{Inc,Out}::RunTask call that once per batch). I haven't noticed any performance impact, I suspect the compiler is smart enough to avoid the copy, but I think it's better to change it.
Plugins may require some special software prerequisites, target dependencies, or compiler flags to build their own modules. Since it would be impractical to provide generic mechanisms to meet such plugin-specific requirements without some heavy lifting, this PR instead introduces a hacky way; it enables plugins to implant their extra*.mk files into the main Makefile.