]> git.proxmox.com Git - mirror_qemu.git/commitdiff
slirp: Generalizing and neutralizing ARP code
authorGuillaume Subiron <maethor@subiron.org>
Sat, 19 Dec 2015 21:24:56 +0000 (22:24 +0100)
committerJason Wang <jasowang@redhat.com>
Thu, 4 Feb 2016 05:22:06 +0000 (13:22 +0800)
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>
slirp/mbuf.c
slirp/mbuf.h
slirp/slirp.c

index 795fc29f98231d250340fbc57a47fb5baee0bbe4..bc942b63e491e77207d0ed1f649983153e036ea6 100644 (file)
@@ -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);
index b144f1ce3a159bb029e65b49cc3036abd06c5456..38fedf46de9c1354467e35b0a28a6f92d751798d 100644 (file)
@@ -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 {
index 35f819afb7befa900412e0c1134db6440d3dd8a7..1d5d17288e86bdef504daf563fdc6cfb7353b749 100644 (file)
@@ -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;