mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
loxilb: add loxilb load balancer addon
build loxilb in BPFire requires golang 1.22.0, but then had issue [0], run go mod vendor to prepare the loxilb to download golang dependencies package beforehand to avoid issue [0] loxilb-ebpf build also requires gnu/stubs-32.h use [1] as workaround [0]: https://github.com/vincentmli/BPFire/issues/18 [1]: https://github.com/vincentmli/BPFire/issues/16 Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
This commit is contained in:
6
config/rootfiles/common/loxilb
Normal file
6
config/rootfiles/common/loxilb
Normal file
@@ -0,0 +1,6 @@
|
||||
opt/loxilb/llb_ebpf_emain.o
|
||||
opt/loxilb/llb_ebpf_main.o
|
||||
opt/loxilb/llb_kern_sock.o
|
||||
opt/loxilb/llb_xdp_main.o
|
||||
opt/loxilb/loxilb_libdp.o
|
||||
usr/bin/loxilb
|
||||
82
lfs/loxilb
Normal file
82
lfs/loxilb
Normal file
@@ -0,0 +1,82 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> #
|
||||
# Copyright (C) 2024 BPFire
|
||||
# #
|
||||
# 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 = 0.9.4
|
||||
|
||||
THISAPP = loxilb-$(VER)-beta
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
DL_FROM = $(URL_IPFIRE)
|
||||
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)
|
||||
|
||||
###############################################################################
|
||||
# Top-level Rules
|
||||
###############################################################################
|
||||
|
||||
objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_BLAKE2 = ca0f8ac37eeb764ed3eac69e38315661f531e3769433118a0ffd90b4268641871e8b64e099ca0de80998a012f7bfcbb03e22f0ea9563a4013103a1b8ba189f73
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
|
||||
|
||||
download :$(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
|
||||
b2 : $(subst %,%_BLAKE2,$(objects))
|
||||
|
||||
###############################################################################
|
||||
# Downloading, checking, b2sum
|
||||
###############################################################################
|
||||
|
||||
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
|
||||
@$(CHECK)
|
||||
|
||||
$(patsubst %,$(DIR_DL)/%,$(objects)) :
|
||||
@$(LOAD)
|
||||
|
||||
$(subst %,%_BLAKE2,$(objects)) :
|
||||
@$(B2SUM)
|
||||
|
||||
###############################################################################
|
||||
# Installation Details
|
||||
###############################################################################
|
||||
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
|
||||
@rm -rf /opt/loxilb
|
||||
|
||||
cd $(DIR_APP) && mkdir -p /opt/loxilb/dp
|
||||
cd $(DIR_APP) && make
|
||||
cd $(DIR_APP)/loxilb-ebpf/kernel && cp -f *.o /opt/loxilb/
|
||||
cd $(DIR_APP) && cp -f loxilb /usr/bin/loxilb
|
||||
|
||||
@rm -rf $(DIR_APP)
|
||||
@$(POSTBUILD)
|
||||
Reference in New Issue
Block a user