Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59697730 authored by David S. Miller's avatar David S. Miller
Browse files

sch_netem: Move private queue handler to generic location.



By hand copies of SKB list handlers do not belong in individual packet
schedulers.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent aea890b8
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -851,6 +851,17 @@ static inline int qdisc_enqueue_tail(struct sk_buff *skb, struct Qdisc *sch)
	return NET_XMIT_SUCCESS;
}

static inline void __qdisc_enqueue_head(struct sk_buff *skb,
					struct qdisc_skb_head *qh)
{
	skb->next = qh->head;

	if (!qh->head)
		qh->tail = skb;
	qh->head = skb;
	qh->qlen++;
}

static inline struct sk_buff *__qdisc_dequeue_head(struct qdisc_skb_head *qh)
{
	struct sk_buff *skb = qh->head;
+1 −11
Original line number Diff line number Diff line
@@ -412,16 +412,6 @@ static struct sk_buff *netem_segment(struct sk_buff *skb, struct Qdisc *sch,
	return segs;
}

static void netem_enqueue_skb_head(struct qdisc_skb_head *qh, struct sk_buff *skb)
{
	skb->next = qh->head;

	if (!qh->head)
		qh->tail = skb;
	qh->head = skb;
	qh->qlen++;
}

/*
 * Insert one skb into qdisc.
 * Note: parent depends on return value to account for queue length.
@@ -570,7 +560,7 @@ static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch,
		cb->time_to_send = ktime_get_ns();
		q->counter = 0;

		netem_enqueue_skb_head(&sch->q, skb);
		__qdisc_enqueue_head(skb, &sch->q);
		sch->qstats.requeues++;
	}