aboutsummaryrefslogtreecommitdiff
path: root/slirp/if.c
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2012-03-06 00:02:23 +0100
committerJan Kiszka <jan.kiszka@siemens.com>2012-03-13 14:05:49 +0100
commitf37343197708d90f119007ce5ecc2503be9c04c1 (patch)
treebe52455e7c173229f8055b5858a9f87e0829081e /slirp/if.c
parente3078bf40a33b59fa11d077b1d0bb8796470982e (diff)
slirp: Remove unneeded if_queued
There is now a trivial check on entry of if_start for pending packets, so we can drop the additional tracking via if_queued. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Diffstat (limited to 'slirp/if.c')
-rw-r--r--slirp/if.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/slirp/if.c b/slirp/if.c
index f6e848a31a..096cf6fd07 100644
--- a/slirp/if.c
+++ b/slirp/if.c
@@ -110,8 +110,6 @@ if_output(struct socket *so, struct mbuf *ifm)
insque(ifm, ifq);
diddit:
- slirp->if_queued++;
-
if (so) {
/* Update *_queued */
so->so_queued++;
@@ -157,7 +155,6 @@ diddit:
void if_start(Slirp *slirp)
{
uint64_t now = qemu_get_clock_ns(rt_clock);
- int requeued = 0;
bool from_batchq, next_from_batchq;
struct mbuf *ifm, *ifm_next, *ifqt;
@@ -182,8 +179,7 @@ void if_start(Slirp *slirp)
while (ifm_next) {
/* check if we can really output */
if (!slirp_can_output(slirp->opaque)) {
- slirp->if_start_busy = false;
- return;
+ break;
}
ifm = ifm_next;
@@ -200,12 +196,9 @@ void if_start(Slirp *slirp)
ifm_next = NULL;
}
- slirp->if_queued--;
-
/* Try to send packet unless it already expired */
if (ifm->expiration_date >= now && !if_encap(slirp, ifm)) {
/* Packet is delayed due to pending ARP resolution */
- requeued++;
continue;
}
@@ -245,7 +238,5 @@ void if_start(Slirp *slirp)
m_free(ifm);
}
- slirp->if_queued = requeued;
-
slirp->if_start_busy = false;
}