if (flowq_cache == NULL) {
panic("%s: failed to allocate flowq_cache", __func__);
/* NOTREACHED */
if (flowq_cache == NULL) {
panic("%s: failed to allocate flowq_cache", __func__);
/* NOTREACHED */
- if (fq_getq_flow_internal(fqs, fq, &pkt) == NULL) {
+ fq_getq_flow_internal(fqs, fq, &pkt);
+ if (pkt.pktsched_pkt_mbuf == NULL) {
uint32_t pkt_flowid, pkt_tx_start_seq;
uint8_t pkt_proto, pkt_flowsrc;
pktsched_get_pkt_vars(pkt, &pkt_flags, &pkt_timestamp, &pkt_flowid,
&pkt_flowsrc, &pkt_proto, &pkt_tx_start_seq);
uint32_t pkt_flowid, pkt_tx_start_seq;
uint8_t pkt_proto, pkt_flowsrc;
pktsched_get_pkt_vars(pkt, &pkt_flags, &pkt_timestamp, &pkt_flowid,
&pkt_flowsrc, &pkt_proto, &pkt_tx_start_seq);
/* See comments in <rdar://problem/14040693> */
VERIFY(!(*pkt_flags & PKTF_PRIV_GUARDED));
*pkt_flags |= PKTF_PRIV_GUARDED;
/* See comments in <rdar://problem/14040693> */
VERIFY(!(*pkt_flags & PKTF_PRIV_GUARDED));
*pkt_flags |= PKTF_PRIV_GUARDED;
- p = fq_getq_flow_internal(fqs, fq, pkt);
- if (p == NULL) {
- return NULL;
+ fq_getq_flow_internal(fqs, fq, pkt);
+ if (pkt->pktsched_ptype == QP_INVALID) {
+ VERIFY(pkt->pktsched_pkt_mbuf == NULL);
+ return;
}
pktsched_get_pkt_vars(pkt, &pkt_flags, &pkt_timestamp, NULL, NULL,
}
pktsched_get_pkt_vars(pkt, &pkt_flags, &pkt_timestamp, NULL, NULL,