-
Bug
-
Resolution: Done-Errata
-
Major
-
None
-
None
-
False
-
-
False
-
-
-
Important
When a client send a Router Solicit message on an interface without an IP address - it should use the `::` (undefined address) as SourceAddr. (See: https://www.rfc-editor.org/rfc/rfc4861#page-18)
4.1. Router Solicitation Message Format < .. snip .. > IP Fields: Source Address An IP address assigned to the sending interface, or the unspecified address if no address is assigned to the sending interface.
When OVN respond to this Router Solicit it uses the `::` (undefined address) as the DestinationAddr. When comparint to radvd behaviour it will instead use the ff02::1 (All nodes on-link multicast addresses afict from rfc4291).
It looks like OVN is always sending the response to the source address of RA Solicit, I belive there should be a condition to check that the RA Solicit used `::` because interface does not have an address, and in that case the RA Advertise should instead have destination ff02::1.
Example from PCAP when OVN is doing RAs:
Frame 1: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) Ethernet II, Src: RealtekU_31:83:6c (52:54:00:31:83:6c), Dst: IPv6mcast_02 (33:33:00:00:00:02) Internet Protocol Version 6, Src: ::, Dst: ff02::2 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic Class: 0x00 (DSCP: CS0, ECN: Not-ECT) .... 0000 00.. .... .... .... .... .... = Differentiated Services Codepoint: Default (0) .... .... ..00 .... .... .... .... .... = Explicit Congestion Notification: Not ECN-Capable Transport (0) .... 0000 0000 0000 0000 0000 = Flow Label: 0x00000 Payload Length: 8 Next Header: ICMPv6 (58) Hop Limit: 255 Source Address: :: Destination Address: ff02::2 Internet Control Message Protocol v6 Type: Router Solicitation (133) Code: 0 Checksum: 0x7bb8 [correct] [Checksum Status: Good] Reserved: 00000000
Frame 2: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) Ethernet II, Src: fa:16:3e:fe:76:da (fa:16:3e:fe:76:da), Dst: RealtekU_31:83:6c (52:54:00:31:83:6c) Internet Protocol Version 6, Src: fe80::f816:3eff:fefe:76da, Dst: :: 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic Class: 0x00 (DSCP: CS0, ECN: Not-ECT) .... 0000 00.. .... .... .... .... .... = Differentiated Services Codepoint: Default (0) .... .... ..00 .... .... .... .... .... = Explicit Congestion Notification: Not ECN-Capable Transport (0) .... 0000 0000 0000 0000 0000 = Flow Label: 0x00000 Payload Length: 64 Next Header: ICMPv6 (58) Hop Limit: 255 Source Address: fe80::f816:3eff:fefe:76da Destination Address: :: Internet Control Message Protocol v6 Type: Router Advertisement (134) Code: 0 Checksum: 0xd3a3 [correct] [Checksum Status: Good] Cur hop limit: 255 Flags: 0x80, Managed address configuration, Prf (Default Router Preference): Medium 1... .... = Managed address configuration: Set .0.. .... = Other configuration: Not set ..0. .... = Home Agent: Not set ...0 0... = Prf (Default Router Preference): Medium (0) .... .0.. = Proxy: Not set .... ..0. = Reserved: 0 Router lifetime (s): 65535 Reachable time (ms): 0 Retrans timer (ms): 0 ICMPv6 Option (Source link-layer address : fa:16:3e:fe:76:da) Type: Source link-layer address (1) Length: 1 (8 bytes) Link-layer address: fa:16:3e:fe:76:da (fa:16:3e:fe:76:da) ICMPv6 Option (MTU : 1400) Type: MTU (5) Length: 1 (8 bytes) Reserved MTU: 1400 ICMPv6 Option (Prefix information : fc01::/64) Type: Prefix information (3) Length: 4 (32 bytes) Prefix Length: 64 Flag: 0x80, On-link flag(L) 1... .... = On-link flag(L): Set .0.. .... = Autonomous address-configuration flag(A): Not set ..0. .... = Router address flag(R): Not set ...0 0000 = Reserved: 0 Valid Lifetime: Infinity (4294967295) Preferred Lifetime: Infinity (4294967295) Reserved Prefix: fc01::
Example from PCAP when RADVD is doing RAs:
Frame 9: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) Ethernet II, Src: RealtekU_d9:3d:5c (52:54:00:d9:3d:5c), Dst: IPv6mcast_02 (33:33:00:00:00:02) Internet Protocol Version 6, Src: ::, Dst: ff02::2 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic Class: 0x00 (DSCP: CS0, ECN: Not-ECT) .... 0000 00.. .... .... .... .... .... = Differentiated Services Codepoint: Default (0) .... .... ..00 .... .... .... .... .... = Explicit Congestion Notification: Not ECN-Capable Transport (0) .... 0000 0000 0000 0000 0000 = Flow Label: 0x00000 Payload Length: 8 Next Header: ICMPv6 (58) Hop Limit: 255 Source Address: :: Destination Address: ff02::2 Internet Control Message Protocol v6 Type: Router Solicitation (133) Code: 0 Checksum: 0x7bb8 [correct] [Checksum Status: Good] Reserved: 00000000
Frame 10: 142 bytes on wire (1136 bits), 142 bytes captured (1136 bits) Ethernet II, Src: fa:16:3e:38:ee:f0 (fa:16:3e:38:ee:f0), Dst: IPv6mcast_01 (33:33:00:00:00:01) Internet Protocol Version 6, Src: fe80::f816:3eff:fe38:eef0, Dst: ff02::1 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic Class: 0x00 (DSCP: CS0, ECN: Not-ECT) .... 0000 00.. .... .... .... .... .... = Differentiated Services Codepoint: Default (0) .... .... ..00 .... .... .... .... .... = Explicit Congestion Notification: Not ECN-Capable Transport (0) .... 1101 1001 0101 1110 0111 = Flow Label: 0xd95e7 Payload Length: 88 Next Header: ICMPv6 (58) Hop Limit: 255 Source Address: fe80::f816:3eff:fe38:eef0 Destination Address: ff02::1 Internet Control Message Protocol v6 Type: Router Advertisement (134) Code: 0 Checksum: 0x2de8 [correct] [Checksum Status: Good] Cur hop limit: 64 Flags: 0x80, Managed address configuration, Prf (Default Router Preference): Medium 1... .... = Managed address configuration: Set .0.. .... = Other configuration: Not set ..0. .... = Home Agent: Not set ...0 0... = Prf (Default Router Preference): Medium (0) .... .0.. = Proxy: Not set .... ..0. = Reserved: 0 Router lifetime (s): 300 Reachable time (ms): 0 Retrans timer (ms): 0 ICMPv6 Option (Prefix information : fc01::/64) Type: Prefix information (3) Length: 4 (32 bytes) Prefix Length: 64 Flag: 0x80, On-link flag(L) 1... .... = On-link flag(L): Set .0.. .... = Autonomous address-configuration flag(A): Not set ..0. .... = Router address flag(R): Not set ...0 0000 = Reserved: 0 Valid Lifetime: 86400 Preferred Lifetime: 14400 Reserved Prefix: fc01:: ICMPv6 Option (Route Information : Medium fe80::a9fe:a9fe/128) Type: Route Information (24) Length: 3 (24 bytes) Prefix Length: 128 Flag: 0x00, Route Preference: Medium Route Lifetime: 300 Prefix: fe80::a9fe:a9fe ICMPv6 Option (MTU : 1500) Type: MTU (5) Length: 1 (8 bytes) Reserved MTU: 1500 ICMPv6 Option (Source link-layer address : fa:16:3e:38:ee:f0) Type: Source link-layer address (1) Length: 1 (8 bytes) Link-layer address: fa:16:3e:38:ee:f0 (fa:16:3e:38:ee:f0)
- is cloned by
-
FDP-73 CLONE - IPv6 Router Advertisement `::` (undefined address) as destination when Router Solicit has SrcAddr: `::`
- Dev Complete
-
FDP-74 CLONE - IPv6 Router Advertisement `::` (undefined address) as destination when Router Solicit has SrcAddr: `::`
- Dev Complete
-
FDP-75 CLONE - IPv6 Router Advertisement `::` (undefined address) as destination when Router Solicit has SrcAddr: `::`
- Dev Complete
-
FDP-76 CLONE - IPv6 Router Advertisement `::` (undefined address) as destination when Router Solicit has SrcAddr: `::`
- Dev Complete
-
FDP-77 CLONE - IPv6 Router Advertisement `::` (undefined address) as destination when Router Solicit has SrcAddr: `::`
- Dev Complete
-
FDP-78 CLONE - IPv6 Router Advertisement `::` (undefined address) as destination when Router Solicit has SrcAddr: `::`
- Dev Complete
-
FDP-79 CLONE - IPv6 Router Advertisement `::` (undefined address) as destination when Router Solicit has SrcAddr: `::`
- Dev Complete
-
FDP-81 CLONE - IPv6 Router Advertisement `::` (undefined address) as destination when Router Solicit has SrcAddr: `::`
- Dev Complete
-
FDP-83 CLONE - IPv6 Router Advertisement `::` (undefined address) as destination when Router Solicit has SrcAddr: `::`
- Closed
- links to
-
RHBA-2023:122875 ovn22.12
- mentioned on