aboutsummaryrefslogtreecommitdiff
path: root/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
commit551f237961f68eb72880cc4842bd72740585c2d3 (patch)
treec29cb2f2166dcbcc594de8e436280ca305efedde /mbuf.h
parent76069087c923d8bbf168c8fb02a704928f958cb0 (diff)
downloadslirp-551f237961f68eb72880cc4842bd72740585c2d3.zip
slirp-551f237961f68eb72880cc4842bd72740585c2d3.tar.gz
slirp-551f237961f68eb72880cc4842bd72740585c2d3.tar.bz2
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 'mbuf.h')
-rw-r--r--mbuf.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/mbuf.h b/mbuf.h
index 39e5ecd..1a2df30 100644
--- a/mbuf.h
+++ b/mbuf.h
@@ -85,6 +85,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