aboutsummaryrefslogtreecommitdiff
path: root/sys/net/altq
diff options
context:
space:
mode:
authorKristof Provost <kp@FreeBSD.org>2023-07-03 17:02:23 +0000
committerKristof Provost <kp@FreeBSD.org>2023-07-03 19:32:33 +0000
commitd0b0424fa0ca8fb239e00d6bdd5e6340b7a85e68 (patch)
tree1a9cf11db4cf5c14f596045675c81c05992d1e1e /sys/net/altq
parent3f21d3e0babacabb9a32e0e9a8ab290025d5577c (diff)
Diffstat (limited to 'sys/net/altq')
-rw-r--r--sys/net/altq/altq_codel.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/net/altq/altq_codel.c b/sys/net/altq/altq_codel.c
index be16a5aef3e5..5006920ca68d 100644
--- a/sys/net/altq/altq_codel.c
+++ b/sys/net/altq/altq_codel.c
@@ -289,16 +289,18 @@ codel_addq(struct codel *c, class_queue_t *q, struct mbuf *m)
if (qlen(q) < qlimit(q)) {
mtag = m_tag_locate(m, MTAG_CODEL, 0, NULL);
- if (mtag == NULL)
+ if (mtag == NULL) {
mtag = m_tag_alloc(MTAG_CODEL, 0, sizeof(uint64_t),
M_NOWAIT);
+ if (mtag != NULL)
+ m_tag_prepend(m, mtag);
+ }
if (mtag == NULL) {
m_freem(m);
return (-1);
}
enqueue_time = (uint64_t *)(mtag + 1);
*enqueue_time = read_machclk();
- m_tag_prepend(m, mtag);
_addq(q, m);
return (0);
}