diff options
author | Denys Vlasenko | 2019-04-13 19:43:15 +0200 |
---|---|---|
committer | Denys Vlasenko | 2019-04-13 19:43:15 +0200 |
commit | 0d75e8b7973353f1d034b97bebfd4d2c13a9f5d6 (patch) | |
tree | 276a76f622a9cb00159d86dec11ed99edbdd5528 | |
parent | cc45cbcca41de47590f4aa839eb0f396f18f9896 (diff) | |
download | busybox-0d75e8b7973353f1d034b97bebfd4d2c13a9f5d6.zip busybox-0d75e8b7973353f1d034b97bebfd4d2c13a9f5d6.tar.gz |
udhcpc6: add a few comments, no code changes.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | networking/udhcp/d6_dhcpc.c | 1 | ||||
-rw-r--r-- | networking/udhcp/d6_socket.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/networking/udhcp/d6_dhcpc.c b/networking/udhcp/d6_dhcpc.c index 9798564..112f12d 100644 --- a/networking/udhcp/d6_dhcpc.c +++ b/networking/udhcp/d6_dhcpc.c @@ -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, diff --git a/networking/udhcp/d6_socket.c b/networking/udhcp/d6_socket.c index 6ad53a9..fe46e5f 100644 --- a/networking/udhcp/d6_socket.c +++ b/networking/udhcp/d6_socket.c @@ -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) ) { |