[packages] quagga: Drop support for Quagga 0.98.6
git-svn-id: svn://svn.openwrt.org/openwrt/packages@30674 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
761755c2a9
commit
5a7ddef6ec
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2006-2011 OpenWrt.org
|
# Copyright (C) 2006-2012 OpenWrt.org
|
||||||
#
|
#
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
# See /LICENSE for more information.
|
# See /LICENSE for more information.
|
||||||
@ -8,23 +8,15 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=quagga
|
PKG_NAME:=quagga
|
||||||
ifneq ($(CONFIG_QUAGGA_OLD),)
|
PKG_VERSION:=0.99.20
|
||||||
PKG_VERSION:=0.98.6
|
PKG_RELEASE:=2
|
||||||
PKG_RELEASE:=11
|
PKG_MD5SUM:=64cc29394eb8a4e24649d19dac868f64
|
||||||
PKG_MD5SUM:=b0d4132039953a0214256873b7d23d68
|
|
||||||
PATCH_DIR:=./patches-old
|
|
||||||
else
|
|
||||||
PKG_VERSION:=0.99.20
|
|
||||||
PKG_RELEASE:=2
|
|
||||||
PKG_MD5SUM:=64cc29394eb8a4e24649d19dac868f64
|
|
||||||
endif
|
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=http://www.quagga.net/download/ \
|
PKG_SOURCE_URL:=http://www.quagga.net/download/ \
|
||||||
http://www.de.quagga.net/download/ \
|
http://www.de.quagga.net/download/ \
|
||||||
http://www.uk.quagga.net/download/
|
http://www.uk.quagga.net/download/
|
||||||
PKG_CONFIG_DEPENDS:= \
|
PKG_CONFIG_DEPENDS:= \
|
||||||
CONFIG_QUAGGA_OLD \
|
|
||||||
CONFIG_IPV6 \
|
CONFIG_IPV6 \
|
||||||
CONFIG_PACKAGE_quagga-libzebra \
|
CONFIG_PACKAGE_quagga-libzebra \
|
||||||
CONFIG_PACKAGE_quagga-libospf \
|
CONFIG_PACKAGE_quagga-libospf \
|
||||||
@ -52,7 +44,7 @@ endef
|
|||||||
|
|
||||||
define Package/quagga
|
define Package/quagga
|
||||||
$(call Package/quagga/Default)
|
$(call Package/quagga/Default)
|
||||||
DEPENDS:=+!QUAGGA_OLD:librt
|
DEPENDS:=+librt
|
||||||
MENU:=1
|
MENU:=1
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@ -62,15 +54,6 @@ define Package/quagga/description
|
|||||||
OSPFv3, BGP-4, and BGP-4+
|
OSPFv3, BGP-4, and BGP-4+
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/quagga/config
|
|
||||||
config QUAGGA_OLD
|
|
||||||
depends on (PACKAGE_quagga && BROKEN)
|
|
||||||
default n
|
|
||||||
bool "Use the old release version 0.98.6"
|
|
||||||
help
|
|
||||||
This option allows you to select the old version of Quagga to be built.
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/quagga-libzebra
|
define Package/quagga-libzebra
|
||||||
$(call Package/quagga/Default)
|
$(call Package/quagga/Default)
|
||||||
TITLE:=zebra library
|
TITLE:=zebra library
|
||||||
|
@ -1,84 +0,0 @@
|
|||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -12675,69 +12675,6 @@ fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-echo "$as_me:$LINENO: checking for broken CMSG_FIRSTHDR" >&5
|
|
||||||
-echo $ECHO_N "checking for broken CMSG_FIRSTHDR... $ECHO_C" >&6
|
|
||||||
-if test "$cross_compiling" = yes; then
|
|
||||||
- echo "$as_me:$LINENO: result: no" >&5
|
|
||||||
-echo "${ECHO_T}no" >&6
|
|
||||||
-else
|
|
||||||
- cat >conftest.$ac_ext <<_ACEOF
|
|
||||||
-/* confdefs.h. */
|
|
||||||
-_ACEOF
|
|
||||||
-cat confdefs.h >>conftest.$ac_ext
|
|
||||||
-cat >>conftest.$ac_ext <<_ACEOF
|
|
||||||
-/* end confdefs.h. */
|
|
||||||
-
|
|
||||||
-#ifdef SUNOS_5
|
|
||||||
-#define _XPG4_2
|
|
||||||
-#define __EXTENSIONS__
|
|
||||||
-#endif
|
|
||||||
-#include <stdlib.h>
|
|
||||||
-#include <sys/types.h>
|
|
||||||
-#include <sys/socket.h>
|
|
||||||
-
|
|
||||||
-main()
|
|
||||||
-{
|
|
||||||
- struct msghdr msg;
|
|
||||||
- char buf[4];
|
|
||||||
-
|
|
||||||
- msg.msg_control = buf;
|
|
||||||
- msg.msg_controllen = 0;
|
|
||||||
-
|
|
||||||
- if (CMSG_FIRSTHDR(&msg) != NULL)
|
|
||||||
- exit(0);
|
|
||||||
- exit (1);
|
|
||||||
-}
|
|
||||||
-_ACEOF
|
|
||||||
-rm -f conftest$ac_exeext
|
|
||||||
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
|
||||||
- (eval $ac_link) 2>&5
|
|
||||||
- ac_status=$?
|
|
||||||
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
||||||
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
|
|
||||||
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
||||||
- (eval $ac_try) 2>&5
|
|
||||||
- ac_status=$?
|
|
||||||
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
||||||
- (exit $ac_status); }; }; then
|
|
||||||
- echo "$as_me:$LINENO: result: yes - using workaround" >&5
|
|
||||||
-echo "${ECHO_T}yes - using workaround" >&6
|
|
||||||
-cat >>confdefs.h <<\_ACEOF
|
|
||||||
-#define HAVE_BROKEN_CMSG_FIRSTHDR
|
|
||||||
-_ACEOF
|
|
||||||
-
|
|
||||||
-else
|
|
||||||
- echo "$as_me: program exited with status $ac_status" >&5
|
|
||||||
-echo "$as_me: failed program was:" >&5
|
|
||||||
-sed 's/^/| /' conftest.$ac_ext >&5
|
|
||||||
-
|
|
||||||
-( exit $ac_status )
|
|
||||||
-echo "$as_me:$LINENO: result: no" >&5
|
|
||||||
-echo "${ECHO_T}no" >&6
|
|
||||||
-fi
|
|
||||||
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
echo "$as_me:$LINENO: checking route read method check" >&5
|
|
||||||
echo $ECHO_N "checking route read method check... $ECHO_C" >&6
|
|
||||||
if test "${zebra_rtread+set}" = set; then
|
|
||||||
@@ -12835,10 +12772,7 @@ echo $ECHO_N "checking ipforward method
|
|
||||||
if test "${zebra_ipforward_path+set}" = set; then
|
|
||||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
|
||||||
else
|
|
||||||
- for zebra_ipforward_path in /proc/net/snmp /dev/ip /dev/null;
|
|
||||||
-do
|
|
||||||
- test x`ls $zebra_ipforward_path 2>/dev/null` = x"$zebra_ipforward_path" && break
|
|
||||||
-done
|
|
||||||
+ zebra_ipforward_path="/proc/net/snmp"
|
|
||||||
case $zebra_ipforward_path in
|
|
||||||
"/proc/net/snmp") IPFORWARD=ipforward_proc.o
|
|
||||||
zebra_ipforward_path="proc";;
|
|
@ -1,58 +0,0 @@
|
|||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -10972,7 +10972,7 @@ if test "${ac_cv_lib_curses_tputs+set}"
|
|
||||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
|
||||||
else
|
|
||||||
ac_check_lib_save_LIBS=$LIBS
|
|
||||||
-LIBS="-lcurses $LIBS"
|
|
||||||
+#LIBS="-lcurses $LIBS"
|
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
|
||||||
/* confdefs.h. */
|
|
||||||
_ACEOF
|
|
||||||
@@ -11108,7 +11108,8 @@ if test $ac_cv_lib_ncurses_tputs = yes;
|
|
||||||
#define HAVE_LIBNCURSES 1
|
|
||||||
_ACEOF
|
|
||||||
|
|
||||||
- LIBS="-lncurses $LIBS"
|
|
||||||
+# LIBS="-lncurses $LIBS"
|
|
||||||
+CURSES=-lncurses
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
@@ -11125,7 +11126,7 @@ if test "${ac_cv_lib_readline_main+set}"
|
|
||||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
|
||||||
else
|
|
||||||
ac_check_lib_save_LIBS=$LIBS
|
|
||||||
-LIBS="-lreadline $LIBS"
|
|
||||||
+LIBS="-lreadline $CURSES $LIBS"
|
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
|
||||||
/* confdefs.h. */
|
|
||||||
_ACEOF
|
|
||||||
@@ -11182,7 +11183,8 @@ if test $ac_cv_lib_readline_main = yes;
|
|
||||||
#define HAVE_LIBREADLINE 1
|
|
||||||
_ACEOF
|
|
||||||
|
|
||||||
- LIBS="-lreadline $LIBS"
|
|
||||||
+# LIBS="-lreadline $LIBS"
|
|
||||||
+CURSES="$CURSES -lreadline"
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
@@ -11342,7 +11344,7 @@ if test "${ac_cv_lib_readline_rl_complet
|
|
||||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
|
||||||
else
|
|
||||||
ac_check_lib_save_LIBS=$LIBS
|
|
||||||
-LIBS="-lreadline $LIBS"
|
|
||||||
+LIBS="-lreadline $CURSES $LIBS"
|
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
|
||||||
/* confdefs.h. */
|
|
||||||
_ACEOF
|
|
||||||
@@ -11405,7 +11407,7 @@ if test $ac_cv_lib_readline_rl_completio
|
|
||||||
#define HAVE_LIBREADLINE 1
|
|
||||||
_ACEOF
|
|
||||||
|
|
||||||
- LIBS="-lreadline $LIBS"
|
|
||||||
+# LIBS="-lreadline $LIBS"
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
@ -1,855 +0,0 @@
|
|||||||
--- a/bgpd/bgp_vty.c
|
|
||||||
+++ b/bgpd/bgp_vty.c
|
|
||||||
@@ -3,6 +3,9 @@
|
|
||||||
|
|
||||||
This file is part of GNU Zebra.
|
|
||||||
|
|
||||||
+This file was modified from the original on 30/12/2007
|
|
||||||
+by Vasilis Tsiligiannis <acinonyxs@yahoo.gr>
|
|
||||||
+
|
|
||||||
GNU Zebra 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, or (at your option) any
|
|
||||||
@@ -7793,8 +7796,12 @@ bgp_str2route_type (int afi, const char
|
|
||||||
return ZEBRA_ROUTE_STATIC;
|
|
||||||
else if (strncmp (str, "r", 1) == 0)
|
|
||||||
return ZEBRA_ROUTE_RIP;
|
|
||||||
- else if (strncmp (str, "o", 1) == 0)
|
|
||||||
+ else if (strncmp (str, "ol", 2) == 0)
|
|
||||||
+ return ZEBRA_ROUTE_OLSR;
|
|
||||||
+ else if (strncmp (str, "os", 2) == 0)
|
|
||||||
return ZEBRA_ROUTE_OSPF;
|
|
||||||
+ else if (strncmp (str, "ba", 2) == 0)
|
|
||||||
+ return ZEBRA_ROUTE_BATMAN;
|
|
||||||
}
|
|
||||||
if (afi == AFI_IP6)
|
|
||||||
{
|
|
||||||
@@ -7806,21 +7813,28 @@ bgp_str2route_type (int afi, const char
|
|
||||||
return ZEBRA_ROUTE_STATIC;
|
|
||||||
else if (strncmp (str, "r", 1) == 0)
|
|
||||||
return ZEBRA_ROUTE_RIPNG;
|
|
||||||
- else if (strncmp (str, "o", 1) == 0)
|
|
||||||
+ else if (strncmp (str, "os", 2) == 0)
|
|
||||||
return ZEBRA_ROUTE_OSPF6;
|
|
||||||
+ else if (strncmp (str, "ol", 2) == 0)
|
|
||||||
+ return ZEBRA_ROUTE_OLSR;
|
|
||||||
+ else if (strncmp (str, "ba", 2) == 0)
|
|
||||||
+ return ZEBRA_ROUTE_BATMAN;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DEFUN (bgp_redistribute_ipv4,
|
|
||||||
bgp_redistribute_ipv4_cmd,
|
|
||||||
- "redistribute (connected|kernel|ospf|rip|static)",
|
|
||||||
+ "redistribute (connected|kernel|ospf|rip|static|olsr|batman)",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPF)\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
- "Static routes\n")
|
|
||||||
+ "Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
+ )
|
|
||||||
{
|
|
||||||
int type;
|
|
||||||
|
|
||||||
@@ -7835,13 +7849,15 @@ DEFUN (bgp_redistribute_ipv4,
|
|
||||||
|
|
||||||
DEFUN (bgp_redistribute_ipv4_rmap,
|
|
||||||
bgp_redistribute_ipv4_rmap_cmd,
|
|
||||||
- "redistribute (connected|kernel|ospf|rip|static) route-map WORD",
|
|
||||||
+ "redistribute (connected|kernel|ospf|rip|static|olsr|batman) route-map WORD",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPF)\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
"Pointer to route-map entries\n")
|
|
||||||
{
|
|
||||||
@@ -7860,13 +7876,15 @@ DEFUN (bgp_redistribute_ipv4_rmap,
|
|
||||||
|
|
||||||
DEFUN (bgp_redistribute_ipv4_metric,
|
|
||||||
bgp_redistribute_ipv4_metric_cmd,
|
|
||||||
- "redistribute (connected|kernel|ospf|rip|static) metric <0-4294967295>",
|
|
||||||
+ "redistribute (connected|kernel|ospf|rip|static|olsr|batman) metric <0-4294967295>",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPF)\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"Default metric\n")
|
|
||||||
{
|
|
||||||
@@ -7887,13 +7905,15 @@ DEFUN (bgp_redistribute_ipv4_metric,
|
|
||||||
|
|
||||||
DEFUN (bgp_redistribute_ipv4_rmap_metric,
|
|
||||||
bgp_redistribute_ipv4_rmap_metric_cmd,
|
|
||||||
- "redistribute (connected|kernel|ospf|rip|static) route-map WORD metric <0-4294967295>",
|
|
||||||
+ "redistribute (connected|kernel|ospf|rip|static|olsr|batman) route-map WORD metric <0-4294967295>",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPF)\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
"Pointer to route-map entries\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
@@ -7917,13 +7937,15 @@ DEFUN (bgp_redistribute_ipv4_rmap_metric
|
|
||||||
|
|
||||||
DEFUN (bgp_redistribute_ipv4_metric_rmap,
|
|
||||||
bgp_redistribute_ipv4_metric_rmap_cmd,
|
|
||||||
- "redistribute (connected|kernel|ospf|rip|static) metric <0-4294967295> route-map WORD",
|
|
||||||
+ "redistribute (connected|kernel|ospf|rip|static|olsr|batman) metric <0-4294967295> route-map WORD",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPF)\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"Default metric\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
@@ -7947,14 +7969,17 @@ DEFUN (bgp_redistribute_ipv4_metric_rmap
|
|
||||||
|
|
||||||
DEFUN (no_bgp_redistribute_ipv4,
|
|
||||||
no_bgp_redistribute_ipv4_cmd,
|
|
||||||
- "no redistribute (connected|kernel|ospf|rip|static)",
|
|
||||||
+ "no redistribute (connected|kernel|ospf|rip|static|olsr|batman)",
|
|
||||||
NO_STR
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPF)\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
- "Static routes\n")
|
|
||||||
+ "Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
+ )
|
|
||||||
{
|
|
||||||
int type;
|
|
||||||
|
|
||||||
@@ -7970,7 +7995,7 @@ DEFUN (no_bgp_redistribute_ipv4,
|
|
||||||
|
|
||||||
DEFUN (no_bgp_redistribute_ipv4_rmap,
|
|
||||||
no_bgp_redistribute_ipv4_rmap_cmd,
|
|
||||||
- "no redistribute (connected|kernel|ospf|rip|static) route-map WORD",
|
|
||||||
+ "no redistribute (connected|kernel|ospf|rip|static|olsr|batman) route-map WORD",
|
|
||||||
NO_STR
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
@@ -7978,6 +8003,8 @@ DEFUN (no_bgp_redistribute_ipv4_rmap,
|
|
||||||
"Open Shurtest Path First (OSPF)\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
"Pointer to route-map entries\n")
|
|
||||||
{
|
|
||||||
@@ -7996,7 +8023,7 @@ DEFUN (no_bgp_redistribute_ipv4_rmap,
|
|
||||||
|
|
||||||
DEFUN (no_bgp_redistribute_ipv4_metric,
|
|
||||||
no_bgp_redistribute_ipv4_metric_cmd,
|
|
||||||
- "no redistribute (connected|kernel|ospf|rip|static) metric <0-4294967295>",
|
|
||||||
+ "no redistribute (connected|kernel|ospf|rip|static|olsr|batman) metric <0-4294967295>",
|
|
||||||
NO_STR
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
@@ -8004,6 +8031,8 @@ DEFUN (no_bgp_redistribute_ipv4_metric,
|
|
||||||
"Open Shurtest Path First (OSPF)\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"Default metric\n")
|
|
||||||
{
|
|
||||||
@@ -8022,7 +8051,7 @@ DEFUN (no_bgp_redistribute_ipv4_metric,
|
|
||||||
|
|
||||||
DEFUN (no_bgp_redistribute_ipv4_rmap_metric,
|
|
||||||
no_bgp_redistribute_ipv4_rmap_metric_cmd,
|
|
||||||
- "no redistribute (connected|kernel|ospf|rip|static) route-map WORD metric <0-4294967295>",
|
|
||||||
+ "no redistribute (connected|kernel|ospf|rip|static|olsr|batman) route-map WORD metric <0-4294967295>",
|
|
||||||
NO_STR
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
@@ -8030,6 +8059,8 @@ DEFUN (no_bgp_redistribute_ipv4_rmap_met
|
|
||||||
"Open Shurtest Path First (OSPF)\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
"Pointer to route-map entries\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
@@ -8051,7 +8082,7 @@ DEFUN (no_bgp_redistribute_ipv4_rmap_met
|
|
||||||
|
|
||||||
ALIAS (no_bgp_redistribute_ipv4_rmap_metric,
|
|
||||||
no_bgp_redistribute_ipv4_metric_rmap_cmd,
|
|
||||||
- "no redistribute (connected|kernel|ospf|rip|static) metric <0-4294967295> route-map WORD",
|
|
||||||
+ "no redistribute (connected|kernel|ospf|rip|static|olsr|batman) metric <0-4294967295> route-map WORD",
|
|
||||||
NO_STR
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
@@ -8059,6 +8090,8 @@ ALIAS (no_bgp_redistribute_ipv4_rmap_met
|
|
||||||
"Open Shurtest Path First (OSPF)\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"Default metric\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
@@ -8067,13 +8100,16 @@ ALIAS (no_bgp_redistribute_ipv4_rmap_met
|
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
DEFUN (bgp_redistribute_ipv6,
|
|
||||||
bgp_redistribute_ipv6_cmd,
|
|
||||||
- "redistribute (connected|kernel|ospf6|ripng|static)",
|
|
||||||
+ "redistribute (connected|kernel|ospf6|ripng|static|olsr|batman)",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPFv3)\n"
|
|
||||||
"Routing Information Protocol (RIPng)\n"
|
|
||||||
- "Static routes\n")
|
|
||||||
+ "Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
+ )
|
|
||||||
{
|
|
||||||
int type;
|
|
||||||
|
|
||||||
@@ -8089,13 +8125,15 @@ DEFUN (bgp_redistribute_ipv6,
|
|
||||||
|
|
||||||
DEFUN (bgp_redistribute_ipv6_rmap,
|
|
||||||
bgp_redistribute_ipv6_rmap_cmd,
|
|
||||||
- "redistribute (connected|kernel|ospf6|ripng|static) route-map WORD",
|
|
||||||
+ "redistribute (connected|kernel|ospf6|ripng|static|olsr|batman) route-map WORD",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPFv3)\n"
|
|
||||||
"Routing Information Protocol (RIPng)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
"Pointer to route-map entries\n")
|
|
||||||
{
|
|
||||||
@@ -8114,13 +8152,15 @@ DEFUN (bgp_redistribute_ipv6_rmap,
|
|
||||||
|
|
||||||
DEFUN (bgp_redistribute_ipv6_metric,
|
|
||||||
bgp_redistribute_ipv6_metric_cmd,
|
|
||||||
- "redistribute (connected|kernel|ospf6|ripng|static) metric <0-4294967295>",
|
|
||||||
+ "redistribute (connected|kernel|ospf6|ripng|static|olsr|batman) metric <0-4294967295>",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPFv3)\n"
|
|
||||||
"Routing Information Protocol (RIPng)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"Default metric\n")
|
|
||||||
{
|
|
||||||
@@ -8141,13 +8181,15 @@ DEFUN (bgp_redistribute_ipv6_metric,
|
|
||||||
|
|
||||||
DEFUN (bgp_redistribute_ipv6_rmap_metric,
|
|
||||||
bgp_redistribute_ipv6_rmap_metric_cmd,
|
|
||||||
- "redistribute (connected|kernel|ospf6|ripng|static) route-map WORD metric <0-4294967295>",
|
|
||||||
+ "redistribute (connected|kernel|ospf6|ripng|static|olsr|batman) route-map WORD metric <0-4294967295>",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPFv3)\n"
|
|
||||||
"Routing Information Protocol (RIPng)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
"Pointer to route-map entries\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
@@ -8171,13 +8213,15 @@ DEFUN (bgp_redistribute_ipv6_rmap_metric
|
|
||||||
|
|
||||||
DEFUN (bgp_redistribute_ipv6_metric_rmap,
|
|
||||||
bgp_redistribute_ipv6_metric_rmap_cmd,
|
|
||||||
- "redistribute (connected|kernel|ospf6|ripng|static) metric <0-4294967295> route-map WORD",
|
|
||||||
+ "redistribute (connected|kernel|ospf6|ripng|static|olsr|batman) metric <0-4294967295> route-map WORD",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPFv3)\n"
|
|
||||||
"Routing Information Protocol (RIPng)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"Default metric\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
@@ -8201,14 +8245,17 @@ DEFUN (bgp_redistribute_ipv6_metric_rmap
|
|
||||||
|
|
||||||
DEFUN (no_bgp_redistribute_ipv6,
|
|
||||||
no_bgp_redistribute_ipv6_cmd,
|
|
||||||
- "no redistribute (connected|kernel|ospf6|ripng|static)",
|
|
||||||
+ "no redistribute (connected|kernel|ospf6|ripng|static|olsr|batman)",
|
|
||||||
NO_STR
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Open Shurtest Path First (OSPFv3)\n"
|
|
||||||
"Routing Information Protocol (RIPng)\n"
|
|
||||||
- "Static routes\n")
|
|
||||||
+ "Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
+ )
|
|
||||||
{
|
|
||||||
int type;
|
|
||||||
|
|
||||||
@@ -8224,7 +8271,7 @@ DEFUN (no_bgp_redistribute_ipv6,
|
|
||||||
|
|
||||||
DEFUN (no_bgp_redistribute_ipv6_rmap,
|
|
||||||
no_bgp_redistribute_ipv6_rmap_cmd,
|
|
||||||
- "no redistribute (connected|kernel|ospf6|ripng|static) route-map WORD",
|
|
||||||
+ "no redistribute (connected|kernel|ospf6|ripng|static|olsr|batman) route-map WORD",
|
|
||||||
NO_STR
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
@@ -8232,6 +8279,8 @@ DEFUN (no_bgp_redistribute_ipv6_rmap,
|
|
||||||
"Open Shurtest Path First (OSPFv3)\n"
|
|
||||||
"Routing Information Protocol (RIPng)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
"Pointer to route-map entries\n")
|
|
||||||
{
|
|
||||||
@@ -8250,7 +8299,7 @@ DEFUN (no_bgp_redistribute_ipv6_rmap,
|
|
||||||
|
|
||||||
DEFUN (no_bgp_redistribute_ipv6_metric,
|
|
||||||
no_bgp_redistribute_ipv6_metric_cmd,
|
|
||||||
- "no redistribute (connected|kernel|ospf6|ripng|static) metric <0-4294967295>",
|
|
||||||
+ "no redistribute (connected|kernel|ospf6|ripng|static|olsr|batman) metric <0-4294967295>",
|
|
||||||
NO_STR
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
@@ -8258,6 +8307,8 @@ DEFUN (no_bgp_redistribute_ipv6_metric,
|
|
||||||
"Open Shurtest Path First (OSPFv3)\n"
|
|
||||||
"Routing Information Protocol (RIPng)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"Default metric\n")
|
|
||||||
{
|
|
||||||
@@ -8276,7 +8327,7 @@ DEFUN (no_bgp_redistribute_ipv6_metric,
|
|
||||||
|
|
||||||
DEFUN (no_bgp_redistribute_ipv6_rmap_metric,
|
|
||||||
no_bgp_redistribute_ipv6_rmap_metric_cmd,
|
|
||||||
- "no redistribute (connected|kernel|ospf6|ripng|static) route-map WORD metric <0-4294967295>",
|
|
||||||
+ "no redistribute (connected|kernel|ospf6|ripng|static|olsr|batman) route-map WORD metric <0-4294967295>",
|
|
||||||
NO_STR
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
@@ -8284,6 +8335,8 @@ DEFUN (no_bgp_redistribute_ipv6_rmap_met
|
|
||||||
"Open Shurtest Path First (OSPFv3)\n"
|
|
||||||
"Routing Information Protocol (RIPng)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
"Pointer to route-map entries\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
@@ -8305,7 +8358,7 @@ DEFUN (no_bgp_redistribute_ipv6_rmap_met
|
|
||||||
|
|
||||||
ALIAS (no_bgp_redistribute_ipv6_rmap_metric,
|
|
||||||
no_bgp_redistribute_ipv6_metric_rmap_cmd,
|
|
||||||
- "no redistribute (connected|kernel|ospf6|ripng|static) metric <0-4294967295> route-map WORD",
|
|
||||||
+ "no redistribute (connected|kernel|ospf6|ripng|static|olsr|batman) metric <0-4294967295> route-map WORD",
|
|
||||||
NO_STR
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Connected\n"
|
|
||||||
@@ -8313,6 +8366,8 @@ ALIAS (no_bgp_redistribute_ipv6_rmap_met
|
|
||||||
"Open Shurtest Path First (OSPFv3)\n"
|
|
||||||
"Routing Information Protocol (RIPng)\n"
|
|
||||||
"Static routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"Default metric\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
@@ -8325,7 +8380,7 @@ bgp_config_write_redistribute (struct vt
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
const char *str[] = { "system", "kernel", "connected", "static", "rip",
|
|
||||||
- "ripng", "ospf", "ospf6", "isis", "bgp"};
|
|
||||||
+ "ripng", "ospf", "ospf6", "isis", "bgp", "hsls", "olsr", "batman"};
|
|
||||||
|
|
||||||
/* Unicast redistribution only. */
|
|
||||||
if (safi != SAFI_UNICAST)
|
|
||||||
--- a/lib/zebra.h
|
|
||||||
+++ b/lib/zebra.h
|
|
||||||
@@ -3,6 +3,9 @@
|
|
||||||
|
|
||||||
This file is part of GNU Zebra.
|
|
||||||
|
|
||||||
+This file was modified from the original on 30/12/2007
|
|
||||||
+by Vasilis Tsiligiannis <acinonyxs@yahoo.gr>
|
|
||||||
+
|
|
||||||
GNU Zebra 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, or (at your option) any
|
|
||||||
@@ -378,7 +381,9 @@ struct in_pktinfo
|
|
||||||
#define ZEBRA_ROUTE_ISIS 8
|
|
||||||
#define ZEBRA_ROUTE_BGP 9
|
|
||||||
#define ZEBRA_ROUTE_HSLS 10
|
|
||||||
-#define ZEBRA_ROUTE_MAX 11
|
|
||||||
+#define ZEBRA_ROUTE_OLSR 11
|
|
||||||
+#define ZEBRA_ROUTE_BATMAN 12
|
|
||||||
+#define ZEBRA_ROUTE_MAX 13
|
|
||||||
|
|
||||||
/* Zebra's family types. */
|
|
||||||
#define ZEBRA_FAMILY_IPV4 1
|
|
||||||
--- a/ospfd/ospf_vty.c
|
|
||||||
+++ b/ospfd/ospf_vty.c
|
|
||||||
@@ -3,6 +3,9 @@
|
|
||||||
*
|
|
||||||
* This file is part of GNU Zebra.
|
|
||||||
*
|
|
||||||
+ * This file was modified from the original on 30/12/2007
|
|
||||||
+ * by Vasilis Tsiligiannis <acinonyxs@yahoo.gr>
|
|
||||||
+ *
|
|
||||||
* GNU Zebra 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, or (at your option) any
|
|
||||||
@@ -106,11 +109,15 @@ str2distribute_source (const char *str,
|
|
||||||
*source = ZEBRA_ROUTE_STATIC;
|
|
||||||
else if (strncmp (str, "r", 1) == 0)
|
|
||||||
*source = ZEBRA_ROUTE_RIP;
|
|
||||||
- else if (strncmp (str, "b", 1) == 0)
|
|
||||||
+ else if (strncmp (str, "bg", 2) == 0)
|
|
||||||
*source = ZEBRA_ROUTE_BGP;
|
|
||||||
+ else if (strncmp (str, "ol", 2) == 0)
|
|
||||||
+ *source = ZEBRA_ROUTE_OLSR;
|
|
||||||
+ else if (strncmp (str, "ba", 2) == 0)
|
|
||||||
+ *source = ZEBRA_ROUTE_BATMAN;
|
|
||||||
else
|
|
||||||
return 0;
|
|
||||||
-
|
|
||||||
+
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -5302,13 +5309,15 @@ ALIAS (no_ip_ospf_transmit_delay,
|
|
||||||
|
|
||||||
DEFUN (ospf_redistribute_source_metric_type,
|
|
||||||
ospf_redistribute_source_metric_type_routemap_cmd,
|
|
||||||
- "redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> metric-type (1|2) route-map WORD",
|
|
||||||
+ "redistribute (kernel|connected|static|rip|bgp|olsr|batman) metric <0-16777214> metric-type (1|2) route-map WORD",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"OSPF default metric\n"
|
|
||||||
"OSPF exterior metric type for redistributed routes\n"
|
|
||||||
@@ -5346,13 +5355,15 @@ DEFUN (ospf_redistribute_source_metric_t
|
|
||||||
|
|
||||||
ALIAS (ospf_redistribute_source_metric_type,
|
|
||||||
ospf_redistribute_source_metric_type_cmd,
|
|
||||||
- "redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> metric-type (1|2)",
|
|
||||||
+ "redistribute (kernel|connected|static|rip|bgp|olsr|batman) metric <0-16777214> metric-type (1|2)",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"OSPF default metric\n"
|
|
||||||
"OSPF exterior metric type for redistributed routes\n"
|
|
||||||
@@ -5361,25 +5372,29 @@ ALIAS (ospf_redistribute_source_metric_t
|
|
||||||
|
|
||||||
ALIAS (ospf_redistribute_source_metric_type,
|
|
||||||
ospf_redistribute_source_metric_cmd,
|
|
||||||
- "redistribute (kernel|connected|static|rip|bgp) metric <0-16777214>",
|
|
||||||
+ "redistribute (kernel|connected|static|rip|bgp|olsr|batman) metric <0-16777214>",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"OSPF default metric\n")
|
|
||||||
|
|
||||||
DEFUN (ospf_redistribute_source_type_metric,
|
|
||||||
ospf_redistribute_source_type_metric_routemap_cmd,
|
|
||||||
- "redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> route-map WORD",
|
|
||||||
+ "redistribute (kernel|connected|static|rip|bgp|olsr|batman) metric-type (1|2) metric <0-16777214> route-map WORD",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"OSPF exterior metric type for redistributed routes\n"
|
|
||||||
"Set OSPF External Type 1 metrics\n"
|
|
||||||
"Set OSPF External Type 2 metrics\n"
|
|
||||||
@@ -5417,13 +5432,15 @@ DEFUN (ospf_redistribute_source_type_met
|
|
||||||
|
|
||||||
ALIAS (ospf_redistribute_source_type_metric,
|
|
||||||
ospf_redistribute_source_type_metric_cmd,
|
|
||||||
- "redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214>",
|
|
||||||
+ "redistribute (kernel|connected|static|rip|bgp|olsr|batman) metric-type (1|2) metric <0-16777214>",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"OSPF exterior metric type for redistributed routes\n"
|
|
||||||
"Set OSPF External Type 1 metrics\n"
|
|
||||||
"Set OSPF External Type 2 metrics\n"
|
|
||||||
@@ -5432,7 +5449,7 @@ ALIAS (ospf_redistribute_source_type_met
|
|
||||||
|
|
||||||
ALIAS (ospf_redistribute_source_type_metric,
|
|
||||||
ospf_redistribute_source_type_cmd,
|
|
||||||
- "redistribute (kernel|connected|static|rip|bgp) metric-type (1|2)",
|
|
||||||
+ "redistribute (kernel|connected|static|rip|bgp|olsr|batman) metric-type (1|2)",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Connected\n"
|
|
||||||
@@ -5440,28 +5457,35 @@ ALIAS (ospf_redistribute_source_type_met
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Border Gateway Protocol (BGP)\n"
|
|
||||||
"OSPF exterior metric type for redistributed routes\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Set OSPF External Type 1 metrics\n"
|
|
||||||
"Set OSPF External Type 2 metrics\n")
|
|
||||||
|
|
||||||
ALIAS (ospf_redistribute_source_type_metric,
|
|
||||||
ospf_redistribute_source_cmd,
|
|
||||||
- "redistribute (kernel|connected|static|rip|bgp)",
|
|
||||||
+ "redistribute (kernel|connected|static|rip|bgp|olsr|batman)",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
- "Border Gateway Protocol (BGP)\n")
|
|
||||||
+ "Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
+ )
|
|
||||||
|
|
||||||
DEFUN (ospf_redistribute_source_metric_routemap,
|
|
||||||
ospf_redistribute_source_metric_routemap_cmd,
|
|
||||||
- "redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> route-map WORD",
|
|
||||||
+ "redistribute (kernel|connected|static|rip|bgp|olsr|batman) metric <0-16777214> route-map WORD",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Metric for redistributed routes\n"
|
|
||||||
"OSPF default metric\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
@@ -5490,13 +5514,15 @@ DEFUN (ospf_redistribute_source_metric_r
|
|
||||||
|
|
||||||
DEFUN (ospf_redistribute_source_type_routemap,
|
|
||||||
ospf_redistribute_source_type_routemap_cmd,
|
|
||||||
- "redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) route-map WORD",
|
|
||||||
+ "redistribute (kernel|connected|static|rip|bgp|olsr|batman) metric-type (1|2) route-map WORD",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"OSPF exterior metric type for redistributed routes\n"
|
|
||||||
"Set OSPF External Type 1 metrics\n"
|
|
||||||
"Set OSPF External Type 2 metrics\n"
|
|
||||||
@@ -5526,13 +5552,15 @@ DEFUN (ospf_redistribute_source_type_rou
|
|
||||||
|
|
||||||
DEFUN (ospf_redistribute_source_routemap,
|
|
||||||
ospf_redistribute_source_routemap_cmd,
|
|
||||||
- "redistribute (kernel|connected|static|rip|bgp) route-map WORD",
|
|
||||||
+ "redistribute (kernel|connected|static|rip|bgp|olsr|batman) route-map WORD",
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
"Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Route map reference\n"
|
|
||||||
"Pointer to route-map entries\n")
|
|
||||||
{
|
|
||||||
@@ -5553,14 +5581,17 @@ DEFUN (ospf_redistribute_source_routemap
|
|
||||||
|
|
||||||
DEFUN (no_ospf_redistribute_source,
|
|
||||||
no_ospf_redistribute_source_cmd,
|
|
||||||
- "no redistribute (kernel|connected|static|rip|bgp)",
|
|
||||||
+ "no redistribute (kernel|connected|static|rip|bgp|olsr|batman)",
|
|
||||||
NO_STR
|
|
||||||
"Redistribute information from another routing protocol\n"
|
|
||||||
"Kernel routes\n"
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
- "Border Gateway Protocol (BGP)\n")
|
|
||||||
+ "Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
+ )
|
|
||||||
{
|
|
||||||
struct ospf *ospf = vty->index;
|
|
||||||
int source;
|
|
||||||
@@ -5574,7 +5605,7 @@ DEFUN (no_ospf_redistribute_source,
|
|
||||||
|
|
||||||
DEFUN (ospf_distribute_list_out,
|
|
||||||
ospf_distribute_list_out_cmd,
|
|
||||||
- "distribute-list WORD out (kernel|connected|static|rip|bgp)",
|
|
||||||
+ "distribute-list WORD out (kernel|connected|static|rip|bgp|olsr|batman)",
|
|
||||||
"Filter networks in routing updates\n"
|
|
||||||
"Access-list name\n"
|
|
||||||
OUT_STR
|
|
||||||
@@ -5582,7 +5613,10 @@ DEFUN (ospf_distribute_list_out,
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
- "Border Gateway Protocol (BGP)\n")
|
|
||||||
+ "Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
+)
|
|
||||||
{
|
|
||||||
struct ospf *ospf = vty->index;
|
|
||||||
int source;
|
|
||||||
@@ -5596,7 +5630,7 @@ DEFUN (ospf_distribute_list_out,
|
|
||||||
|
|
||||||
DEFUN (no_ospf_distribute_list_out,
|
|
||||||
no_ospf_distribute_list_out_cmd,
|
|
||||||
- "no distribute-list WORD out (kernel|connected|static|rip|bgp)",
|
|
||||||
+ "no distribute-list WORD out (kernel|connected|static|rip|bgp|olsr|batman)",
|
|
||||||
NO_STR
|
|
||||||
"Filter networks in routing updates\n"
|
|
||||||
"Access-list name\n"
|
|
||||||
@@ -5605,7 +5639,10 @@ DEFUN (no_ospf_distribute_list_out,
|
|
||||||
"Connected\n"
|
|
||||||
"Static routes\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
- "Border Gateway Protocol (BGP)\n")
|
|
||||||
+ "Border Gateway Protocol (BGP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
+)
|
|
||||||
{
|
|
||||||
struct ospf *ospf = vty->index;
|
|
||||||
int source;
|
|
||||||
@@ -7121,7 +7158,8 @@ config_write_virtual_link (struct vty *v
|
|
||||||
|
|
||||||
|
|
||||||
const char *distribute_str[] = { "system", "kernel", "connected", "static",
|
|
||||||
- "rip", "ripng", "ospf", "ospf6", "isis", "bgp"};
|
|
||||||
+ "rip", "ripng", "ospf", "ospf6", "isis", "bgp",
|
|
||||||
+ "hsls","olsr","batman"};
|
|
||||||
int
|
|
||||||
config_write_ospf_redistribute (struct vty *vty, struct ospf *ospf)
|
|
||||||
{
|
|
||||||
--- a/zebra/redistribute.c
|
|
||||||
+++ b/zebra/redistribute.c
|
|
||||||
@@ -3,6 +3,9 @@
|
|
||||||
*
|
|
||||||
* This file is part of GNU Zebra.
|
|
||||||
*
|
|
||||||
+ * This file was modified from the original on 30/12/2007
|
|
||||||
+ * by Vasilis Tsiligiannis <acinonyxs@yahoo.gr>
|
|
||||||
+ *
|
|
||||||
* GNU Zebra 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, or (at your option) any
|
|
||||||
@@ -253,6 +256,8 @@ zebra_redistribute_add (int command, str
|
|
||||||
case ZEBRA_ROUTE_OSPF:
|
|
||||||
case ZEBRA_ROUTE_OSPF6:
|
|
||||||
case ZEBRA_ROUTE_BGP:
|
|
||||||
+ case ZEBRA_ROUTE_OLSR:
|
|
||||||
+ case ZEBRA_ROUTE_BATMAN:
|
|
||||||
if (! client->redist[type])
|
|
||||||
{
|
|
||||||
client->redist[type] = 1;
|
|
||||||
@@ -281,6 +286,8 @@ zebra_redistribute_delete (int command,
|
|
||||||
case ZEBRA_ROUTE_OSPF:
|
|
||||||
case ZEBRA_ROUTE_OSPF6:
|
|
||||||
case ZEBRA_ROUTE_BGP:
|
|
||||||
+ case ZEBRA_ROUTE_OLSR:
|
|
||||||
+ case ZEBRA_ROUTE_BATMAN:
|
|
||||||
client->redist[type] = 0;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
--- a/zebra/zebra_vty.c
|
|
||||||
+++ b/zebra/zebra_vty.c
|
|
||||||
@@ -53,6 +53,10 @@ route_type_str (u_char type)
|
|
||||||
return "isis";
|
|
||||||
case ZEBRA_ROUTE_BGP:
|
|
||||||
return "bgp";
|
|
||||||
+ case ZEBRA_ROUTE_OLSR:
|
|
||||||
+ return "olsr";
|
|
||||||
+ case ZEBRA_ROUTE_BATMAN:
|
|
||||||
+ return "batman";
|
|
||||||
default:
|
|
||||||
return "unknown";
|
|
||||||
}
|
|
||||||
@@ -84,6 +88,12 @@ route_type_char (u_char type)
|
|
||||||
return 'I';
|
|
||||||
case ZEBRA_ROUTE_BGP:
|
|
||||||
return 'B';
|
|
||||||
+ case ZEBRA_ROUTE_HSLS:
|
|
||||||
+ return 'H';
|
|
||||||
+ case ZEBRA_ROUTE_OLSR:
|
|
||||||
+ return 'L';
|
|
||||||
+ case ZEBRA_ROUTE_BATMAN:
|
|
||||||
+ return 'M';
|
|
||||||
default:
|
|
||||||
return '?';
|
|
||||||
}
|
|
||||||
@@ -755,8 +765,8 @@ vty_show_ip_route (struct vty *vty, stru
|
|
||||||
}
|
|
||||||
|
|
||||||
#define SHOW_ROUTE_V4_HEADER "Codes: K - kernel route, C - connected, " \
|
|
||||||
- "S - static, R - RIP, O - OSPF,%s I - ISIS, B - BGP, " \
|
|
||||||
- "> - selected route, * - FIB route%s%s"
|
|
||||||
+ "S - static, R - RIP, O - OSPF,%s I - ISIS, B - BGP, H - HSLS, " \
|
|
||||||
+ "L - OLSR, M - BATMAN, > - selected route, * - FIB route%s%s"
|
|
||||||
|
|
||||||
DEFUN (show_ip_route,
|
|
||||||
show_ip_route_cmd,
|
|
||||||
@@ -874,7 +884,7 @@ DEFUN (show_ip_route_supernets,
|
|
||||||
|
|
||||||
DEFUN (show_ip_route_protocol,
|
|
||||||
show_ip_route_protocol_cmd,
|
|
||||||
- "show ip route (bgp|connected|isis|kernel|ospf|rip|static)",
|
|
||||||
+ "show ip route (bgp|connected|isis|kernel|ospf|rip|olsr|batman|static)",
|
|
||||||
SHOW_STR
|
|
||||||
IP_STR
|
|
||||||
"IP routing table\n"
|
|
||||||
@@ -884,6 +894,8 @@ DEFUN (show_ip_route_protocol,
|
|
||||||
"Kernel\n"
|
|
||||||
"Open Shortest Path First (OSPF)\n"
|
|
||||||
"Routing Information Protocol (RIP)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Static routes\n")
|
|
||||||
{
|
|
||||||
int type;
|
|
||||||
@@ -892,13 +904,13 @@ DEFUN (show_ip_route_protocol,
|
|
||||||
struct rib *rib;
|
|
||||||
int first = 1;
|
|
||||||
|
|
||||||
- if (strncmp (argv[0], "b", 1) == 0)
|
|
||||||
+ if (strncmp (argv[0], "bg", 2) == 0)
|
|
||||||
type = ZEBRA_ROUTE_BGP;
|
|
||||||
else if (strncmp (argv[0], "c", 1) == 0)
|
|
||||||
type = ZEBRA_ROUTE_CONNECT;
|
|
||||||
else if (strncmp (argv[0], "k", 1) ==0)
|
|
||||||
type = ZEBRA_ROUTE_KERNEL;
|
|
||||||
- else if (strncmp (argv[0], "o", 1) == 0)
|
|
||||||
+ else if (strncmp (argv[0], "os", 2) == 0)
|
|
||||||
type = ZEBRA_ROUTE_OSPF;
|
|
||||||
else if (strncmp (argv[0], "i", 1) == 0)
|
|
||||||
type = ZEBRA_ROUTE_ISIS;
|
|
||||||
@@ -906,6 +918,10 @@ DEFUN (show_ip_route_protocol,
|
|
||||||
type = ZEBRA_ROUTE_RIP;
|
|
||||||
else if (strncmp (argv[0], "s", 1) == 0)
|
|
||||||
type = ZEBRA_ROUTE_STATIC;
|
|
||||||
+ else if (strncmp (argv[0], "ol", 2) == 0)
|
|
||||||
+ type = ZEBRA_ROUTE_OLSR;
|
|
||||||
+ else if (strncmp (argv[0], "ba", 2) == 0)
|
|
||||||
+ type = ZEBRA_ROUTE_BATMAN;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
vty_out (vty, "Unknown route type%s", VTY_NEWLINE);
|
|
||||||
@@ -1732,7 +1748,7 @@ DEFUN (show_ipv6_route_prefix_longer,
|
|
||||||
|
|
||||||
DEFUN (show_ipv6_route_protocol,
|
|
||||||
show_ipv6_route_protocol_cmd,
|
|
||||||
- "show ipv6 route (bgp|connected|isis|kernel|ospf6|ripng|static)",
|
|
||||||
+ "show ipv6 route (bgp|connected|isis|kernel|ospf6|ripng|olsr|batman|static)",
|
|
||||||
SHOW_STR
|
|
||||||
IP_STR
|
|
||||||
"IP routing table\n"
|
|
||||||
@@ -1742,6 +1758,8 @@ DEFUN (show_ipv6_route_protocol,
|
|
||||||
"Kernel\n"
|
|
||||||
"Open Shortest Path First (OSPFv3)\n"
|
|
||||||
"Routing Information Protocol (RIPng)\n"
|
|
||||||
+ "Optimized Link State Routing (OLSR)\n"
|
|
||||||
+ "Better Approach to Mobile Ad-Hoc Networking (BATMAN)\n"
|
|
||||||
"Static routes\n")
|
|
||||||
{
|
|
||||||
int type;
|
|
||||||
@@ -1750,13 +1768,13 @@ DEFUN (show_ipv6_route_protocol,
|
|
||||||
struct rib *rib;
|
|
||||||
int first = 1;
|
|
||||||
|
|
||||||
- if (strncmp (argv[0], "b", 1) == 0)
|
|
||||||
+ if (strncmp (argv[0], "bg", 2) == 0)
|
|
||||||
type = ZEBRA_ROUTE_BGP;
|
|
||||||
else if (strncmp (argv[0], "c", 1) == 0)
|
|
||||||
type = ZEBRA_ROUTE_CONNECT;
|
|
||||||
else if (strncmp (argv[0], "k", 1) ==0)
|
|
||||||
type = ZEBRA_ROUTE_KERNEL;
|
|
||||||
- else if (strncmp (argv[0], "o", 1) == 0)
|
|
||||||
+ else if (strncmp (argv[0], "os", 2) == 0)
|
|
||||||
type = ZEBRA_ROUTE_OSPF6;
|
|
||||||
else if (strncmp (argv[0], "i", 1) == 0)
|
|
||||||
type = ZEBRA_ROUTE_ISIS;
|
|
||||||
@@ -1764,7 +1782,11 @@ DEFUN (show_ipv6_route_protocol,
|
|
||||||
type = ZEBRA_ROUTE_RIPNG;
|
|
||||||
else if (strncmp (argv[0], "s", 1) == 0)
|
|
||||||
type = ZEBRA_ROUTE_STATIC;
|
|
||||||
- else
|
|
||||||
+ else if (strncmp (argv[0], "ol", 2) == 0)
|
|
||||||
+ type = ZEBRA_ROUTE_OLSR;
|
|
||||||
+ else if (strncmp (argv[0], "ba", 2) == 0)
|
|
||||||
+ type = ZEBRA_ROUTE_BATMAN;
|
|
||||||
+ else
|
|
||||||
{
|
|
||||||
vty_out (vty, "Unknown route type%s", VTY_NEWLINE);
|
|
||||||
return CMD_WARNING;
|
|
@ -1,18 +0,0 @@
|
|||||||
--- a/bgpd/bgp_route.c
|
|
||||||
+++ b/bgpd/bgp_route.c
|
|
||||||
@@ -1815,6 +1815,7 @@ bgp_update_main (struct peer *peer, stru
|
|
||||||
if ((afi == AFI_IP || afi == AFI_IP6)
|
|
||||||
&& safi == SAFI_UNICAST
|
|
||||||
&& (peer_sort (peer) == BGP_PEER_IBGP
|
|
||||||
+ || peer_sort (peer) == BGP_PEER_CONFED
|
|
||||||
|| (peer_sort (peer) == BGP_PEER_EBGP && peer->ttl != 1)
|
|
||||||
|| CHECK_FLAG (peer->flags, PEER_FLAG_ENFORCE_MULTIHOP)))
|
|
||||||
{
|
|
||||||
@@ -1862,6 +1863,7 @@ bgp_update_main (struct peer *peer, stru
|
|
||||||
if ((afi == AFI_IP || afi == AFI_IP6)
|
|
||||||
&& safi == SAFI_UNICAST
|
|
||||||
&& (peer_sort (peer) == BGP_PEER_IBGP
|
|
||||||
+ || peer_sort (peer) == BGP_PEER_CONFED
|
|
||||||
|| (peer_sort (peer) == BGP_PEER_EBGP && peer->ttl != 1)
|
|
||||||
|| CHECK_FLAG (peer->flags, PEER_FLAG_ENFORCE_MULTIHOP)))
|
|
||||||
{
|
|
@ -1,90 +0,0 @@
|
|||||||
--- a/bgpd/bgp_aspath.c
|
|
||||||
+++ b/bgpd/bgp_aspath.c
|
|
||||||
@@ -614,6 +614,47 @@ aspath_private_as_check (struct aspath *
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* AS path confed check. If aspath contains confed set or sequence then return 1. */
|
|
||||||
+int
|
|
||||||
+aspath_confed_check (struct aspath *aspath)
|
|
||||||
+{
|
|
||||||
+ caddr_t pnt;
|
|
||||||
+ caddr_t end;
|
|
||||||
+ struct assegment *assegment;
|
|
||||||
+
|
|
||||||
+ if (aspath == NULL)
|
|
||||||
+ return 0;
|
|
||||||
+
|
|
||||||
+ pnt = aspath->data;
|
|
||||||
+ end = aspath->data + aspath->length;
|
|
||||||
+
|
|
||||||
+ while (pnt < end)
|
|
||||||
+ {
|
|
||||||
+ assegment = (struct assegment *) pnt;
|
|
||||||
+ if (assegment->type == AS_CONFED_SET || assegment->type == AS_CONFED_SEQUENCE)
|
|
||||||
+ return 1;
|
|
||||||
+ pnt += (assegment->length * AS_VALUE_SIZE) + AS_HEADER_SIZE;
|
|
||||||
+ }
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/* Leftmost AS path segment confed check. If leftmost AS segment is of type
|
|
||||||
+ AS_CONFED_SEQUENCE or AS_CONFED_SET then return 1. */
|
|
||||||
+int
|
|
||||||
+aspath_left_confed_check (struct aspath *aspath)
|
|
||||||
+{
|
|
||||||
+ struct assegment *assegment;
|
|
||||||
+
|
|
||||||
+ if (aspath == NULL)
|
|
||||||
+ return 0;
|
|
||||||
+
|
|
||||||
+ assegment = (struct assegment *) aspath->data;
|
|
||||||
+ if (assegment->type == AS_CONFED_SEQUENCE || assegment->type == AS_CONFED_SET)
|
|
||||||
+ return 1;
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* Merge as1 to as2. as2 should be uninterned aspath. */
|
|
||||||
struct aspath *
|
|
||||||
aspath_merge (struct aspath *as1, struct aspath *as2)
|
|
||||||
@@ -671,6 +712,10 @@ aspath_prepend (struct aspath *as1, stru
|
|
||||||
if (seg1 == NULL)
|
|
||||||
return as2;
|
|
||||||
|
|
||||||
+ /* Delete any AS_CONFED_SEQUENCE segment from as2. */
|
|
||||||
+ if (seg1->type == AS_SEQUENCE && seg2->type == AS_CONFED_SEQUENCE)
|
|
||||||
+ as2 = aspath_delete_confed_seq (as2);
|
|
||||||
+
|
|
||||||
/* Compare last segment type of as1 and first segment type of as2. */
|
|
||||||
if (seg1->type != seg2->type)
|
|
||||||
return aspath_merge (as1, as2);
|
|
||||||
--- a/bgpd/bgp_aspath.h
|
|
||||||
+++ b/bgpd/bgp_aspath.h
|
|
||||||
@@ -76,4 +76,6 @@ unsigned int aspath_key_make (struct asp
|
|
||||||
int aspath_loop_check (struct aspath *, as_t);
|
|
||||||
int aspath_private_as_check (struct aspath *);
|
|
||||||
int aspath_firstas_check (struct aspath *, as_t);
|
|
||||||
+int aspath_confed_check (struct aspath *);
|
|
||||||
+int aspath_left_confed_check (struct aspath *);
|
|
||||||
unsigned long aspath_count ();
|
|
||||||
--- a/bgpd/bgp_attr.c
|
|
||||||
+++ b/bgpd/bgp_attr.c
|
|
||||||
@@ -673,6 +673,17 @@ bgp_attr_aspath (struct peer *peer, bgp_
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* Confederation sanity check. */
|
|
||||||
+ if ((peer_sort (peer) == BGP_PEER_CONFED && ! aspath_left_confed_check (attr->aspath)) ||
|
|
||||||
+ (peer_sort (peer) == BGP_PEER_EBGP && aspath_confed_check (attr->aspath)))
|
|
||||||
+ {
|
|
||||||
+ zlog (peer->log, LOG_ERR, "Malformed AS path from %s", peer->host);
|
|
||||||
+ bgp_notify_send (peer,
|
|
||||||
+ BGP_NOTIFY_UPDATE_ERR,
|
|
||||||
+ BGP_NOTIFY_UPDATE_MAL_AS_PATH);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
bgp = peer->bgp;
|
|
||||||
|
|
||||||
/* First AS check for EBGP. */
|
|
@ -1,38 +0,0 @@
|
|||||||
--- a/zebra/rt_netlink.c
|
|
||||||
+++ b/zebra/rt_netlink.c
|
|
||||||
@@ -487,6 +487,17 @@ netlink_interface (struct sockaddr_nl *s
|
|
||||||
/* Looking up interface name. */
|
|
||||||
memset (tb, 0, sizeof tb);
|
|
||||||
netlink_parse_rtattr (tb, IFLA_MAX, IFLA_RTA (ifi), len);
|
|
||||||
+
|
|
||||||
+#ifdef IFLA_WIRELESS
|
|
||||||
+ /* check for wireless messages to ignore */
|
|
||||||
+ if ((tb[IFLA_WIRELESS] != NULL) && (ifi->ifi_change == 0))
|
|
||||||
+ {
|
|
||||||
+ if (IS_ZEBRA_DEBUG_KERNEL)
|
|
||||||
+ zlog_debug ("%s: ignoring IFLA_WIRELESS message", __func__);
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+#endif /* IFLA_WIRELESS */
|
|
||||||
+
|
|
||||||
if (tb[IFLA_IFNAME] == NULL)
|
|
||||||
return -1;
|
|
||||||
name = (char *) RTA_DATA (tb[IFLA_IFNAME]);
|
|
||||||
@@ -943,6 +954,17 @@ netlink_link_change (struct sockaddr_nl
|
|
||||||
/* Looking up interface name. */
|
|
||||||
memset (tb, 0, sizeof tb);
|
|
||||||
netlink_parse_rtattr (tb, IFLA_MAX, IFLA_RTA (ifi), len);
|
|
||||||
+
|
|
||||||
+#ifdef IFLA_WIRELESS
|
|
||||||
+ /* check for wireless messages to ignore */
|
|
||||||
+ if ((tb[IFLA_WIRELESS] != NULL) && (ifi->ifi_change == 0))
|
|
||||||
+ {
|
|
||||||
+ if (IS_ZEBRA_DEBUG_KERNEL)
|
|
||||||
+ zlog_debug ("%s: ignoring IFLA_WIRELESS message", __func__);
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+#endif /* IFLA_WIRELESS */
|
|
||||||
+
|
|
||||||
if (tb[IFLA_IFNAME] == NULL)
|
|
||||||
return -1;
|
|
||||||
name = (char *) RTA_DATA (tb[IFLA_IFNAME]);
|
|
@ -1,20 +0,0 @@
|
|||||||
--- a/bgpd/bgp_network.c
|
|
||||||
+++ b/bgpd/bgp_network.c
|
|
||||||
@@ -109,6 +109,7 @@ bgp_accept (struct thread *thread)
|
|
||||||
peer->fd = bgp_sock;
|
|
||||||
peer->status = Active;
|
|
||||||
peer->local_id = peer1->local_id;
|
|
||||||
+ peer->v_holdtime = BGP_LARGE_HOLDTIME;
|
|
||||||
|
|
||||||
/* Make peer's address string. */
|
|
||||||
sockunion2str (&su, buf, SU_ADDRSTRLEN);
|
|
||||||
--- a/bgpd/bgpd.h
|
|
||||||
+++ b/bgpd/bgpd.h
|
|
||||||
@@ -656,6 +656,7 @@ struct bgp_nlri
|
|
||||||
/* BGP timers default value. */
|
|
||||||
#define BGP_INIT_START_TIMER 5
|
|
||||||
#define BGP_ERROR_START_TIMER 30
|
|
||||||
+#define BGP_LARGE_HOLDTIME 240
|
|
||||||
#define BGP_DEFAULT_HOLDTIME 180
|
|
||||||
#define BGP_DEFAULT_KEEPALIVE 60
|
|
||||||
#define BGP_DEFAULT_ASORIGINATE 15
|
|
@ -1,40 +0,0 @@
|
|||||||
--- a/lib/command.c
|
|
||||||
+++ b/lib/command.c
|
|
||||||
@@ -2567,6 +2567,13 @@
|
|
||||||
unlink (config_file_tmp);
|
|
||||||
return CMD_WARNING;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+#if 0
|
|
||||||
+ /* This code fails on UNION MOUNTs and similar filesystems if the
|
|
||||||
+ * config file is still on the RO layer. Hardlinks across layers
|
|
||||||
+ * will not work and cause quagga to fail saving the configuration...
|
|
||||||
+ * should use rename() to move files around...
|
|
||||||
+ */
|
|
||||||
if (link (config_file, config_file_sav) != 0)
|
|
||||||
{
|
|
||||||
vty_out (vty, "Can't backup old configuration file %s.%s", config_file_sav,
|
|
||||||
@@ -2586,7 +2593,23 @@
|
|
||||||
unlink (config_file_tmp);
|
|
||||||
return CMD_WARNING;
|
|
||||||
}
|
|
||||||
+#else
|
|
||||||
+ /* And this is the code that hopefully does work */
|
|
||||||
+ if (rename (config_file, config_file_sav) != 0)
|
|
||||||
+ {
|
|
||||||
+ vty_out (vty, "Can't backup old configuration file %s.%s", config_file_sav,
|
|
||||||
+ VTY_NEWLINE);
|
|
||||||
+ return CMD_WARNING;
|
|
||||||
+ }
|
|
||||||
+ sync ();
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if 0
|
|
||||||
+ /* same here. Please no cross-filesystem hardlinks... */
|
|
||||||
if (link (config_file_tmp, config_file) != 0)
|
|
||||||
+#else
|
|
||||||
+ if (rename (config_file_tmp, config_file) != 0)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
vty_out (vty, "Can't save configuration file %s.%s", config_file,
|
|
||||||
VTY_NEWLINE);
|
|
@ -1,29 +0,0 @@
|
|||||||
--- a/vtysh/vtysh.c
|
|
||||||
+++ b/vtysh/vtysh.c
|
|
||||||
@@ -243,7 +243,7 @@ vtysh_pager_init ()
|
|
||||||
if (pager_defined)
|
|
||||||
vtysh_pager_name = strdup (pager_defined);
|
|
||||||
else
|
|
||||||
- vtysh_pager_name = strdup ("more");
|
|
||||||
+ vtysh_pager_name = strdup ("cat");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Command execution over the vty interface. */
|
|
||||||
@@ -1745,7 +1745,7 @@ DEFUN (vtysh_terminal_length,
|
|
||||||
{
|
|
||||||
int lines;
|
|
||||||
char *endptr = NULL;
|
|
||||||
- char default_pager[10];
|
|
||||||
+ char default_pager[12];
|
|
||||||
|
|
||||||
lines = strtol (argv[0], &endptr, 10);
|
|
||||||
if (lines < 0 || lines > 512 || *endptr != '\0')
|
|
||||||
@@ -1762,7 +1762,7 @@ DEFUN (vtysh_terminal_length,
|
|
||||||
|
|
||||||
if (lines != 0)
|
|
||||||
{
|
|
||||||
- snprintf(default_pager, 10, "more -%i", lines);
|
|
||||||
+ snprintf(default_pager, 12, "head -n %i", lines);
|
|
||||||
vtysh_pager_name = strdup (default_pager);
|
|
||||||
}
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user