Skip to content

Conversation

marcusb
Copy link
Contributor

@marcusb marcusb commented Oct 10, 2025

Description

This change correctly identifies ULAs with the fc00::/7 prefix, so that they can be assigned to endpoints and correctly matched to received packets.

Test Steps

Configured the application with two IPv6 endpoints, one link-local and one ULA.
Ping the ULA address. Replies would be echoed back from the link-local address.

After fixing, both IPv6 addresses can be pinged, and replies come from the target address.

Checklist:

  • I have tested my changes. No regression in existing tests.
  • I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

#1293

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@htibosch
Copy link
Contributor

Marcus, that is quick, you also adapted the UT's.

I checked the changes in your PR, the essence is the addition of a new packet type:

 typedef enum
 {
     eIPv6_Global,        /* 001           */
     eIPv6_LinkLocal,     /* 1111 1110 10  */
     eIPv6_SiteLocal,     /* 1111 1110 11  */
+    eIPv6_UniqueLocal,   /* 1111 110      */
     eIPv6_Multicast,     /* 1111 1111     */
     eIPv6_Loopback,      /* 1111 (::1)    */
     eIPv6_Unknown        /* Not implemented. */
 }
 IPv6_Type_t;

Then I tested it by pinging two addresses:

IP-address of my laptop: fd12:3456:789a::2
IP-address of my Zynq: fd12:3456:789a::3

I am able to ping the Zynq.
However Zynq is not able to ping the laptop, I don't know why.

Copy link
Contributor

@htibosch htibosch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Integration testing: it took me a while to realise that my laptop's antivirus is stopping packets to the new ULA address fd12:3456:789a::3.
I saw the packets arriving in Wireshark, but the ICMP/ping requests were ignored.

It looks all good to me, so I approve your PR.

Thanks,

@htibosch
Copy link
Contributor

I tested one more thing, using FileZilla to access a local drive, using an ULA and TCP.
It worked as expected, connecting from fd12:3456:789a::2 to fd12:3456:789a::3.

Remember that FileZilla expects IPv6 addresses between square brackets: [fd12:3456:789a::3].

This change correctly identifies ULAs with the fc00::/7 prefix, so
that they can be assigned to endpoints and correctly matched to
received packets.
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.

2 participants