Go to file
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
.github ci: Use actions/cache@v3 2022-10-14 12:03:07 +09:00
arch arch/x86/x86-64: Set TLS before calling z_thread_mark_switched_in 2022-10-19 16:00:00 +02:00
boards boards: arm: stm32f3 disco has stm32cubeprogrammer as runner 2022-10-19 16:42:58 +02:00
cmake cmake: sim: Update simulator related cmake to use CONFIG_MP_MAX_NUM_CPUS 2022-10-19 16:01:10 +02:00
doc west.yml: Update zcbor to 0.6.0 2022-10-19 16:04:56 +02:00
drivers wifi: eswifi: fix random crash due to work->handler set to NULL 2022-10-19 16:06:49 +02:00
dts drivers: regulator: support regulator-boot-on for PMIC driver 2022-10-18 14:12:52 +02:00
include/zephyr net: if: Introduce carrier and dormant management on a network iface 2022-10-20 10:00:31 +02:00
kernel kernel: When TLS, skip switched_out tracing hook from dummy thread 2022-10-19 16:00:00 +02:00
lib lib: picolib: put stdio variables into libc partition 2022-10-20 09:59:42 +02:00
misc misc: generated: update configs.c template with <zephyr/...> prefix 2022-05-09 12:45:29 -04:00
modules drivers: ieee802154: properly announce promisc mode 2022-10-17 16:54:37 +02:00
samples soc: xtensa: esp32_net: 2022-10-19 16:03:00 +02:00
scripts samples: introduce 'with_mcuboot' sample to show sysbuild feature 2022-10-18 14:13:27 +02:00
share sysbuild: support sample configuration of extra images 2022-10-18 14:13:27 +02:00
soc linker: intel_adsp: discard GNU-stack notes 2022-10-19 12:00:43 -04:00
submanifests
subsys net: if: Introduce carrier and dormant management on a network iface 2022-10-20 10:00:31 +02:00
tests tests: net: socket: tls: Fix test_v4_dtls_sendmsg test case 2022-10-20 10:00:18 +02:00
.checkpatch.conf checkpatch: Ignore IS_ENABLED_CONFIG warnings 2021-10-18 08:28:01 -04:00
.clang-format clang-format: do not merge blocks/functions into single line 2022-07-15 19:18:28 -04:00
.codecov.yml
.editorconfig editorconfig: Improve verbosity 2022-04-28 08:55:39 -04:00
.gitattributes
.gitignore .gitignore: exempt scripts/build from ignore 2022-07-30 08:29:29 -05:00
.gitlint gitlint: Stop ignoring merge, revert, fixup and squash commits 2022-01-10 08:13:36 -05:00
.mailmap
CMakeLists.txt cmake: move testing of compile flag in environment to top CMakeLists.txt 2022-09-01 15:59:43 +02:00
CODE_OF_CONDUCT.md
CODEOWNERS CODEOWNERS: Remove Andrzej Puzdrowski from most maintainerships 2022-10-19 08:22:19 -05:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr linker: correct linker script _flash_used calculation 2022-10-03 13:13:46 +00:00
LICENSE
MAINTAINERS.yml MAINTAINERS: Add myself as infineon collaborator 2022-10-19 16:02:34 +02:00
README.rst readme: Update stale documentation links 2022-06-06 12:07:12 +02:00
VERSION VERSION: bump to 3.2.99 2022-09-30 13:06:22 -05:00
version.h.in cmake: version.h generation performed at build time 2022-02-08 07:50:24 -05:00
west.yml west.yml: Update zcbor to 0.6.0 2022-10-19 16:04:56 +02:00
zephyr-env.cmd
zephyr-env.sh everywhere: fix typos 2022-03-18 13:24:08 -04:00

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <img src="doc/_static/images/logo-readme.svg">
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a
   href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain">
   <img
   src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM (Cortex-A,
Cortex-R, Cortex-M), Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V,
SPARC, MIPS, and a large number of `supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
  repository; https://elixir.bootlin.com/zephyr/latest/source contains a
  searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
  devel@lists.zephyrproject.org are the main user and developer mailing lists,
  respectively. You can join the developer's list and search its archives at
  `Zephyr Development mailing list`_. The other `Zephyr mailing list
  subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
  The builds@lists.zephyrproject.org mailing list archives the CI nightly build results.
* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use
  this `Discord Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
  security issues; also see our `Security`_ documentation. Security issues are
  tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org

.. _Discord Invite: https://chat.zephyrproject.org
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help