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.
Property:libneighbour.so
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 |
Command: | libneighbour.so - type Link, Lib | Wiki | Freetz | IPPF | whmf | AVM | Web |
Location: | Shell-Commands >> Shared-Libraries - Origin: AVM | ||||||
Path: | Release: /lib Lab+Rel: /lib | ||||||
Properties: | Size: 35.0k - 46.9k, Link - Firmware: 7.70 - 7.90 | ||||||
Function: | Neighbour discovery and notification API |
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:
- EVENT_NEIGHETHADDR_EVENT - for
neighethaddr_*
functions - used by multid and showneighbours - STATE_NEIGHALLOWEDNETS_STATE - for
neighallowednets_*
functions - used by multid and libcmapi.so for ctlmgr - STATE_NEIGH_PATHS_STATE - for
neigh_paths_*
functions - used by latencyd
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 |