nic drivers: provide optional Uplink-client mode

In order to perform a smooth transition from NIC drivers that act only as NIC
session clients to NIC drivers that act only as Uplink session clients, this
commit introduces an intermediate state in which all NIC drivers support both
modes. That said, a NIC drivers mode is now statically determined through a new
optional 'mode' attribute in the drivers <config> tag that can be set to either
'nic_server' (default value) or 'uplink_client'. Reconfiguring this attribute
at a driver doesn't have any effects. Whithout this attribute being set, all
NIC drivers will behave the same as they did before the commit. When set to
'uplink_client', however, instead of providing a Nic service, they request
an Uplink session whenever their network interface becomes "UP" and close the
session whenever their network interface becomes "DOWN".

Ref #3961
This commit is contained in:
Martin Stein
2021-01-06 16:31:10 +01:00
committed by Norman Feske
parent 1d2649b49a
commit f6d195a9de
71 changed files with 3627 additions and 994 deletions

View File

@ -11,7 +11,7 @@ SHARED_LIB = yes
# wifi_include *must* be the first library, otherwise the include
# order is wrong
#
LIBS += wifi_include lx_kit_setjmp
LIBS += wifi_include lx_kit_setjmp nic_driver
LD_OPT += --version-script=$(LIB_DIR)/symbol.map