slirp: add in6_dhcp_multicast()

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
master
Philippe Mathieu-Daudé 2018-01-08 14:29:01 -03:00 committed by Samuel Thibault
parent 676e268003
commit 318116a6ff
2 changed files with 4 additions and 1 deletions

View File

@ -17,6 +17,9 @@
0x00, 0x00, 0x00, 0x00,\
0x00, 0x01, 0x00, 0x02 } }
#define in6_dhcp_multicast(a)\
in6_equal(a, &(struct in6_addr)ALLDHCP_MULTICAST)
void dhcpv6_input(struct sockaddr_in6 *srcsas, struct mbuf *m);
#endif

View File

@ -65,7 +65,7 @@ void udp6_input(struct mbuf *m)
/* handle DHCPv6 */
if (ntohs(uh->uh_dport) == DHCPV6_SERVER_PORT &&
(in6_equal(&ip->ip_dst, &slirp->vhost_addr6) ||
in6_equal(&ip->ip_dst, &(struct in6_addr)ALLDHCP_MULTICAST))) {
in6_dhcp_multicast(&ip->ip_dst))) {
m->m_data += iphlen;
m->m_len -= iphlen;
dhcpv6_input(&lhost, m);