summaryrefslogtreecommitdiff
path: root/slirp/mbuf.h
diff options
context:
space:
mode:
authorFabien Chouteau <chouteau@adacore.com>2011-08-01 18:18:37 +0200
committerJan Kiszka <jan.kiszka@siemens.com>2011-08-03 12:57:11 +0200
commit1ab74cea060d776b19857c3babc64d729bbdba5c (patch)
tree024f3b1df329cc1cbf5cd0069df0e585e5ffe957 /slirp/mbuf.h
parent1a0ca1e1f6011a8623ec0653a1b35bbfc3f576c9 (diff)
downloadqemu-1ab74cea060d776b19857c3babc64d729bbdba5c.tar.gz
Delayed IP packets
In the current implementation, if Slirp tries to send an IP packet to a client with an unknown hardware address, the packet is simply dropped and an ARP request is sent (if_encap in slirp/slirp.c). With this patch, Slirp will send the ARP request, re-queue the packet and try to send it later. The packet is dropped after one second if the ARP reply is not received. Signed-off-by: Fabien Chouteau <chouteau@adacore.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Diffstat (limited to 'slirp/mbuf.h')
-rw-r--r--slirp/mbuf.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/slirp/mbuf.h b/slirp/mbuf.h
index b74544b42b..55170e517b 100644
--- a/slirp/mbuf.h
+++ b/slirp/mbuf.h
@@ -86,6 +86,8 @@ struct mbuf {
char m_dat_[1]; /* ANSI don't like 0 sized arrays */
char *m_ext_;
} M_dat;
+ bool arp_requested;
+ uint64_t expiration_date;
};
#define m_next m_hdr.mh_next