1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

24663 Commits

Author SHA1 Message Date
Martine S. Lenders
85737a0436
gnrc_netif: remove misleading comment
The comment exists since the introduction of the [original
implementation], but its meaning is unclear and misleading, as the code
doesn't do anything with link-local.

[original implementation]: https://github.com/RIOT-OS/RIOT/pull/3561
2020-01-14 09:54:18 +01:00
Martine S. Lenders
46fd632e91
gnrc_netif: highest source address scope wins selection
Rule 2 of the source address algorithm outlined in [RFC6724] states the
possible source addresses must also be compared among each other:

>     Rule 2: Prefer appropriate scope.
>     If Scope(SA) < Scope(SB): If Scope(SA) < Scope(D), then prefer SB and
>     otherwise prefer SA.  Similarly, if Scope(SB) < Scope(SA): If
>     Scope(SB) < Scope(D), then prefer SA and otherwise prefer SB.

Our current implementation doesn't do that. It just checks if the scope
of a possible source is lesser than the scope of the destination
(which involves the second "If" in the rule).

This fix grants points according to the scope of an address. If the
scope matches, they get the highest points, ensuring that the selected
source will always be reachable from the destination.

[RFC6724]: https://tools.ietf.org/html/rfc6724
2020-01-14 09:54:17 +01:00
Francisco
0364c39694
Merge pull request #12408 from miri64/gnrc_netif/fix/src-addr-selection
gnrc_netif: only use prefix matching as tie-breaker in source selection
2019-10-24 17:14:17 +02:00
265020cee3
Merge pull request #12467 from fjmolinas/pr_suit_use_cc2519
sys/suit: use c25519 instead of hacl
2019-10-24 17:02:34 +02:00
Martine Lenders
020af4145a tests: provide more test cases for source address selection
- ULA destination with global address on interface
- Deprecated addresses
2019-10-24 16:04:41 +02:00
Martine S. Lenders
e9d75f5655 gnrc_netif: remove filter parameter from _match_to_idx()
`_match_to_idx()` was removed from source address selection (which was
the only one setting the filter parameter to a non-NULL value), so it
is the parameter is not needed anymore.
2019-10-24 16:04:41 +02:00
Martine S. Lenders
e787f6b60d gnrc_netif: only use prefix matching as tie-breaker in source selection
When source address selection is done, both RFC and comments in the code
state, that a longest prefix match should *only* be used as a
tie-breaker between more than one viable candidate. If there is only one
address, there is

a) no need for a tie-breaker
b) in the case of either the destination address or the single remaining
   address being ULAs ([which are considered to be of global scope]
   [RFC4193]) possibly not matching, as `fd00::/7` and e.g. `2001::/8`
   do not have a common prefix.

(b) in fact causes the match function to return -1, causing the source
address selection to return -1, causing the outer function to return the
first address it found (which most often is the link-local address),
causing e.g. a ping to an ULA to fail, even is there is a global
address.

[RFC4193]: https://tools.ietf.org/html/rfc4193
2019-10-24 16:04:41 +02:00
Cenk Gündoğan
e0ab8776f3
Merge pull request #12547 from miri64/gnrc_netif/enh/warn-no-ARSM
gnrc_netif: warn when not joining solicited-nodes from non-6LN netif
2019-10-24 13:46:38 +02:00
Martine Lenders
e990b26d5b
Merge pull request #12560 from miri64/gnrc_sixlowpan/cleanup/rb-remainders
gnrc_sixlowpan: move remaining reassembly buffer components to gnrc_sixlowpan_frag_rb
2019-10-24 13:38:55 +02:00
Vincent Dupont
3fb3b62ea2
Merge pull request #12507 from gschorcht/core/static_assert
core/assert: allow multiple static_asserts within a function
2019-10-24 13:38:00 +02:00
Martine Lenders
796d6a3167 gnrc_sixlowpan: move garbage collect msg type to reassembly buffer 2019-10-24 12:41:29 +02:00
Martine Lenders
750fd30bb4 gnrc_sixlowpan_config: fix module doc for reassembly buffer config 2019-10-24 12:41:29 +02:00
Martine S. Lenders
9103e5b98e tests: set log level to ERROR for gnrc_ipv6_nib_6ln test
This way it still fits on `z1`.
2019-10-24 11:42:35 +02:00
Martine Lenders
0838199c36
Merge pull request #12555 from miri64/gnrc_pktbuf_static/enh/unify-ptr-stats
gnrc_pktbuf_static: unify NULL pointer output for stats
2019-10-24 09:09:19 +02:00
Martine Lenders
41708d9f03 gnrc_pktbuf_static: unify NULL pointer output for stats
Different platforms evaluate `printf()` for NULL pointers differently,
resulting tests checking for a certain output to fail. This unifies that
(debug) output for the static packet buffer statistics.
2019-10-23 14:56:29 +02:00
Dylan Laduranty
97258b9aeb
Merge pull request #12549 from bergzand/pr/usb/codespell_fixes
usb/misc: Fix spelling mistakes pointed out by codespell
2019-10-23 11:16:20 +02:00
Francisco
720d4bde4a
Merge pull request #12452 from aabadie/pr/make/fail_by_default_on_expect_errors
Makefile.include: fail by default when errors are expected
2019-10-23 10:47:36 +02:00
d22ddc1e95
usbus: Fix usb, initialization and detected spelling mistakes
This commit fixes a number of difficult words in the USB stack and
related test files.
2019-10-23 10:43:52 +02:00
063ee3352c
usbus/control: fix spelling errors in control slicer 2019-10-23 10:40:02 +02:00
9eee6bc0a1
usbdev: Fix spelling mistakes 2019-10-23 10:36:49 +02:00
acdb010669
sam0_common/usb: fix typo in comment 2019-10-23 10:35:47 +02:00
Dylan Laduranty
0bbb114ec6
Merge pull request #12534 from bergzand/pr/usbus/cdcecm_early_exit_on_inactive
cdcecm: early exit on inactive usb interface
2019-10-23 10:09:11 +02:00
45745579bc
cdcecm: early exit on inactive usb interface
This adds an early exit when the usb interface with the data endpoints
is not activated. This prevents the cdc_ecm_netdev code from attempting
to send the PDU when the USB device is not yet initialized or activated
by a host.
2019-10-23 09:41:27 +02:00
Martine Lenders
88090bc0f6 gnrc_netif: warn when not joining solicited-nodes from non-6LN netif
Similar as with #12513, when the NIB is compiled in 6LN mode (but not
6LR mode), the address-resolution state-machine (ARSM) functionality is
disabled in favor of the more simpler address resolution proposed in RFC
6775.

However, if a non-6LN interface is also compiled in (without making it
a router or border router) it will never join the solicited-nodes
multicast address of addresses added to it, resulting in address
resolution to that interface to fail.

If the interface is not a 6LN (which in case 6LN mode is disabled is
always false), a warning is now printed, encouraging the user to
activate the ARSM functionality if needed.
2019-10-22 22:14:03 +02:00
Kees Bakker
046c10ecce
Merge pull request #12546 from aabadie/pr/boards/common/sodaq_arduino
boards/sodaq: restore accidentally removed arduino feature
2019-10-22 19:59:34 +02:00
f84cdc4044
boards/sodaq: restore accidentally removed arduino feature 2019-10-22 19:06:16 +02:00
6ff2b6408a
Makefile.include: fail by default when errors are expected
The build can still be forced by adding WERROR=0 to the command line
2019-10-22 18:43:55 +02:00
efbd758786
Merge pull request #12544 from kaspar030/fix_event_typo
sys/event: fix typo: imlementation -> implementation
2019-10-22 16:57:08 +02:00
e2049cce49
Merge pull request #12539 from fjmolinas/pr_isr_yield_relative_time
tests/isr_yield_higher: adapt TEST_TIME to start-up time
2019-10-22 16:50:53 +02:00
4d7af5d170 sys/event: fix typo: imlementation -> implementation 2019-10-22 16:23:08 +02:00
Francisco Molina
0d91e61dbb tests/isr_yield_higher: adapt TEST_TIME to start-up time 2019-10-22 16:20:48 +02:00
Francisco
88a6ad9df8
Merge pull request #12541 from aabadie/pr/boards/arduino_zero_adc
boards/arduino-zero: configure ADC channels
2019-10-22 15:56:38 +02:00
Marian Buschsieweke
cd5cda21d4
Merge pull request #12538 from gschorcht/cpu/esp32/fix_cs_handling
cpu/esp32: fix CS handling in spi_transfer_bytes
2019-10-22 15:35:48 +02:00
26c0b812d2
Merge pull request #12531 from fjmolinas/pr_nrf52_nimble
common/nrf52840/Makefile.dep: nrf802154 if no nimble_%
2019-10-22 15:14:54 +02:00
benpicco
7c1491eed0
Merge pull request #12542 from fjmolinas/pr_fix_suit_test
examples/suit_update/test: change local to link
2019-10-22 13:36:37 +02:00
Francisco Molina
894413be2d examples/suit_update/test: change local to link 2019-10-22 13:19:02 +02:00
76ca2f5a08
boards/arduino-zero: configure ADC channels 2019-10-22 11:19:26 +02:00
Martine Lenders
789cbb9a79
Merge pull request #12535 from bergzand/pr/usbus/cdcacm_assoc_len
cdcacm: Add the interface assoc descriptor to the length
2019-10-22 08:49:08 +02:00
Martine Lenders
7a1368c8d1
Merge pull request #12527 from aabadie/pr/tools/pr_check_add_keyword
tools/pr_check: add REMOVEME in filtered keyword
2019-10-22 08:43:38 +02:00
Gunar Schorcht
db945bdd86 cpu/esp32: fix CS handling in spi_transfer_bytes
If `SPI_CS_UNDEF` is given as the `cs` parameter, CS pin must not be handled by the driver. Furthermore, if `cont` parameter is true, CS pin must not be disabled at the end of one transfer.
2019-10-22 08:14:49 +02:00
62c244608d
tools/pr_check: add REMOVEME in keyword filtered 2019-10-22 08:07:40 +02:00
23edf5cc6b
cdcacm: Add the interface assoc descriptor to the length 2019-10-21 20:28:33 +02:00
benpicco
d49c48368a
Merge pull request #12438 from aabadie/pr/boards/sodaq_factorize
boards/sodaq: factorize common code
2019-10-21 17:04:20 +02:00
Francisco Molina
c04a2cf3a3 common/nrf52840/Makefile.dep: nrf802154 if no nimble_% 2019-10-21 16:52:18 +02:00
Francisco
4ec2e92eb3
Merge pull request #12433 from benpicco/STM32F030F4
boards: add stm32f030f4-demo
2019-10-21 16:44:16 +02:00
Martine S. Lenders
2458a612b6 gnrc_netif: reduce code duplication 2019-10-21 16:09:37 +02:00
Martine S. Lenders
e96faca739 gnrc_netif: add code comments on source candidate set selection 2019-10-21 16:09:37 +02:00
f8de22a985 gnrc/netif: _match_to_idx(): don't treat link local differently
Cherry-picked from 811c1ee70e (#12404)
2019-10-21 16:09:37 +02:00
Martine Lenders
1bdfbeaaa0
Merge pull request #12425 from miri64/gnrc_ipv6_nib/enh/mutex
gnrc_ipv6_nib: use recursive mutex instead of mutex for locking
2019-10-21 16:08:07 +02:00
Benjamin Valentin
b5906c2aa4 tests/pthread*: blacklist boards with low RAM
The pthread tests dynamically allocate memory for the thread stacks.
Therefore while compilation succeeds, they will fail to run on these
low memory boards.

Static allocation of thread stacks is an option to make those tests work
for those boards (confirmed for `tests/pthread`), but it would
change the nature of the tests.
2019-10-21 15:33:48 +02:00