Skip to content

Commit

Permalink
dummynet: fix codel
Browse files Browse the repository at this point in the history
Serialize rcvif when enqueing packets for codel. We already tried to
restore the serialized rcvif in fq_codel_extract_head(), but that
doesn't work when we fail to serialize it first, so we ended up dropping
all packets passed through codel.

Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D37318
  • Loading branch information
kprovost committed Nov 11, 2022
1 parent 832c8a5 commit 26b9e1f
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions sys/netpfil/ipfw/dn_sched_fq_codel.c
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,9 @@ codel_enqueue(struct fq_codel_flow *q, struct mbuf *m, struct fq_codel_si *si)
*(aqm_time_t *)(mtag + 1) = AQM_UNOW;
m_tag_prepend(m, mtag);

if (m->m_pkthdr.rcvif != NULL)
m_rcvif_serialize(m);

mq_append(&q->mq, m);
fq_update_stats(q, si, len, 0);
return 0;
Expand Down

0 comments on commit 26b9e1f

Please sign in to comment.