← Commit list

0d75e8b79

Denys Vlasenko
Denys Vlasenko
2019-04-13
SUCCESS Duration: 153s

Subject

udhcpc6: add a few comments, no code changes.

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

networking/udhcp/d6_dhcpc.c+1 -0
@@ -531,6 +531,7 @@ static uint8_t *add_d6_client_options(uint8_t *ptr)
static int d6_mcast_from_client_config_ifindex(struct d6_packet *packet, uint8_t *end)
{
+ /* FF02::1:2 is "All_DHCP_Relay_Agents_and_Servers" address */
static const uint8_t FF02__1_2[16] = {
0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02,
networking/udhcp/d6_socket.c+9 -0
@@ -38,6 +38,15 @@ int FAST_FUNC d6_read_interface(const char *interface, int *ifindex, struct in6_
log1("IP %s", inet_ntoa(((struct sockaddr_in *)ifa->ifa_addr)->sin_addr));
}
#endif
+/* RFC 3315
+ * 16. Client Source Address and Interface Selection
+ *
+ * "When a client sends a DHCP message to the
+ * All_DHCP_Relay_Agents_and_Servers address, ... ... The client
+ * MUST use a link-local address assigned to the interface for which it
+ * is requesting configuration information as the source address in the
+ * header of the IP datagram."
+ */
if (ifa->ifa_addr->sa_family == AF_INET6
&& IN6_IS_ADDR_LINKLOCAL(&sip6->sin6_addr)
) {