Nick Hainke ea4a3f28dc babeld: add ubus bindings
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 <vincent@systemli.org>
2021-01-15 01:13:26 +01:00
2021-01-15 01:13:26 +01:00
2020-08-11 12:36:05 -07:00
2020-08-11 12:36:34 -07:00
2020-10-05 16:00:40 -07:00
2020-10-05 16:01:17 -07:00
2020-12-26 11:52:20 +00:00
2020-12-17 06:28:05 +00:00
2018-08-12 18:03:38 +02:00
2020-07-08 15:54:08 +02:00
2021-01-11 14:10:33 +00:00
2018-06-19 08:01:14 -03:00

This is an OpenWrt package feed containing community maintained routing packages.

To use these packages, add the following line to the feeds.conf
in the OpenWrt buildroot:

  src-git routing git://github.com/openwrt-routing/packages.git
  
Update the feed:

  ./scripts/feeds update routing
  
Activate the package:

  ./scripts/feeds install -a -p routing
  
The routing packages should now appear in menuconfig.


Description
OpenWrt Routing Packages
Readme 4.6 MiB
Languages
Shell 34.9%
Makefile 32.6%
Lua 15.9%
C 14.8%
HTML 1.8%