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

[pull] master from holo-routing:master #73

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

pull[bot]
Copy link

@pull pull bot commented Feb 21, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added ⤵️ pull merge-conflict Resolve conflicts manually labels Feb 21, 2025
rwestphal and others added 13 commits February 21, 2025 19:36
Process interface system updates even when the IS-IS instance is
disabled. This ensures that interface information is available and
up-to-date when the IS-IS instance is re-enabled, eliminating the
need to re-request system information.

It should be noted that we only subscribe to updates for interfaces
configured under the IS-IS instance.

Signed-off-by: Renato Westphal <[email protected]>
According to the ISO spec, an IS (i.e., router) considers itself
attached only if it can reach at least one other area. Just having
L2 adjacencies isn't enough, they must be to another area.

This issue came up while testing other IS-IS implementations and
noticing that their L1/L2 routers don't set the ATT bit if the
adjacent L2 routers are in the same area.

Signed-off-by: Renato Westphal <[email protected]>
- Replace `HashMap` with `BTreeMap` for `system_id_tree` to guarantee
  ordered iteration over adjacencies by System ID.
- Use `BTreeMap` for SNP entries to maintain deterministic processing
  order.
- In testing mode, omit non-deterministic data from northbound state
  output: LSP sequence numbers and adjacency SNPAs (MAC addresses).
- In testing mode, skip serialization of non-deterministic LSP fields.

Any data that can change when test topologies are regenerated is
considered non-deterministic.

Signed-off-by: Renato Westphal <[email protected]>
State nodes with values equal to their default values were being
omitted, but there's no reason for that. This change doesn't
affect existing tests but will be relevant for the upcoming IS-IS
conformance tests, as the ietf-isis YANG module has state nodes
with default values.

Signed-off-by: Renato Westphal <[email protected]>
Add four IS-IS test topologies to lay the groundwork for upcoming
conformance tests. These topologies include a mix of point-to-point
and broadcast links, parallel links, IPv4 and IPv6, single-area and
multi-area configurations, as well as both legacy and wide metrics.

Signed-off-by: Renato Westphal <[email protected]>
Go from this:
```
assertion `left == right` failed
  left: [131, 27, 1, 0]
 right: [131, 27, 1, 1]
```

To this:
```
assertion `left == right` failed
  left: [0x83, 0x1b, 0x01, 0x00]
 right: [0x83, 0x1b, 0x01, 0x01]
```

This makes it easier to update test reference data whenever necessary.

Signed-off-by: Renato Westphal <[email protected]>
Organize packet unit tests into separate files per PDU type to
improve maintainability and make it easier to add future tests.

Signed-off-by: Renato Westphal <[email protected]>
Use `iso_mtu()` instead of the plain MTU value to properly account
for the LLC header on broadcast networks.

Signed-off-by: Renato Westphal <[email protected]>
When receiving an LSP that is older than the one stored in the
database, we should send back the database's LSP instead of the
received LSP.

This is a really serious bug that could cause major issues in the
right conditions.

Signed-off-by: Renato Westphal <[email protected]>
checksum calculation has so far been
done by hand in VRRP.

We replace this with the internet-checksum
crate -> https://docs.rs/internet-checksum/

Signed-off-by: Paul Wekesa <[email protected]>
Formatting of Cargo.toml files:
- Alphabetic crate ordering
- Remove unnecessary blanks
vrrp: introduce internet-checksum
One less unstable feature flag, getting closer to building on stable :)

Signed-off-by: Renato Westphal <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⤵️ pull merge-conflict Resolve conflicts manually
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants