<feed xmlns='http://www.w3.org/2005/Atom'>
<title>routing/babeld/files, branch master</title>
<subtitle>Mirror of routing feed</subtitle>
<id>https://git.openwrt.org/feed/routing/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/feed/routing/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/routing/'/>
<updated>2021-01-15T00:13:26Z</updated>
<entry>
<title>babeld: add ubus bindings</title>
<updated>2021-01-15T00:13:26Z</updated>
<author>
<name>Nick Hainke</name>
</author>
<published>2020-12-17T11:41:32Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/routing/commit/?id=ea4a3f28dcc91cd70c883484446eb9157bac4aa3'/>
<id>urn:sha1:ea4a3f28dcc91cd70c883484446eb9157bac4aa3</id>
<content type='text'>
A better integration of babeld with OpenWrt is to connect the daemon to
the IPC. So far, we can only communicate via a websocket. With ubus we
can send and receive commands in json format.

The commit adds a ubus interface to babeld with following functions:
- get_info
- get_neighbours
- get_xroutes
- get_routes

All output is divided into IPv4 and IPv6.

Ubus has to be enabled by setting "config general"
  option 'ubus_bindings' 'true'

Example:

root@OpenWrt:~# ubus call babeld get_info
{
	"babeld-version": "babeld-1.9.2",
	"my-id": "32:xx:xx:xx:xx:xx:xx:xx",
	"host": "OpenWrt"
}

root@OpenWrt:~# ubus call babeld get_neighbours
{
	"IPv4": {

	},
	"IPv6": {
		"fe80::xx:xx:xx:xxx": {
			"dev": "br-lan",
			"hello-reach": 65408,
			"uhello-reach": 0,
			"rxcost": 96,
			"txcost": 96,
			"rtt": 4338271,
			"channel": -2,
			"if_up": true
		}
	}
}

root@OpenWrt:~# ubus call babeld get_xroutes
{
	"IPv4": {
		"10.0.0.3/32": {
			"src-prefix": "0.0.0.0/0",
			"metric": 0
		},
		"10.0.0.0/24": {
			"src-prefix": "0.0.0.0/0",
			"metric": 0
		}
	},
	"IPv6": {
		"fdfa:xx:xx::1/128": {
			"src-prefix": "::/0",
			"metric": 0
		}
	}
}

root@OpenWrt:~# ubus call babeld get_routes
{
	"IPv4": {
		"10.2.0.1/32": {
			"src-prefix": "0.0.0.0/0",
			"route_metric": 96,
			"route_smoothed_metric": 96,
			"refmetric": 0,
			"id": "62:xx:xx:xx:xx:xx:xx:xx",
			"seqno": 41381,
			"channels": "",
			"age": 17,
			"via": "fe80::xx:xxxx:xxxx:xxxx",
			"nexthop": " nexthop ",
			"installed": true,
			"feasible": true
		},
	"IPv6": {

	}
}

Additional IPC functionality will follow.

Further, we changed the version to $version-ubus-mod.

Signed-off-by: Nick Hainke &lt;vincent@systemli.org&gt;
</content>
</entry>
<entry>
<title>babeld: Update example configuration file</title>
<updated>2019-08-26T18:52:37Z</updated>
<author>
<name>Baptiste Jonglez</name>
</author>
<published>2019-08-26T16:25:32Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/routing/commit/?id=3e3d16338dbb02753e3df35b4e34d03a139e59ff'/>
<id>urn:sha1:3e3d16338dbb02753e3df35b4e34d03a139e59ff</id>
<content type='text'>
More example filters are provided, and new options such as "type" or
"pref_src" are given as example.

Signed-off-by: Baptiste Jonglez &lt;git@bitsofnetworks.org&gt;
</content>
</entry>
<entry>
<title>babeld: Don't kill -9 on stop</title>
<updated>2019-08-26T16:40:35Z</updated>
<author>
<name>Baptiste Jonglez</name>
</author>
<published>2019-08-26T16:39:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/routing/commit/?id=6a92b45fac111880c3f2cb2240da40cb529ecdce'/>
<id>urn:sha1:6a92b45fac111880c3f2cb2240da40cb529ecdce</id>
<content type='text'>
Killing anything with -9 is a bad idea.  When killed this way, babeld
won't be able to properly disassociate from its neighbours, withdraw its
announced routes or remove routes from the kernel.

This got introduced in bab933d4cad8 ("babeld: Update to version 1.8.3 +
fix init") with an unrelated change.  The purpose of the change is unclear
because stopping and restarting babeld worked fine without this change.

Signed-off-by: Baptiste Jonglez &lt;git@bitsofnetworks.org&gt;
</content>
</entry>
<entry>
<title>babeld: Update to version 1.8.3 + fix init</title>
<updated>2018-10-03T17:04:46Z</updated>
<author>
<name>Michael Adams</name>
</author>
<published>2018-09-27T02:14:45Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/routing/commit/?id=bab933d4cad869d5f12d0a241b6305df36666ea5'/>
<id>urn:sha1:bab933d4cad869d5f12d0a241b6305df36666ea5</id>
<content type='text'>
24 September 2018: babeld-1.8.3

  * Fixed a read-only two byte buffer overflow in the packet parser.
    This is a read-only overflow, and hence most probably not exploitable.
  * Fixed an issue with creating unreachable routes on recent kernels
    (4.16 and up).  Thanks to Christof Schulze.
  * Notice interface changes faster by listening to more netlink events.
    Thanks to Christof Schulze.
  * Fixed a local interface issue when an interface has no link-local
    address.  Thanks to Christof Schulze.

Also, the init script was edited to kill babeld on stop; restart works properly now, as well.

Signed-off-by: Michael Adams &lt;unquietwiki@gmail.com&gt;
</content>
</entry>
<entry>
<title>babeld: Cleanup old compatibility code in initscript</title>
<updated>2017-01-15T23:13:15Z</updated>
<author>
<name>Baptiste Jonglez</name>
</author>
<published>2017-01-15T22:33:32Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/routing/commit/?id=1aacfea7b3ad97fb8c549a66fa7e7526a6419bd2'/>
<id>urn:sha1:1aacfea7b3ad97fb8c549a66fa7e7526a6419bd2</id>
<content type='text'>
It makes the init script more readable.  It has been more than two years
since babeld 1.5.1, let's hope nobody is still using the old
(undocumented) option names.

Incidentally, this commit fixes support for the "conf_dir" option,
introduced by ac643416dc ("babeld: allow changing alternative
configuration file and directory").  The default value of $OTHERCONFIGDIR
was always used, because the variable was used *before* it was (possibly)
redefined when parsing the UCI config.

Signed-off-by: Baptiste Jonglez &lt;git@bitsofnetworks.org&gt;
</content>
</entry>
<entry>
<title>babeld: add dynamic config files to the procd watch list</title>
<updated>2017-01-09T16:07:40Z</updated>
<author>
<name>Baptiste Jonglez</name>
</author>
<published>2017-01-09T16:07:40Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/routing/commit/?id=ebfb650f017fc04855b5d8697c1d017dd27f3167'/>
<id>urn:sha1:ebfb650f017fc04855b5d8697c1d017dd27f3167</id>
<content type='text'>
This way, "/etc/init.d/babeld reload" will detect when one of these
dynamic config files has changed, and restart babeld only if that is the
case.

Dynamic config files where introduced by 82d9002689 ("babeld: add support
for dynamic config files").

Signed-off-by: Baptiste Jonglez &lt;git@bitsofnetworks.org&gt;
</content>
</entry>
<entry>
<title>babeld: Properly quote variables</title>
<updated>2017-01-09T15:05:06Z</updated>
<author>
<name>Baptiste Jonglez</name>
</author>
<published>2017-01-09T15:05:03Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/routing/commit/?id=669fe615c644920b88d42943fb1920695ab30e63'/>
<id>urn:sha1:669fe615c644920b88d42943fb1920695ab30e63</id>
<content type='text'>
This was mostly introduced by 82d9002689 ("babeld: add support for dynamic
config files").

Signed-off-by: Baptiste Jonglez &lt;git@bitsofnetworks.org&gt;
</content>
</entry>
<entry>
<title>babeld: Log to the system log instead of logging to a file</title>
<updated>2017-01-09T14:43:01Z</updated>
<author>
<name>Baptiste Jonglez</name>
</author>
<published>2017-01-09T14:42:58Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/routing/commit/?id=fd424268ba0945ab6647d1fbb1674b1c85c59f82'/>
<id>urn:sha1:fd424268ba0945ab6647d1fbb1674b1c85c59f82</id>
<content type='text'>
This avoids running out of flash or RAM space if babeld logs too much.
The system log is stored on RAM by default and has a controlled size.

It is still possible to tell babeld to log to a file, by using the
following in /etc/config/babeld:

    config general
        option log_file "/var/log/babeld.log"

Signed-off-by: Baptiste Jonglez &lt;git@bitsofnetworks.org&gt;
</content>
</entry>
<entry>
<title>babeld: procd support</title>
<updated>2017-01-09T14:37:52Z</updated>
<author>
<name>Imuli</name>
</author>
<published>2014-09-16T15:07:41Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/routing/commit/?id=159dc575a6cfe965e6eeaa9e9027fc627bf6069b'/>
<id>urn:sha1:159dc575a6cfe965e6eeaa9e9027fc627bf6069b</id>
<content type='text'>
note: dependant on openwrt commit 85fabd68, adding support for null arguments.
</content>
</entry>
<entry>
<title>babeld: fix parsing of list import_table</title>
<updated>2015-08-16T16:54:32Z</updated>
<author>
<name>Nils Schneider</name>
</author>
<published>2015-08-16T16:50:02Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/routing/commit/?id=234c9d97a6f912825477cc266c40ed84fc5bdf09'/>
<id>urn:sha1:234c9d97a6f912825477cc266c40ed84fc5bdf09</id>
<content type='text'>
When parsing list options using config_load option_cb will be called
with additional options ending in _ITEM$x and _LENGTH. This ignores any
option containing _LENGTH or _ITEM as they can't possible be a valid
babeld option making a config like

    config general
        list import_table 23
        list import_table 42

work.

Signed-off-by: Nils Schneider &lt;nils@nilsschneider.net&gt;
</content>
</entry>
</feed>
