diff options
author | Fabien Chouteau <chouteau@adacore.com> | 2011-08-01 18:18:37 +0200 |
---|---|---|
committer | Jan Kiszka <jan.kiszka@siemens.com> | 2011-08-03 12:57:11 +0200 |
commit | 1ab74cea060d776b19857c3babc64d729bbdba5c (patch) | |
tree | 024f3b1df329cc1cbf5cd0069df0e585e5ffe957 /slirp/mbuf.h | |
parent | 1a0ca1e1f6011a8623ec0653a1b35bbfc3f576c9 (diff) |
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.h | 2 |
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 |