udhcpc6: use correct multicast MAC
authorUwe Glaeser <uwe.glaeser@dormakaba.com>
Sun, 21 Jun 2020 00:56:12 +0000 (02:56 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 21 Jun 2020 00:56:12 +0000 (02:56 +0200)
function                                             old     new   delta
static.MAC_DHCP6MCAST_ADDR                             -       6      +6

Signed-off-by: Uwe Glaeser <uwe.glaeser@dormakaba.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
networking/udhcp/d6_dhcpc.c

index 85c410a7cae8714084c4e9098a9b7524bf442fa0..fc2d672b7783461690ef49887125c2d257c168a8 100644 (file)
@@ -553,11 +553,15 @@ static int d6_mcast_from_client_data_ifindex(struct d6_packet *packet, uint8_t *
                0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02,
        };
+       /* IPv6 requires different multicast contents in Ethernet Frame (RFC 2464) */
+       static const uint8_t MAC_DHCP6MCAST_ADDR[6] ALIGN2 = {
+               0x33, 0x33, 0x00, 0x01, 0x00, 0x02,
+       };
 
        return d6_send_raw_packet(
                packet, (end - (uint8_t*) packet),
                /*src*/ &client6_data.ll_ip6, CLIENT_PORT6,
-               /*dst*/ (struct in6_addr*)FF02__1_2, SERVER_PORT6, MAC_BCAST_ADDR,
+               /*dst*/ (struct in6_addr*)FF02__1_2, SERVER_PORT6, MAC_DHCP6MCAST_ADDR,
                client_data.ifindex
        );
 }