summarylogtreecommitdiffstats
path: root/frr_9.0_Archlinux.patch
diff options
context:
space:
mode:
Diffstat (limited to 'frr_9.0_Archlinux.patch')
-rw-r--r--frr_9.0_Archlinux.patch150
1 files changed, 150 insertions, 0 deletions
diff --git a/frr_9.0_Archlinux.patch b/frr_9.0_Archlinux.patch
new file mode 100644
index 000000000000..b567776a5652
--- /dev/null
+++ b/frr_9.0_Archlinux.patch
@@ -0,0 +1,150 @@
+diff -Naupr frr-frr-9.0_orig/lib/table.h frr-frr-9.0/lib/table.h
+--- frr-frr-9.0_orig/lib/table.h 2023-08-04 02:30:29.000000000 +0700
++++ frr-frr-9.0/lib/table.h 2023-08-07 16:36:22.229312970 +0700
+@@ -229,7 +229,7 @@ extern void route_table_iter_cleanup(rou
+ /* Lock node. */
+ static inline struct route_node *route_lock_node(struct route_node *node)
+ {
+- (*(unsigned *)&node->lock)++;
++ node->lock+=1;
+ return node;
+ }
+
+@@ -237,7 +237,7 @@ static inline struct route_node *route_l
+ static inline void route_unlock_node(struct route_node *node)
+ {
+ assert(node->lock > 0);
+- (*(unsigned *)&node->lock)--;
++ node->lock-=1;
+
+ if (node->lock == 0)
+ route_node_delete(node);
+diff -Naupr frr-frr-9.0_orig/tools/etc/frr/daemons frr-frr-9.0/tools/etc/frr/daemons
+--- frr-frr-9.0_orig/tools/etc/frr/daemons 2023-08-04 02:30:29.000000000 +0700
++++ frr-frr-9.0/tools/etc/frr/daemons 2023-08-07 16:36:22.229312970 +0700
+@@ -32,35 +32,33 @@ bfdd=no
+ fabricd=no
+ vrrpd=no
+ pathd=no
+-
+ #
+ # If this option is set the /etc/init.d/frr script automatically loads
+ # the config via "vtysh -b" when the servers are started.
+ # Check /etc/pam.d/frr if you intend to use "vtysh"!
+ #
+ vtysh_enable=yes
+-zebra_options=" -A 127.0.0.1 -s 90000000"
+-mgmtd_options=" -A 127.0.0.1"
+-bgpd_options=" -A 127.0.0.1"
+-ospfd_options=" -A 127.0.0.1"
+-ospf6d_options=" -A ::1"
+-ripd_options=" -A 127.0.0.1"
+-ripngd_options=" -A ::1"
+-isisd_options=" -A 127.0.0.1"
+-pimd_options=" -A 127.0.0.1"
+-pim6d_options=" -A ::1"
+-ldpd_options=" -A 127.0.0.1"
+-nhrpd_options=" -A 127.0.0.1"
+-eigrpd_options=" -A 127.0.0.1"
+-babeld_options=" -A 127.0.0.1"
+-sharpd_options=" -A 127.0.0.1"
+-pbrd_options=" -A 127.0.0.1"
+-staticd_options="-A 127.0.0.1"
+-bfdd_options=" -A 127.0.0.1"
+-fabricd_options="-A 127.0.0.1"
+-vrrpd_options=" -A 127.0.0.1"
+-pathd_options=" -A 127.0.0.1"
+-
++zebra_options=" -A 127.0.0.1 -s 90000000 -d -f /etc/frr/zebra.conf"
++mgmtd_options=" -A 127.0.0.1 -d -f /etc/frr/mgmtd.conf"
++bgpd_options=" -A 127.0.0.1 -d -f /etc/frr/bgpd.conf"
++ospfd_options=" -A 127.0.0.1 -d -f /etc/frr/ospfd.conf"
++ospf6d_options=" -A ::1 -d -f /etc/frr/ospf6d.conf"
++ripd_options=" -A 127.0.0.1 -d -f /etc/frr/ripd.conf"
++ripngd_options=" -A ::1 -d -f /etc/frr/ripngd.conf"
++isisd_options=" -A 127.0.0.1 -d -f /etc/frr/isisd.conf"
++pimd_options=" -A 127.0.0.1 -d -f /etc/frr/pimd.conf"
++pim6d_options=" -A ::1 -d -f /etc/frr/pim6d.conf"
++ldpd_options=" -A 127.0.0.1 -d -f /etc/frr/ldpd.conf"
++nhrpd_options=" -A 127.0.0.1 -d -f /etc/frr/nhrdp.conf"
++eigrpd_options=" -A 127.0.0.1 -d -f /etc/frr/eigrpd.conf"
++babeld_options=" -A 127.0.0.1 -d -f /etc/frr/babeld.conf"
++sharpd_options=" -A 127.0.0.1 -d -f /etc/frr/sharpd.conf"
++pbrd_options=" -A 127.0.0.1 -d -f /etc/frr/pbrd.conf"
++staticd_options="-A 127.0.0.1 -d -f /etc/frr/staticd.conf"
++bfdd_options=" -A 127.0.0.1 -d -f /etc/frr/bfdd.conf"
++fabricd_options="-A 127.0.0.1 -d -f /etc/frr/fabricd.conf"
++vrrpd_options=" -A 127.0.0.1 -d -f /etc/frr/vrrpd.conf"
++pathd_options=" -A 127.0.0.1 -d -f /etc/frr/pathd.conf"
+
+ # If you want to pass a common option to all daemons, you can use the
+ # "frr_global_options" variable.
+diff -Naupr frr-frr-9.0_orig/tools/frrcommon.sh.in frr-frr-9.0/tools/frrcommon.sh.in
+--- frr-frr-9.0_orig/tools/frrcommon.sh.in 2023-08-04 02:30:29.000000000 +0700
++++ frr-frr-9.0/tools/frrcommon.sh.in 2023-08-07 16:36:22.229312970 +0700
+@@ -307,7 +307,7 @@ load_old_config() {
+ [ -s "$oldcfg" ] || return 0
+ grep -v '^[[:blank:]]*\(#\|$\)' "$oldcfg" > /dev/null || return 0
+
+- log_warning_msg "Reading deprecated $oldcfg. Please move its settings to $C_PATH/daemons and remove it."
++ log_warning_msg "Reading deprecated $oldcfg. Please move its settings to $C_PATH/daemons.conf and remove it."
+
+ # save off settings from daemons for the OR below
+ for dmn in $DAEMONS; do eval "_new_$dmn=\${$dmn:-no}"; done
+@@ -318,8 +318,8 @@ load_old_config() {
+ for dmn in $DAEMONS; do eval "test \$_new_$dmn != no && $dmn=\$_new_$dmn; unset _new_$dmn"; done
+ }
+
+-[ -r "$C_PATH/daemons" ] || {
+- log_failure_msg "cannot run $@: $C_PATH/daemons does not exist"
++[ -r "$C_PATH/daemons.conf" ] || {
++ log_failure_msg "cannot run $@: $C_PATH/daemons.conf does not exist"
+ exit 1
+ }
+ . "$C_PATH/daemons"
+diff -Naupr frr-frr-9.0_orig/tools/frr.in frr-frr-9.0/tools/frr.in
+--- frr-frr-9.0_orig/tools/frr.in 2023-08-04 02:30:29.000000000 +0700
++++ frr-frr-9.0/tools/frr.in 2023-08-07 16:36:22.229312970 +0700
+@@ -29,7 +29,7 @@ FRR_DEFAULT_PROFILE="@DFLT_NAME@" # trad
+ # See /usr/share/doc/frr/README.Debian.gz for further information.
+ # Keep zebra first and do not list watchfrr!
+ DAEMONS="mgmtd zebra bgpd ripd ripngd ospfd ospf6d isisd babeld pimd pim6d ldpd nhrpd eigrpd sharpd pbrd staticd bfdd fabricd vrrpd pathd"
+-MAX_INSTANCES=5
++MAX_INSTANCES=1024
+ RELOAD_SCRIPT="$D_PATH/frr-reload.py"
+
+ if [ -e /lib/lsb/init-functions ]; then
+@@ -495,10 +495,8 @@ check_status()
+ #########################################################
+
+ # Config broken but script must exit silently.
+-[ ! -r "$C_PATH/daemons" ] && exit 0
+-
++[ ! -r "$C_PATH/daemons.conf" ] && exit 0
+ # Load configuration
+-. "$C_PATH/daemons"
+ if [ -e "$C_PATH/daemons.conf" ]; then
+ . "$C_PATH/daemons.conf"
+ fi
+@@ -518,7 +516,7 @@ if test -z "$frr_profile"; then
+ fi
+ test -n "$frr_profile" && frr_global_options="$frr_global_options -F $frr_profile"
+
+-MAX_INSTANCES=${MAX_INSTANCES:=5}
++MAX_INSTANCES=${MAX_INSTANCES:=1024}
+
+ # Set priority of un-startable daemons to 'no' and substitute 'yes' to '0'
+ convert_daemon_prios
+diff -Naupr frr-frr-9.0_orig/tools/frr-reload frr-frr-9.0/tools/frr-reload
+--- frr-frr-9.0_orig/tools/frr-reload 2023-08-04 02:30:29.000000000 +0700
++++ frr-frr-9.0/tools/frr-reload 2023-08-07 16:36:22.229312970 +0700
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+
+-if test -e /usr/lib/frr/frr-reload.py; then
+- exec /usr/lib/frr/frr-reload.py --reload /etc/frr/frr.conf
++if test -e /usr/bin/frr-reload.py; then
++ exec /usr/bin/frr-reload.py --reload /etc/frr/frr.conf
+ fi
+ >&2 echo "Please install frr-pythontools package. Required for reload"
+ exit 1