diff options
author | Guillaume Subiron <maethor@subiron.org> | 2015-12-19 22:24:56 +0100 |
---|---|---|
committer | Jason Wang <jasowang@redhat.com> | 2016-02-04 13:22:06 +0800 |
commit | fc3779a1189cbe6e777a0f7608741f3841cdcfea (patch) | |
tree | eb48bde1274ed6bf939c51d462a4dcabc7f766a0 /slirp | |
parent | 86c9e1e9d7400c25821ff12cce80336a1cdded59 (diff) | |
download | qemu-fc3779a1189cbe6e777a0f7608741f3841cdcfea.tar.gz qemu-fc3779a1189cbe6e777a0f7608741f3841cdcfea.tar.bz2 qemu-fc3779a1189cbe6e777a0f7608741f3841cdcfea.zip |
slirp: Generalizing and neutralizing ARP code
Basically, this patch replaces "arp" by "resolution" every time "arp"
means "mac resolution" and not specifically ARP.
This prepares for IPv6 support.
Signed-off-by: Guillaume Subiron <maethor@subiron.org>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'slirp')
-rw-r--r-- | slirp/mbuf.c | 2 | ||||
-rw-r--r-- | slirp/mbuf.h | 2 | ||||
-rw-r--r-- | slirp/slirp.c | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/slirp/mbuf.c b/slirp/mbuf.c index 795fc29f98..bc942b63e4 100644 --- a/slirp/mbuf.c +++ b/slirp/mbuf.c @@ -91,7 +91,7 @@ m_get(Slirp *slirp) m->m_len = 0; m->m_nextpkt = NULL; m->m_prevpkt = NULL; - m->arp_requested = false; + m->resolution_requested = false; m->expiration_date = (uint64_t)-1; end_error: DEBUG_ARG("m = %p", m); diff --git a/slirp/mbuf.h b/slirp/mbuf.h index b144f1ce3a..38fedf46de 100644 --- a/slirp/mbuf.h +++ b/slirp/mbuf.h @@ -79,7 +79,7 @@ struct mbuf { int m_len; /* Amount of data in this mbuf */ Slirp *slirp; - bool arp_requested; + bool resolution_requested; uint64_t expiration_date; /* start of dynamic buffer area, must be last element */ union { diff --git a/slirp/slirp.c b/slirp/slirp.c index 35f819afb7..1d5d17288e 100644 --- a/slirp/slirp.c +++ b/slirp/slirp.c @@ -786,7 +786,7 @@ int if_encap(Slirp *slirp, struct mbuf *ifm) struct ethhdr *reh = (struct ethhdr *)arp_req; struct arphdr *rah = (struct arphdr *)(arp_req + ETH_HLEN); - if (!ifm->arp_requested) { + if (!ifm->resolution_requested) { /* If the client addr is not known, send an ARP request */ memset(reh->h_dest, 0xff, ETH_ALEN); memcpy(reh->h_source, special_ethaddr, ETH_ALEN - 4); @@ -812,7 +812,7 @@ int if_encap(Slirp *slirp, struct mbuf *ifm) rah->ar_tip = iph->ip_dst.s_addr; slirp->client_ipaddr = iph->ip_dst; slirp_output(slirp->opaque, arp_req, sizeof(arp_req)); - ifm->arp_requested = true; + ifm->resolution_requested = true; /* Expire request and drop outgoing packet after 1 second */ ifm->expiration_date = qemu_clock_get_ns(QEMU_CLOCK_REALTIME) + 1000000000ULL; |