volatile int pb_done;
volatile int pb_inuse;
struct ifnet *pb_ifp;
+ struct ifaltq_subque *pb_ifsq;
int pb_len;
int pb_cpuid;
struct pktgen *pb_pktg;
}
pktenq = conf->pc_pktenq;
- if (pktenq < 0 || pktenq > ifp->if_snd.ifq_maxlen) {
+ if (pktenq < 0 || pktenq > ifp->if_snd.altq_maxlen) {
error = ENOBUFS;
goto failed;
} else if (pktenq == 0) {
- pktenq = (ifp->if_snd.ifq_maxlen * 3) / 4;
+ pktenq = (ifp->if_snd.altq_maxlen * 3) / 4;
}
sa = &conf->pc_dst_lladdr;
{
struct mbuf *m, *head = NULL, **next;
struct ifnet *ifp;
+ struct ifaltq_subque *ifsq;
int cpuid, orig_cpuid, i, alloc_cnt, keep_cnt;
u_short ulen, psum;
pktg->pktg_flags |= PKTG_F_RUNNING;
ifp = pktg->pktg_ifp;
+ ifsq = ifq_get_subq_default(&ifp->if_snd);
orig_cpuid = mycpuid;
- cpuid = ifp->if_start_cpuid(ifp);
+ cpuid = ifsq_get_cpuid(ifsq);
if (cpuid != orig_cpuid)
lwkt_migratecpu(cpuid);
pb = kmalloc(sizeof(*pb), M_PKTGEN, M_WAITOK | M_ZERO);
pb->pb_ifp = ifp;
+ pb->pb_ifsq = ifsq;
pb->pb_inuse = 1;
pb->pb_buf = kmalloc(PKTGEN_BUFSZ, M_PKTGEN, M_WAITOK);
pb->pb_len = len;
MGETHDR(m, MB_WAIT, MT_DATA);
pktgen_mbuf(pb, m);
- ifq_enqueue(&pb->pb_ifp->if_snd, m, NULL);
+ ifsq_enqueue(pb->pb_ifsq, m, NULL);
}
static void