zephyr/subsys
Robert Lubos efd03a86d7 net: if: Introduce carrier and dormant management on a network iface
Introduce a new interface state management scheme, according to
RFC 2863. This includes the following changes:

* Introduce a new interface flag: NET_IF_LOWER_UP, along with
  corresponding helper functions. The flag should be set/cleared on an
  interface by a network driver/L2 to signalize physical readiness of an
  interface to transmit data (for example cable plugged in).

* Introduce a new interface flag: NET_IF_DORMANT, along with
  corresponding helper functions. The flag should be set on an
  iterface when the interface is not ready to transmit application data,
  for example still not joined a Wi-Fi network.

* Introduce a new interface flag: NET_IF_RUNNING, indicating that
  interface is ready to transmit application data.

* Update the meaning of the NET_IF_UP flag - it now singnalizes whether
  an interface has been brought up/down by the application (admin
  up/down).

* Introduce operational state of an interface, derived from above. It
  reflects the internal interface state.

The meaning of net_if_is_up() function and NET_EVENT_IF_UP/DOWN events
remains unchanged to retain backward compability - they reflect the
interface readiness to transmit application data.

To verify the administrative up/down state, a new function
net_if_is_admin_up() has been introduced, along with
NET_EVENT_IF_ADMIN_UP/DOWN events.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-10-20 10:00:31 +02:00
..
bluetooth Bluetooth: Host: Document bt_irk.rpa 2022-10-20 10:17:04 +03:00
canbus drivers: can: remove z prefix from public CAN API types 2022-08-18 10:19:29 +02:00
console includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
cpp cpp: Add C++20 [[nodiscard]] attribute to operator new 2022-10-03 10:13:25 +02:00
debug kernel: Option to assert on spin lock time 2022-10-18 14:14:12 +02:00
demand_paging different subsystems: use unsigned int for irq_lock() 2022-07-14 14:37:13 -05:00
dfu dfu: include MCUboot's bootutil_public.h 2022-09-19 18:36:37 +02:00
disk
emul emul: emul_sbs_gauge: Fix compile 2022-08-17 12:47:16 -05:00
fb includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
fs include: add missing kernel.h include 2022-10-11 18:05:17 +02:00
ipc ipc: Add deregister API support for icmsg backend 2022-10-17 14:49:42 +02:00
jwt
logging logging: Add ipc_service log link 2022-10-17 10:16:53 +02:00
lorawan include: add missing kernel.h for lorawan subsys 2022-10-17 18:10:10 +09:00
mgmt mgmt/mcumgr: Deprecate zephyr_ prefixed API 2022-10-18 12:05:42 +02:00
modbus includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
net net: if: Introduce carrier and dormant management on a network iface 2022-10-20 10:00:31 +02:00
pm smp: Move arrays to use CONFIG_MP_MAX_NUM_CPUS 2022-10-17 14:40:12 +09:00
portability subsys/cmsis_v*: Fix racy mutex testing, decouple from k_mutex 2022-10-17 10:13:56 +02:00
random random: initialize devices at compile time 2022-08-19 11:51:26 +02:00
rtio rtio: Release sqe before submitting cqe 2022-10-04 09:31:13 -05:00
sd sd: enable 4 bit bus width for high speed cards 2022-10-03 14:22:33 +02:00
settings settings: Switch from FIXED_AREA_ to FIXED_PARTITION_ macros 2022-09-06 09:56:37 +02:00
shell smp: Move arrays to use CONFIG_MP_MAX_NUM_CPUS 2022-10-17 14:40:12 +09:00
stats stats: shell: enable the stats shell if both stats and shell are enabled 2022-10-12 06:46:34 +02:00
storage include: add missing errno.h include 2022-10-11 18:05:17 +02:00
task_wdt task_wdt: Fix build warning on 64-bit platforms 2022-08-23 10:16:04 +02:00
testsuite smp: Move arrays to use CONFIG_MP_MAX_NUM_CPUS 2022-10-17 14:40:12 +09:00
timing
tracing smp: Move arrays to use CONFIG_MP_MAX_NUM_CPUS 2022-10-17 14:40:12 +09:00
usb include: add missing sys/slist.h include 2022-10-11 18:05:17 +02:00
CMakeLists.txt dfu: fixup conditional CMake include 2022-08-05 15:14:40 +02:00
Kconfig