浏览代码

udhcpc6: use correct multicast MAC

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>
Uwe Glaeser 4 年之前
父节点
当前提交
faab906d28
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      networking/udhcp/d6_dhcpc.c

+ 5 - 1
networking/udhcp/d6_dhcpc.c

@@ -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
 	);
 }