Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

legal: Replace and relocate Apache-2.0 LICENSE to comply reuse #17

Open
wants to merge 54 commits into
base: main
Choose a base branch
from

Conversation

rzr
Copy link
Contributor

@rzr rzr commented Aug 22, 2024

Note content of file has been changed,
It is a good practice to align to Original files
they are validated and trusted by SBOM tools that verify checksums (bitbake for instance),

For the record:

Checksums-Sha256: eb0aad9b316fb87f01ec635a13ad59d63bf5cdbb90419ea4e62c11c19c5edeea LICENSE-Apache-2.0
Checksums-Sha256: 074e6e32c86a4c0ef8b3ed25b721ca23aca83df277cd88106ef7177c354615ff LICENSES/Apache-2.0.txt

Note file has been downloaded using:

reuse download Apache-2.0
Successfully downloaded LICENSES/Apache-2.0.txt.

Note that Pelion copyright can not apply to the context of text of Apache work, (i believe it is a mistake) the copyright is tracked on sources codes.

Current Reuse status is:

  • Missing licenses: GPL-2.0
  • Used licenses: Apache-2.0, GPL-2.0, LicenseRef-MSLA
  • Files with copyright information: 272 / 309
  • Files with license information: 272 / 309

Origin: https://github.com/SiliconLabs/wisun-br-linux/pulls?q=author%3Arzr

jerome-pouiller and others added 30 commits June 11, 2024 12:21
Currently, if lowpan_adaptation_queue_size() returns > 2, the tun
interface is not read. However, poll() still wake up the main loop.
This behavior lead to a useless wake up of the main loop and a waste of
CPU resources.

This issue typically happens during throughput tests when the Linux
stack send frames faster than the RCP is able to send.

See WI_SUN-3494.

Signed-off-by: Jérôme Pouiller <[email protected]>
Only the local copy of the variable was incremented.
tcflush() does not work for this purpose as it discards unsent bytes.
This prevents frame cancelation, which creates annoyances regarding
framing detection on the RCP.
APIv2 has an additional field to allow for a different payload size
between the request and the confirmation. This oversight went unnoticed
because the way the payload is contructed starts with 00 01 02..., which
was interpreted as "a 1 byte buffer with contents 0x02". Testing the TX
mode makes the issue apparent as the RCP expects to read payload length
of 0 but instead finds that there are not enough bytes.
With --no-daemon, dnsmasq outputs logs to both stderr and syslog, which
results in line duplication in journalctl. Using --keep-in-foreground
fixes this issue.
Since PAN Advertisements transmission can be canceled by trickle, it is
best to also include JM-IEs in data frames.
Aparently this is how the API is supposed to work, but it makes the
DELETE endpoint very confusing and/or useless.
Aparently this is how the API is supposed to work, but it makes the
DELETE endpoint very confusing and/or useless.
The hop limit selected at a tunnel entry is a local configuration of the
ingress, and has no relation with the received hop limit of the packet
to encapsulate. RFC 2473 section 6.3 describes the use of hop limit in
the case of tunnels in more details.

IP tunnels are normally invisible to tools like traceroute since an
increment of the probe hop limit covers the whole tunnel. However with
this quirk, traceroute needs to increase to hop limit for every
intermediate Wi-SUN router in the tunnel, but it also does not receive
ICMP error messages since they are destined to the ingress.

Here is an example to demonstrate the difference in behavior:

           +  2001:db8::1
 Backhaul--|      | Ethernet link
           +  2001:db8::2           (eth0)
                  | Linux + wsbrd
           +  fd12:3456::200:0:80:3 (tun0)
           |      | Radio
           |  fd12:3456::200:0:80:0
 Wi-SUN----|      | Radio
           |  fd12:3456::200:0:80:1
           |      | Radio
           +  fd12:3456::200:0:80:2

Executing traceroute from the backhaul device:
Before:

    $ traceroute fd12:3456::200:0:80:2
    traceroute to fd12:3456::200:0:80:2 (fd12:3456::200:0:80:2), 30 hops max, 80 byte packets
     1  2001:db8::1 (2001:db8::1)  0.323 ms  0.368 ms  0.280 ms
     2  * * *
     3  * * *
     4  fd12:3456::200:0:80:2 (fd12:3456::200:0:80:2)  40.184 ms  43.054 ms  45.506 ms

After:

    $ traceroute fd12:3456::200:0:80:2
    traceroute to fd12:3456::200:0:80:2 (fd12:3456::200:0:80:2), 30 hops max, 80 byte packets
     1  2001:db8::1 (2001:db8::1)  0.353 ms  0.393 ms  0.318 ms
     2  fd12:3456::200:0:80:2 (fd12:3456::200:0:80:2)  19.228 ms  25.906 ms *

WI_SUN-3547
MathisMARION and others added 23 commits July 10, 2024 10:15
The section title was modified twice by commits:
  - 7501fa2e57e ("doc: fix other typos")
  - f8105d4d8a6 ("doc: fix typos in README")
Before, TR_DROP traces would be printed when a confirmation is received
without a frame (ie. for broadcast frames or TX failures), and pcap_file
is active.
For an empty iobuf, this could cause a segfault. Not that this sentinel
check was not necessary: if strnlen() returns n, it must have not
found a terminator.

Reported by SonarQube.
Delete the neighbor cache entry in case the node did not remove itself.
Otherwise routing will choose an "ARO route" instead of a "DAO route",
which will fail until ARO expiration.

WI_SUN-3594
The new RPL implementation accidentally removed the neighbor insersion
on DAO reception. Consequently, only neighbors registered uding NS(ARO)
were present in the kernel tables.

See:
  - d479a00b4c ("stack: instantiate new RPL implementation 3/3")
  - b1e9b9cd26 ("stack: introduce new RPL implementation 2/3")
  - 41424c9a65 ("stack: drop legacy RPL implementation 1/3")

WI_SUN-3608
This FATAL was proven necessary considering we could miss
confirmation frames and end up in a instable state.

WI_SUN-3652
This should never happen outside of the init phase.

WI_SUN-3652
wsbrd docker container is no longer maintained and its usage is not recommended.

Origin: SiliconLabsInternal/wisun-br-linux#2
WI_SUN-3385
For the record reusability has been improved a bit, using reuse lint tool:

Files with license information: 272 / 307

The following files have no licensing information:
* common/spinel.h
* tools/tbu/api.yaml

Origin: SiliconLabs#16
Signed-off-by: Philippe Coval <[email protected]>
For the record the file has been snapshoted this way:

  mkdir -p LICENSES ;
  lynx -dump https://www.silabs.com/about-us/legal/master-software-license-agreement  \
  | tail +161 | head -n 842 | tee LICENSES/LicenseRef-MSL | sha256sum
  # 1cfe8601a36fbff16686cf84d36dbd20c4c691faa9c4672231ba2eefa6f37e1b  -

Origin: SiliconLabs#16
Signed-off-by: Philippe Coval <[email protected]>
Note content of file has been changed,
It is a good practice to align to Original files
they are validated and trusted by SBOM tools that verify checksums
(bitbake for instance),

For the record:

  Checksums-Sha256: eb0aad9b316fb87f01ec635a13ad59d63bf5cdbb90419ea4e62c11c19c5edeea  LICENSE-Apache-2.0
  Checksums-Sha256: 074e6e32c86a4c0ef8b3ed25b721ca23aca83df277cd88106ef7177c354615ff  LICENSES/Apache-2.0.txt

Note file has been downloaded using:

reuse download Apache-2.0
    Successfully downloaded LICENSES/Apache-2.0.txt.

Note that Pelion copyright can not apply to the context
of text of Apache work, (i believe it is a mistake)
the copyright is tracked on sources codes.

Current Reuse status is:

* Missing licenses: GPL-2.0
* Used licenses: Apache-2.0, GPL-2.0, LicenseRef-MSLA
* Files with copyright information: 272 / 309
* Files with license information: 272 / 309

Origin: SiliconLabs#17
Signed-off-by: Philippe Coval <[email protected]>
@rzr rzr force-pushed the phcoval/review/main branch from 6014818 to 9a79519 Compare August 22, 2024 09:40
@jerome-pouiller
Copy link
Collaborator

This version is not formatted in 80 columns. Could we use this one: https://www.apache.org/licenses/LICENSE-2.0.txt

@rzr
Copy link
Contributor Author

rzr commented Sep 16, 2024

I used the one provided by reuse , I believe this checksum is known as reference for related sdpx tools so I aligned to it:

$ curl https://raw.githubusercontent.com/spdx/license-list-data/main/text/Apache-2.0.txt | sha256sum | grep 074e6e32c86a4c0ef8b3ed25b721ca23aca83df277cd88106ef7177c354615ff

@rzr
Copy link
Contributor Author

rzr commented Sep 24, 2024

It looks like spdx uniformized style of licences to make it more consistent (and more semantic?).

Style is very subjective, is it blocker for this PR ?

As suggested in review, use the 80col formated version of doc

Signed-off-by: Philippe Coval <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants