mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
We are using CPU-affinity and packet steering functions in various places in IPFire, but packets might still be received on a random CPU core. This feature enables that packets that belong to the same connection (i.e. have the save tuple) will be steered to the same queue. This will increase cache locality and decrease locking which results in higher throughput. https://www.kernel.org/doc/Documentation/networking/scaling.txt Signed-off-by: Michael Tremer <michael.tremer@ipfire.org> Acked-by: Peter Müller <peter.mueller@ipfire.org> Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
143 lines
5.0 KiB
Plaintext
143 lines
5.0 KiB
Plaintext
###############################################################################
|
|
# #
|
|
# IPFire.org - A linux based firewall #
|
|
# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
|
|
# #
|
|
# This program is free software: you can redistribute it and/or modify #
|
|
# it under the terms of the GNU General Public License as published by #
|
|
# the Free Software Foundation, either version 3 of the License, or #
|
|
# (at your option) any later version. #
|
|
# #
|
|
# This program is distributed in the hope that it will be useful, #
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
|
# GNU General Public License for more details. #
|
|
# #
|
|
# You should have received a copy of the GNU General Public License #
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
|
|
# #
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
# Definitions
|
|
###############################################################################
|
|
|
|
include Config
|
|
|
|
VER = 3.2.6
|
|
RULES_VER = 20171102
|
|
|
|
THISAPP = eudev-$(VER)
|
|
DL_FILE = $(THISAPP).tar.gz
|
|
DL_FROM = $(URL_IPFIRE)
|
|
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
|
TARGET = $(DIR_INFO)/$(THISAPP)
|
|
|
|
###############################################################################
|
|
# Top-level Rules
|
|
###############################################################################
|
|
|
|
objects = $(DL_FILE) udev-lfs-$(RULES_VER).tar.bz2
|
|
|
|
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
|
udev-lfs-$(RULES_VER).tar.bz2 = $(DL_FROM)/udev-lfs-$(RULES_VER).tar.bz2
|
|
|
|
$(DL_FILE)_MD5 = 902c4cdc9235838067cc69978a780e72
|
|
udev-lfs-$(RULES_VER).tar.bz2_MD5 = d92afb0c6e8e616792068ee4737b0d24
|
|
|
|
install : $(TARGET)
|
|
|
|
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
|
|
|
|
download :$(patsubst %,$(DIR_DL)/%,$(objects))
|
|
|
|
md5 : $(subst %,%_MD5,$(objects))
|
|
|
|
###############################################################################
|
|
# Downloading, checking, md5sum
|
|
###############################################################################
|
|
|
|
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
|
|
@$(CHECK)
|
|
|
|
$(patsubst %,$(DIR_DL)/%,$(objects)) :
|
|
@$(LOAD)
|
|
|
|
$(subst %,%_MD5,$(objects)) :
|
|
@$(MD5)
|
|
|
|
###############################################################################
|
|
# Installation Details
|
|
###############################################################################
|
|
|
|
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
|
@$(PREBUILD)
|
|
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
|
|
cd $(DIR_APP) && tar axf $(DIR_DL)/udev-lfs-$(RULES_VER).tar.bz2
|
|
|
|
cd $(DIR_APP) && ./configure \
|
|
--prefix=/usr \
|
|
--bindir=/bin \
|
|
--sbindir=/sbin \
|
|
--sysconfdir=/etc \
|
|
--libdir=/usr/lib \
|
|
--libexecdir=/lib \
|
|
--with-rootprefix= \
|
|
--with-rootlibdir=/lib \
|
|
--enable-manpages \
|
|
--disable-static
|
|
|
|
cd $(DIR_APP) && make $(MAKETUNING)
|
|
cd $(DIR_APP) && make install
|
|
|
|
# Generate hardware database
|
|
udevadm hwdb --update
|
|
|
|
# Install rules
|
|
cd $(DIR_APP) && make -f udev-lfs-$(RULES_VER)/Makefile.lfs install
|
|
|
|
# Disable net generator rule. This does not work with the setup.
|
|
rm -f /lib/udev/rules.d/75-persistent-net-generator.rules
|
|
rm -f /lib/udev/rules.d/80-net-name-slot.rules
|
|
|
|
# Blacklist some modules
|
|
cp -vf $(DIR_SRC)/config/udev/blacklist.conf \
|
|
/etc/modprobe.d/blacklist.conf
|
|
|
|
# Install config file
|
|
install -v -m 644 $(DIR_SRC)/config/udev/udev.conf \
|
|
/etc/udev/
|
|
|
|
# Install alsa rules.
|
|
install -v -m 644 $(DIR_SRC)/config/udev/25-alsa.rules \
|
|
/lib/udev/rules.d
|
|
|
|
# Install network rules.
|
|
install -v -m 755 $(DIR_SRC)/config/udev/network-hotplug-rename \
|
|
/lib/udev/network-hotplug-rename
|
|
install -v -m 755 $(DIR_SRC)/config/udev/network-hotplug-vlan \
|
|
/lib/udev/network-hotplug-vlan
|
|
install -v -m 755 $(DIR_SRC)/config/udev/network-hotplug-bridges \
|
|
/lib/udev/network-hotplug-bridges
|
|
install -v -m 644 $(DIR_SRC)/config/udev/60-net.rules \
|
|
/lib/udev/rules.d
|
|
|
|
# Install hwrng rules.
|
|
install -v -m 644 $(DIR_SRC)/config/udev/90-hwrng.rules \
|
|
/lib/udev/rules.d
|
|
|
|
# Install codel rules.
|
|
install -v -m 644 $(DIR_SRC)/config/udev/99-codel.rules \
|
|
/lib/udev/rules.d
|
|
install -m 755 $(DIR_SRC)/config/udev/enable_codel \
|
|
/lib/udev/enable_codel
|
|
|
|
# Install offloading rules
|
|
install -v -m 644 $(DIR_SRC)/config/udev/99-offloading.rules \
|
|
/lib/udev/rules.d
|
|
install -m 755 $(DIR_SRC)/config/udev/network-offloading \
|
|
/lib/udev/network-offloading
|
|
|
|
@rm -rf $(DIR_APP)
|
|
@$(POSTBUILD)
|