Merge pull request #506 from zorun/master

babeld: Update to 1.9.1 and assorted fixes
This commit is contained in:
zorun 2019-08-26 21:02:49 +02:00 committed by GitHub
commit 96d96eda8a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 50 additions and 27 deletions

View file

@ -8,13 +8,17 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=babeld PKG_NAME:=babeld
PKG_VERSION:=1.8.4 PKG_VERSION:=1.9.1
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.irif.fr/~jch/software/files/ PKG_SOURCE_URL:=https://www.irif.fr/~jch/software/files/
PKG_HASH:=98070dc418c190f047b8d69eb47987df30ded8f0fca353c49427d3137ad08b87 PKG_HASH:=1e1b3c01dd929177bc8d027aff1494da75e1e567e1f60df3bb45a78d5f1ca0b4
PKG_MAINTAINER:=Gabriel Kerneis <gabriel@kerneis.info>, \
Baptiste Jonglez <openwrt-pkg@bitsofnetworks.org>
PKG_LICENSE:=MIT PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENCE
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
@ -22,21 +26,17 @@ define Package/babeld
SECTION:=net SECTION:=net
CATEGORY:=Network CATEGORY:=Network
SUBMENU:=Routing and Redirection SUBMENU:=Routing and Redirection
TITLE:=A loop-free distance-vector routing protocol TITLE:=A loop-avoiding distance-vector routing protocol
URL:=https://www.irif.fr/~jch/software/babel/ URL:=https://www.irif.fr/~jch/software/babel/
MAINTAINER:=Gabriel Kerneis <gabriel@kerneis.info>, \
Baptiste Jonglez <openwrt-pkg@bitsofnetworks.org>
DEPENDS:=@IPV6 DEPENDS:=@IPV6
endef endef
define Package/babeld/description define Package/babeld/description
Babel is a loop-avoiding distance-vector routing protocol roughly based Babel is a loop-avoiding distance-vector routing protocol for IPv6 and IPv4
on DSDV and AODV, but with provisions for link cost estimation and with fast convergence properties. It is based on the ideas in DSDV, AODV and
redistribution of routes from other routing protocols. Cisco's EIGRP, but is designed to work well not only in wired networks but
While it is optimised for wireless mesh networks, Babel will also work also in wireless mesh networks, and has been extended with support for
efficiently on wired networks. It will generate between 1.2 and 2.4 times overlay networks. Babel is in the process of becoming an IETF Standard.
the amount of routing traffic that RIPng would generate, while
never counting to infinity.
endef endef
define Package/babeld/conffiles define Package/babeld/conffiles

View file

@ -1,5 +1,7 @@
package babeld package babeld
# Detailed documentation: https://openwrt.org/docs/guide-user/services/babeld
# Babeld reads options from the following files (the last one takes precedence # Babeld reads options from the following files (the last one takes precedence
# if an option is defined in several places): # if an option is defined in several places):
# - the file defined by the option conf_file (default: /etc/babeld.conf), # - the file defined by the option conf_file (default: /etc/babeld.conf),
@ -39,7 +41,10 @@ config interface
option 'ignore' 'true' option 'ignore' 'true'
## Physical interface name ## Physical interface name
option 'ifname' 'tun-example' option 'ifname' 'tun-example'
# option 'max_rtt_penalty' '90' ## Specify the type of interface: tunnels use the RTT-based metric.
option 'type' 'tunnel'
## Other options that can be overriden.
# option 'max_rtt_penalty' '96'
# A config interface without "option ifname" will set default options # A config interface without "option ifname" will set default options
# for all interfaces. Interface-specific configuration always overrides # for all interfaces. Interface-specific configuration always overrides
@ -49,27 +54,49 @@ config interface
# option 'update_interval' '30' # option 'update_interval' '30'
# A filter consists of a type ('in', 'out' or 'redistribute'), an action # A filter consists of a type ('in', 'out', 'redistribute' or 'install'),
# ('allow', 'deny' or 'metric xxx') and a set of selectors ('ip', 'eq', # a set of selectors ('ip', 'eq', etc.) and a set of actions to perform
# etc.). See babeld man page ("Filtering rules") for more details. # ('allow', 'deny', 'metric xxx', 'src-prefix xxx', 'table xxx', 'pref-src xxx').
# Here is a sample filter wich redistributes the default route if its # See babeld man page ("Filtering rules") for more details.
# protocol number is "boot", e.g. when it installed by dhcp. It is
# disabled by default. # Below is a sample filter that redistributes the default route if its
# protocol number is "boot", e.g. when it is installed by dhcp (see
# /etc/iproute2/rt_protos). This filter is disabled thanks to the 'ignore'
# setting.
config filter config filter
option 'ignore' 'true' option 'ignore' 'true'
# Type # Type of filter
option 'type' 'redistribute' option 'type' 'redistribute'
# Selectors: ip, eq, le, ge, src_ip, src_eq, src_le, src_ge, neigh, id, # Selectors: ip, eq, le, ge, src_ip, src_eq, src_le, src_ge, neigh, id,
# proto, local, if. # proto, local, if.
option 'ip' '0.0.0.0/0' option 'ip' '0.0.0.0/0'
option 'eq' '0' option 'eq' '0'
option 'proto' '3' option 'proto' '3'
# Action (one of: allow, deny, metric XXX, src-prefix XXX). # Action, which can be any of: allow, deny, metric <NUMBER>, src-prefix <PREFIX>,
# table <ID>, pref-src <IP>.
# The action defaults to "allow" if not specified. Here, we specify a higher
# redistribution metric than the default (0).
option 'action' 'metric 128' option 'action' 'metric 128'
# Notice that the 'local' selector is a boolean. # Another example filter: don't redistribute local addresses in a certain IP prefix.
# By default, babeld redistributes *all* local addresses.
config filter config filter
option 'ignore' 'true' option 'ignore' 'true'
option 'type' 'redistribute' option 'type' 'redistribute'
# Only apply to routes/addresses within this prefix.
option 'ip' '198.51.100.0/24'
# Notice that the 'local' selector is a boolean.
option 'local' 'true' option 'local' 'true'
# No action means "allow" # Don't redistribute.
option 'action' 'deny'
# Example install filter, to change or filter routes before they are inserted
# into the kernel.
config filter
option 'ignore' 'true'
option 'type' 'install'
# Optional: only apply to routes within 2001:db8:cafe::/48
option 'ip' '2001:db8:cafe::/48'
# We specify the kernel routing table and the preferred source address to use for these routes.
# "Allow" is implicit.
option 'action' 'table 200 pref-src 2001:db8:ba:be1::42'

View file

@ -197,10 +197,6 @@ start_service() {
procd_close_instance procd_close_instance
} }
stop_service() {
killall -9 babeld
}
service_triggers() { service_triggers() {
procd_add_reload_trigger babeld procd_add_reload_trigger babeld
} }