diff options
-rw-r--r-- | networking/udhcp/d6_dhcpc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/networking/udhcp/d6_dhcpc.c b/networking/udhcp/d6_dhcpc.c index 85c410a7c..fc2d672b7 100644 --- a/networking/udhcp/d6_dhcpc.c +++ b/networking/udhcp/d6_dhcpc.c | |||
@@ -553,11 +553,15 @@ static int d6_mcast_from_client_data_ifindex(struct d6_packet *packet, uint8_t * | |||
553 | 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 553 | 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
554 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, | 554 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, |
555 | }; | 555 | }; |
556 | /* IPv6 requires different multicast contents in Ethernet Frame (RFC 2464) */ | ||
557 | static const uint8_t MAC_DHCP6MCAST_ADDR[6] ALIGN2 = { | ||
558 | 0x33, 0x33, 0x00, 0x01, 0x00, 0x02, | ||
559 | }; | ||
556 | 560 | ||
557 | return d6_send_raw_packet( | 561 | return d6_send_raw_packet( |
558 | packet, (end - (uint8_t*) packet), | 562 | packet, (end - (uint8_t*) packet), |
559 | /*src*/ &client6_data.ll_ip6, CLIENT_PORT6, | 563 | /*src*/ &client6_data.ll_ip6, CLIENT_PORT6, |
560 | /*dst*/ (struct in6_addr*)FF02__1_2, SERVER_PORT6, MAC_BCAST_ADDR, | 564 | /*dst*/ (struct in6_addr*)FF02__1_2, SERVER_PORT6, MAC_DHCP6MCAST_ADDR, |
561 | client_data.ifindex | 565 | client_data.ifindex |
562 | ); | 566 | ); |
563 | } | 567 | } |