Merge remote-tracking branch 'ms/frr' into next

This commit is contained in:
Michael Tremer
2018-10-31 09:31:38 +00:00
10 changed files with 523 additions and 0 deletions

View File

@@ -0,0 +1 @@
/etc/frr

View File

@@ -0,0 +1,21 @@
#usr/include/json-c
#usr/include/json-c/arraylist.h
#usr/include/json-c/bits.h
#usr/include/json-c/debug.h
#usr/include/json-c/json.h
#usr/include/json-c/json_c_version.h
#usr/include/json-c/json_config.h
#usr/include/json-c/json_inttypes.h
#usr/include/json-c/json_object.h
#usr/include/json-c/json_object_iterator.h
#usr/include/json-c/json_pointer.h
#usr/include/json-c/json_tokener.h
#usr/include/json-c/json_util.h
#usr/include/json-c/json_visit.h
#usr/include/json-c/linkhash.h
#usr/include/json-c/printbuf.h
#usr/lib/libjson-c.la
#usr/lib/libjson-c.so
usr/lib/libjson-c.so.4
usr/lib/libjson-c.so.4.0.0
#usr/lib/pkgconfig/json-c.pc

View File

@@ -0,0 +1,129 @@
#etc/frr
etc/frr/bgpd.conf.sample
etc/frr/bgpd.conf.sample2
etc/frr/bgpd.conf.vnc.sample
etc/frr/ospfd.conf.sample
etc/frr/ripngd.conf.sample
etc/frr/staticd.conf.sample
etc/frr/vtysh.conf.sample
etc/frr/zebra.conf.sample
etc/rc.d/init.d/frr
usr/bin/bgp_btoa
usr/bin/vtysh
#usr/include/frr
#usr/include/frr/bfd.h
#usr/include/frr/bitfield.h
#usr/include/frr/buffer.h
#usr/include/frr/checksum.h
#usr/include/frr/command.h
#usr/include/frr/command_graph.h
#usr/include/frr/command_match.h
#usr/include/frr/compiler.h
#usr/include/frr/csv.h
#usr/include/frr/debug.h
#usr/include/frr/distribute.h
#usr/include/frr/eigrpd
#usr/include/frr/eigrpd/eigrp_dump.h
#usr/include/frr/eigrpd/eigrp_topology.h
#usr/include/frr/eigrpd/eigrpd.h
#usr/include/frr/event_counter.h
#usr/include/frr/ferr.h
#usr/include/frr/fifo.h
#usr/include/frr/filter.h
#usr/include/frr/freebsd-queue.h
#usr/include/frr/frr_pthread.h
#usr/include/frr/frratomic.h
#usr/include/frr/frrstr.h
#usr/include/frr/getopt.h
#usr/include/frr/graph.h
#usr/include/frr/hash.h
#usr/include/frr/hook.h
#usr/include/frr/if.h
#usr/include/frr/if_rmap.h
#usr/include/frr/imsg.h
#usr/include/frr/ipaddr.h
#usr/include/frr/jhash.h
#usr/include/frr/json.h
#usr/include/frr/keychain.h
#usr/include/frr/lib_errors.h
#usr/include/frr/libfrr.h
#usr/include/frr/libospf.h
#usr/include/frr/linklist.h
#usr/include/frr/log.h
#usr/include/frr/logicalrouter.h
#usr/include/frr/md5.h
#usr/include/frr/memory.h
#usr/include/frr/memory_vty.h
#usr/include/frr/module.h
#usr/include/frr/monotime.h
#usr/include/frr/mpls.h
#usr/include/frr/network.h
#usr/include/frr/nexthop.h
#usr/include/frr/nexthop_group.h
#usr/include/frr/ns.h
#usr/include/frr/openbsd-queue.h
#usr/include/frr/openbsd-tree.h
#usr/include/frr/ospfd
#usr/include/frr/ospfd/ospf_api.h
#usr/include/frr/ospfd/ospf_asbr.h
#usr/include/frr/ospfd/ospf_dump.h
#usr/include/frr/ospfd/ospf_dump_api.h
#usr/include/frr/ospfd/ospf_ism.h
#usr/include/frr/ospfd/ospf_lsa.h
#usr/include/frr/ospfd/ospf_lsdb.h
#usr/include/frr/ospfd/ospf_nsm.h
#usr/include/frr/ospfd/ospf_opaque.h
#usr/include/frr/ospfd/ospfd.h
#usr/include/frr/pbr.h
#usr/include/frr/plist.h
#usr/include/frr/pqueue.h
#usr/include/frr/prefix.h
#usr/include/frr/privs.h
#usr/include/frr/ptm_lib.h
#usr/include/frr/pw.h
#usr/include/frr/qobj.h
#usr/include/frr/queue.h
#usr/include/frr/ringbuf.h
#usr/include/frr/route_types.h
#usr/include/frr/routemap.h
#usr/include/frr/sbuf.h
#usr/include/frr/sha256.h
#usr/include/frr/sigevent.h
#usr/include/frr/skiplist.h
#usr/include/frr/sockopt.h
#usr/include/frr/sockunion.h
#usr/include/frr/spf_backoff.h
#usr/include/frr/srcdest_table.h
#usr/include/frr/stream.h
#usr/include/frr/systemd.h
#usr/include/frr/table.h
#usr/include/frr/termtable.h
#usr/include/frr/thread.h
#usr/include/frr/vector.h
#usr/include/frr/version.h
#usr/include/frr/vlan.h
#usr/include/frr/vrf.h
#usr/include/frr/vrf_int.h
#usr/include/frr/vty.h
#usr/include/frr/vxlan.h
#usr/include/frr/wheel.h
#usr/include/frr/workqueue.h
#usr/include/frr/zassert.h
#usr/include/frr/zclient.h
#usr/include/frr/zebra.h
#usr/lib/libfrr.a
#usr/lib/libfrr.la
#usr/lib/libfrr.so
usr/lib/libfrr.so.0
usr/lib/libfrr.so.0.0.0
usr/sbin/bgpd
usr/sbin/frr
usr/sbin/frr-reload
usr/sbin/frr-reload.py
usr/sbin/ospfd
usr/sbin/rfptest
usr/sbin/ssd
usr/sbin/staticd
usr/sbin/watchfrr
usr/sbin/zebra
var/ipfire/backup/addons/includes/frr

114
lfs/frr Normal file
View File

@@ -0,0 +1,114 @@
###############################################################################
# #
# 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 = 6.0
THISAPP = frr-$(VER)
DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = frr
PAK_VER = 1
DEPS = ""
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = d725c08e0093f58e5fcac0969c781813
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist:
@$(PAK)
###############################################################################
# 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) && ./configure \
--prefix=/usr \
--sysconfdir=/etc/frr \
--localstatedir=/var/run/frr \
--enable-user="frr" \
--enable-group="frr" \
--enable-vty-group="frrvty" \
--enable-multipath=64 \
--disable-doc \
--disable-babeld \
--disable-bfdd \
--disable-eigrpd \
--disable-irdp \
--disable-isisd \
--disable-ldpd \
--disable-nhrpd \
--disable-ospf6d \
--disable-ospfapi \
--disable-pbrd \
--disable-pimd \
--disable-ripd \
--disable-ripngd
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
# Install backup include
install -v -m 644 $(DIR_SRC)/config/backup/includes/frr \
/var/ipfire/backup/addons/includes/frr
# Install initscript
$(call INSTALL_INITSCRIPT,frr)
@rm -rf $(DIR_APP)
@$(POSTBUILD)

80
lfs/json-c Normal file
View File

@@ -0,0 +1,80 @@
###############################################################################
# #
# 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 = 0.13.1
THISAPP = json-c-$(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)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 04969ad59cc37bddd83741a08b98f350
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist:
@$(PAK)
###############################################################################
# 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) && ./configure --prefix=/usr --disable-static
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
@$(POSTBUILD)

View File

@@ -1176,6 +1176,7 @@ buildipfire() {
lfsmake2 libgcrypt
lfsmake2 libassuan
lfsmake2 nettle
lfsmake2 json-c
lfsmake2 libevent
lfsmake2 libevent2
lfsmake2 expat
@@ -1556,6 +1557,7 @@ buildipfire() {
lfsmake2 lua
lfsmake2 dnsdist
lfsmake2 bird
lfsmake2 frr
lfsmake2 dmidecode
lfsmake2 mcelog
lfsmake2 rtpproxy

63
src/initscripts/packages/frr Executable file
View File

@@ -0,0 +1,63 @@
#!/bin/sh
########################################################################
# Begin $rc_base/init.d/frr
#
# Description : FRRouting Suite
#
########################################################################
. /etc/sysconfig/rc
. ${rc_functions}
DAEMONS="zebra bgpd ospfd staticd"
case "${1}" in
start)
# Fix permissions of configuration directory
if [ -d "/etc/frr" ]; then
chown root.frr /etc/frr
chmod 775 /etc/frr
fi
for daemon in ${DAEMONS}; do
if [ -f "/etc/frr/${daemon}.conf" ]; then
# Set permissions
chown frr.frr "/etc/frr/${daemon}.conf"
boot_mesg "Starting FRRouting ${daemon}..."
loadproc "/usr/sbin/${daemon}" --daemon
fi
done
;;
stop)
for daemon in ${DAEMONS}; do
boot_mesg "Stopping FRRouting ${daemon}..."
killproc "/usr/sbin/${daemon}"
done
;;
reload)
boot_mesg "Reloading FRRouting..."
reloadproc /usr/sbin/frr-reload
;;
restart)
${0} stop
sleep 1
${0} start
;;
status)
for daemon in ${DAEMONS}; do
statusproc "/usr/sbin/${daemon}"
done
;;
*)
echo "Usage: ${0} {start|stop|reload|restart|status}"
exit 1
;;
esac
# End $rc_base/init.d/frr

52
src/paks/frr/install.sh Normal file
View File

@@ -0,0 +1,52 @@
#!/bin/bash
############################################################################
# #
# This file is part of the IPFire Firewall. #
# #
# IPFire 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 2 of the License, or #
# (at your option) any later version. #
# #
# IPFire 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 IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
# Copyright (C) 2007 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
. /opt/pakfire/lib/functions.sh
if ! getent group frr &>/dev/null; then
groupadd -r frr
fi
if ! getent group frrvty &>/dev/null; then
groupadd -r frrvty
fi
if ! getent passwd frr &>/dev/null; then
useradd -r frr -g frr -s /bin/false -b /var/empty -G frrvty
fi
# Extract files
extract_files
# Restore any backups
restore_backup "${NAME}"
# Start services
start_service "${NAME}"
# Enable autostart
ln -svf ../init.d/frr /etc/rc.d/rc0.d/K40frr
ln -svf ../init.d/frr /etc/rc.d/rc3.d/S50frr
ln -svf ../init.d/frr /etc/rc.d/rc6.d/K40frr
exit 0

35
src/paks/frr/uninstall.sh Normal file
View File

@@ -0,0 +1,35 @@
#!/bin/bash
############################################################################
# #
# This file is part of the IPFire Firewall. #
# #
# IPFire 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 2 of the License, or #
# (at your option) any later version. #
# #
# IPFire 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 IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
# Copyright (C) 2007 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
. /opt/pakfire/lib/functions.sh
# Stop services
stop_service "${NAME}"
# Create backup
extract_backup_includes
make_backup "${NAME}"
# Remove all files
rm -rfv /etc/rc.d/rc*.d/*frr
remove_files

26
src/paks/frr/update.sh Normal file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
############################################################################
# #
# This file is part of the IPFire Firewall. #
# #
# IPFire 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 2 of the License, or #
# (at your option) any later version. #
# #
# IPFire 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 IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
# Copyright (C) 2007 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
. /opt/pakfire/lib/functions.sh
./uninstall.sh
./install.sh