If you like BoxMatrix then please contribute Supportdata, Supportdata2, Firmware and/or Hardware (get in touch).
My metamonk@yahoo.com is not reachable by me since years. Please use hippie2000@webnmail.de instead.

0
U

Property:libneighbour.so

From BoxMatrix


BoxMatrix >> Shell-Commands >> libneighbour.so @ BoxMatrix   -   IRC-Chat   -   Translate: de es fr it nl pl
News Selectors Models Accessories Components Environment Config Commands System Webif Software Develop Lexicon Community Project Media

Startup-Scr Hotplug-Scr BusyBox-Cmds Bash-Cmds AVM-Cmds Chipset-Cmds Linux-Cmds Shared-Libs Kernel-Mods Research

Shared-Library

Goto:   Events  -  Source  -  Dependencies   -   Model-Matrix   -   Symbols   -   SMW-Browser

Details

libneighbour.so is the neighbour discovery and notification API.
It is an enhanced solution based on code which was part of libar7cfg.so before fw 7.70,

It gathers and caches information about all neighbours (hosts) in the LAN.

Gathered information includes per neighbour:

  • ethaddr - the MAC address
  • inaddr - the v4 and v6 IPs
  • allowednets - the v4 and v6 subnets joined
  • paths - the interface linking to the neighbour

libneighbour.so sends the EVENT_NEIGHETHADDR_GET_ALL_NEIGHBOURS event to the AVMIPC-Datastore.
This event is listened by multid or rextd through the me_neighbour.ctl socket.

multid or rextd then respond these events and states:

The users named for these functions register one of their avmipc sockets with this library, that's why they appear as listeners.

There are also neighbourwatch_* functions which can register a listener for notification about all or one of the neighbours.
This is used by usermand2, vpnd, ddnsd, multid, latencyd, showneighbours, libmeshd.so (meshd) and libcmapi.so (ctlmgr).

Note that this all happened in limited form in libar7cfg.so before fw 7.70, since ar7.cfg stores the list of known hosts.
neighethaddr_*, neighallowednets_* and neighbourwatch_* functions were part of libar7cfg.so before fw 7.70.
neigh_paths_* and neighbourcache_* functions and STATE_NEIGH_PATHS_STATE are new to fw 7.70 and libneighbour.so.

Events

This library sends or receives the avmipc events and states explained above.

This section will turn a table once fw 7.70 Supportdata2 probes arrive.

Source

The names of source files compiled into an executable often help to understand function blocks (and show gaps in the docs).
fw 7.70 source files:

$ strings /lib/libneighbour.so | grep -e '\.c$' -e '\.cpp$'

ar7/libneighbour/neighbourwatch.c
ar7/libneighbour/neighbourcache.c
build/grx5/ar7/libneighbour/neighcfg.c  

Dependencies

Daily updated index of all dependencies of this library. Last update: 2024-04-27 07:32 GMT.
A * in the Mod column marks info from Supportdata-Probes, which will always stay incomplete.

Relation Typ Object Mod Firmware Info Origin
Depends on lib ld.so 3 7.70 - 7.90 Dynamic linker / loader Linux
Depends on lib libavmcsock.so 13 7.70 - 7.90 Networking, I/O and helper functions AVM
Depends on lib libc.so 13 7.70 - 7.90 Standard C library Linux
Depends on lib libdl.so 7 7.70 - 7.90 Dynamic linking library Linux
Depends on lib libpthread.so 7 7.70 - 7.90 POSIX threading library Linux
Depends on lib librt.so 7 7.70 - 7.90 POSIX realtime extensions library Linux
Depends on lib libsvctl.so 13 7.70 - 7.90 supervisor notification library AVM
Depends on lib libz.so 13 7.70 - 7.90 Zlib compressor / decompressor Linux
Required by lib libcmapi.so 13 7.70 - 7.90 API library for ctlmgr and its plugins. AVM
Required by lib libfon.so 13 7.70 - 7.90 ctlmgr plugin library for Telephony config AVM
Required by lib libmailbuilder.so 13 7.70 - 7.90 ctlmgr plugin library and Lua-Library for creating Push-Mail AVM
Required by lib libmesh_plcservice.so 13 7.70 - 7.90 meshd topology extension for Powerline devices AVM
Required by lib libmeshd.so 13 7.70 - 7.90 API library for meshd and its extensions. AVM
Required by lib libtr064.so 13 7.70 - 7.90 ctlmgr plugin library for TR-064 config AVM
Required by lib libtr069.so 13 7.70 - 7.90 ctlmgr plugin library for TR-069 config AVM
Required by lib libuser.so 13 7.70 - 7.90 ctlmgr plugin library for Box-User config AVM
Required by lib libusp.so 13 7.70 - 7.90 ctlmgr plugin library for TR-369 / USP config AVM
Required by cmd ctlmgr (avmcmd) 13 7.70 - 7.90 System meta daemon also serving the Webinterface. AVM
Required by cmd ddnsd (avmcmd) 13 7.70 - 7.90 Dynamic DNS daemon. AVM
Required by cmd latencyd (avmcmd) 13 7.70 - 7.90 WAN / LAN / neighbour Flow Latency Monitoring daemon. AVM
Required by cmd meshd (avmcmd) 13 7.70 - 7.90 Mesh topology and steering daemon. AVM
Required by cmd multid (avmcmd) 13 7.70 - 7.90 LAN management daemon. AVM
Required by cmd showneighbours 13 7.70 - 7.90 supportdata helper showing alllowed subnets, neighbours and their pathes. AVM
Required by cmd testavmcounter_mac 12 7.90 Commandline frontend to test libavmcounter_mac.so. AVM
Required by cmd usermand2 13 7.70 - 7.90 User magager daemon, parental control, new version. AVM
Required by cmd vpnd (avmcmd) 13 7.70 - 7.90 VPN daemon. AVM
26 dependencies for this library

Model-Matrix

Daily updated index of the presence, path and size of this library for each model. Last update: 2024-04-27 05:16 GMT.
Showing all models using this library. Click any column header (click-wait-click) to sort the list by the respective data.
The (main/scrpn/boot/arm/prx/atom) label in the Model column shows which CPU is meant for models with multiple Linux instances.
Note that this list is merged from Firmware-Probes of all known AVM firmware for a model, including Recovery.exe and Labor-Files.

Model Firmware Path Size
FRITZ!Box 5530 Fiber (main) 7.70 - 7.80 /lib 42.5k, Link
FRITZ!Box 5590 Fiber (arm) 7.70 - 7.90 /lib 35.0k - 39.1k, Link
FRITZ!Box 6591 Cable (arm) 7.90 /lib 46.9k, Link
FRITZ!Box 6591 Cable (atom) 7.90 /lib 46.9k, Link
FRITZ!Box 6660 Cable (arm) 7.90 /lib 46.9k, Link
FRITZ!Box 6660 Cable (atom) 7.90 /lib 46.9k, Link
FRITZ!Box 6690 Cable (arm) 7.90 /lib 46.9k, Link
FRITZ!Box 6690 Cable (atom) 7.90 /lib 46.9k, Link
FRITZ!Box 6850 LTE 7.90 /lib 35.0k, Link
FRITZ!Box 6850 5G 7.90 /lib 35.0k, Link
FRITZ!Box 7530 AX 7.70 - 7.90 /lib 35.1k - 39.1k, Link
FRITZ!Box 7590 7.90 /lib 42.3k - 42.5k, Link
FRITZ!Box 7590 AX 7.70 - 7.90 /lib 42.3k - 42.5k, Link
13 models use this library

Symbols

Daily updated index of all symbols of this library. Last update: 2024-04-27 07:32 GMT.

Firmware Symbol
7.70 - 7.90 NEIGHCFG_neigh_link_alloc
7.70 - 7.90 NEIGHCFG_neigh_link_free
7.70 - 7.90 NEIGHCFG_neigh_path_info_alloc
7.70 - 7.90 NEIGHCFG_neigh_path_info_free
7.70 - 7.80 NEIGHCFG_neigh_paths_alloc
7.70 - 7.80 NEIGHCFG_neigh_paths_free
7.70 - 7.90 NEIGHCFG_neighalias_alloc
7.70 - 7.90 NEIGHCFG_neighalias_free
7.70 - 7.80 NEIGHCFG_neighallowednets_alloc
7.70 - 7.80 NEIGHCFG_neighallowednets_free
7.70 - 7.80 NEIGHCFG_neighethaddr_alloc
7.70 - 7.80 NEIGHCFG_neighethaddr_free
7.70 - 7.90 NEIGHCFG_neighinaddr_alloc
7.70 - 7.90 NEIGHCFG_neighinaddr_free
7.70 - 7.90 NEIGHCFG_neighv4subnet_alloc
7.70 - 7.90 NEIGHCFG_neighv4subnet_free
7.70 - 7.90 NEIGHCFG_neighv6subnet_alloc
7.70 - 7.90 NEIGHCFG_neighv6subnet_free
7.70 - 7.90 neigh_paths_clone
7.70 - 7.90 neigh_paths_free
7.70 - 7.90 neigh_paths_getcfg
7.70 - 7.90 neigh_paths_register
7.70 - 7.90 neigh_paths_register_cbdata
7.70 - 7.90 neigh_paths_register_with_cbdata
7.70 - 7.90 neigh_paths_setcfg
7.70 - 7.90 neigh_paths_unregister
7.70 - 7.90 neigh_paths_unregister_with_cbdata
7.70 - 7.90 neighallowednets_clone
7.70 - 7.90 neighallowednets_free
7.70 - 7.90 neighallowednets_getcfg
7.70 - 7.90 neighallowednets_register
7.70 - 7.90 neighallowednets_register_cbdata
7.70 - 7.90 neighallowednets_register_with_cbdata
7.70 - 7.90 neighallowednets_setcfg
7.70 - 7.90 neighallowednets_unregister
7.70 - 7.90 neighallowednets_unregister_with_cbdata
7.70 - 7.90 neighbourcache_exit
7.70 - 7.90 neighbourcache_get_by_inaddr
7.70 - 7.90 neighbourcache_get_by_mac
7.70 - 7.90 neighbourcache_get_by_uniqid
7.70 - 7.90 neighbourcache_init
7.70 - 7.90 neighbourcache_update
7.70 - 7.90 neighbourcache_walk
7.70 - 7.90 neighbourcache_walk_with_ifname
7.70 - 7.90 neighbourwatch_alloc_neighbour_paths
7.70 - 7.90 neighbourwatch_append_neigh_link
7.70 - 7.90 neighbourwatch_append_neighbour_path_info
7.70 - 7.90 neighbourwatch_cache_get_by_inaddr
7.70 - 7.90 neighbourwatch_cache_get_by_mac
7.70 - 7.90 neighbourwatch_cache_get_by_uniqid
7.70 - 7.90 neighbourwatch_cache_walk
7.70 - 7.90 neighbourwatch_cache_walk_with_ifname
7.70 - 7.90 neighbourwatch_change_filter
7.70 - 7.90 neighbourwatch_disable_cache
7.70 - 7.90 neighbourwatch_enable_cache
7.70 - 7.90 neighbourwatch_exit
7.70 - 7.90 neighbourwatch_exit_server
7.70 - 7.90 neighbourwatch_exit_specific
7.70 - 7.90 neighbourwatch_free_neighbour_paths
7.70 - 7.90 neighbourwatch_init
7.70 - 7.90 neighbourwatch_init_server
7.70 - 7.90 neighbourwatch_init_with_filter
7.70 - 7.90 neighbourwatch_listen_neighbour_paths
7.70 - 7.90 neighbourwatch_notify_neighbour_paths
7.70 - 7.90 neighbourwatch_query
7.70 - 7.90 neighbourwatch_query_specific
7.70 - 7.90 neighbourwatch_send
7.70 - 7.90 neighbourwatch_send_end
7.70 - 7.90 neighbourwatch_send_private
7.90 neighbourwatch_server_available
7.70 - 7.90 neighbourwatch_unlisten_neighbour_paths
7.70 - 7.90 neighethaddr_clone
7.70 - 7.90 neighethaddr_event_register
7.70 - 7.90 neighethaddr_event_register_cbdata
7.70 - 7.90 neighethaddr_event_register_with_cbdata
7.70 - 7.90 neighethaddr_event_send
7.70 - 7.90 neighethaddr_event_unregister
7.70 - 7.90 neighethaddr_free
7.70 - 7.90 neighethaddr_getcfg
7.70 - 7.90 neighethaddr_show_change_flag
7.70 - 7.90 neighethaddr_unregister_with_cbdata
81 symbols for this library

SMW-Browser

Information is currently being retrieved from the backend.
 

Synonyms

Showing 1 related property.

l