zephyr/subsys
Jukka Rissanen aef83fce14 net: if: Allow selecting deprecated IPv6 address as src addr
This adjust the IPv6 source address selection so that it is possible
to select deprecated IPv6 address if no better preferred address is found.

From RFC 6724 chapter 5:

   Rule 3: Avoid deprecated addresses.
   If one of the two source addresses is "preferred" and one of them is
   "deprecated" (in the RFC 4862 sense), then prefer the one that is
   "preferred".

   Rule 8: Use longest matching prefix.
   If CommonPrefixLen(SA, D) > CommonPrefixLen(SB, D), then prefer SA.
   Similarly, if CommonPrefixLen(SB, D) > CommonPrefixLen(SA, D), then
   prefer SB.

So the fix allows deprecated address to be selected if it is a better
match than the preferred one. The reasoning here is that an address with
a longer matching prefix is generally considered topologically closer to
the destination. Using such a source address can lead to more efficient
routing, as it's more likely that the source and destination are within
the same network segment or a closely related one.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-25 19:00:59 +02:00
..
bindesc
bluetooth Bluetooth: Controller: Fix window widening for parameter update 2025-04-25 15:56:04 +02:00
canbus
console
dap dap: add DAP backend USB 2025-03-11 18:54:24 +01:00
debug debug: cpu_load: Add missing static keyword 2025-04-16 14:53:30 +02:00
demand_paging
dfu
disk
dsp
emul
fb cfb: fix get_glyph_byte for vtiled displays 2025-04-18 12:36:16 +02:00
fs zms: add more robustiness in extreme cases 2025-04-16 20:36:49 +02:00
input
ipc ipc_service: ipc_icbmsg: Update backend API return values 2025-03-28 12:21:30 +01:00
jwt
llext llext: optimize allocations for read-only sections 2025-03-21 14:41:30 -04:00
logging logging: mtrace: don't activate with hook == NULL 2025-04-25 19:00:49 +02:00
lorawan lorawan: add link check support. 2025-04-17 17:23:12 +02:00
mem_mgmt
mgmt mcumgr: fs_mgmt: Add a hook on download/upload complete. 2025-04-24 16:53:35 +02:00
modbus
modem modem: cmux: Do not return error on low buffer space 2025-03-24 19:33:07 +01:00
net net: if: Allow selecting deprecated IPv6 address as src addr 2025-04-25 19:00:59 +02:00
pm pm: policy: default: Optimize power state selection 2025-04-21 07:45:07 +02:00
pmci pmci: mctp: Fix No SOURCES CMake warning 2025-04-23 17:55:19 +02:00
portability portability: cmsis: Avoid copying objects names into control block 2025-04-14 20:03:19 +02:00
profiling arch: Unify declaration of text region 2025-04-23 02:15:25 +02:00
random random: Correct Mutex define 2025-03-04 21:55:45 +01:00
retention
rtio rtio: Transactions assume valid next list nodes 2025-03-14 01:02:10 +01:00
sd sd: correct mismatched comment for CONFIG_SDMMC_STACK 2025-03-31 21:59:40 +02:00
secure_storage secure_storage: its: store: settings: allow using custom setting names 2025-04-08 14:22:59 +02:00
sensing
settings settings: fix settings shell subcommand helper 2025-03-29 06:31:39 +01:00
shell shell: mqtt: use ring_buf_reset to flush rx_rb 2025-04-09 22:06:05 +02:00
sip_svc
stats
storage storage: flash_map: add flash_area_copy() 2025-04-14 16:07:35 +02:00
task_wdt task_wdt: Add suspend and resume API functions 2025-04-02 13:05:14 +02:00
testsuite ztest: Fix confusing SKIP log 2025-04-04 21:16:34 +02:00
timing
tracing kernel: kheap: decouple simple alloc from aligned_alloc 2025-04-01 22:13:04 +02:00
usb usb: device: remove loopback function in favor of new device stack 2025-04-23 02:15:10 +02:00
zbus zbus: remove k_malloc dependency for ZBUS_RUNTIME_OBSERVERS 2025-04-14 20:03:09 +02:00
CMakeLists.txt pmci: Move MCTP into the PMCI subsys 2025-04-21 12:43:33 +02:00
Kconfig pmci: Move MCTP into the PMCI subsys 2025-04-21 12:43:33 +02:00