NS_MOREFRAG
ring->slot[i].flags = NS_MOREFRAG;
ctx->slots[ctx->nm_i].flags |= NS_MOREFRAG | NS_BUF_CHANGED;
while ((ctx->slots[nm].flags & NS_MOREFRAG) != 0) {
} while ((nm_slot->flags & NS_MOREFRAG) != 0);
} while ((nm_slot->flags & NS_MOREFRAG) != 0 && bytes_to_copy > 0);
ctx->slots[nm_prev(ctx->nm_i, ctx->lim)].flags &= ~NS_MOREFRAG;
slot->flags = NS_MOREFRAG;
if (!(slot->flags & NS_MOREFRAG) || head == ring->tail) {
if (!(slot->flags & NS_MOREFRAG)) {
ring->slot[nm_i].flags = (mlen ? NS_MOREFRAG : 0);
morefrag = ring->slot[nm_i].flags & NS_MOREFRAG;
dst_slot->flags = (dst_slots << 8)| NS_MOREFRAG;
complete = !(ts->flags & NS_MOREFRAG);
slot->flags = (cnt << 8)| NS_MOREFRAG;
if (slot->flags & NS_MOREFRAG) {
ft[ft_i - 1].ft_flags &= ~NS_MOREFRAG;
} else if (na->up.virt_hdr_len == ft[i].ft_len && ft[i].ft_flags & NS_MOREFRAG) {
if (!(slot->flags & NS_MOREFRAG)) {
slot->flags &= ~(NS_REPORT | NS_BUF_CHANGED | NS_MOREFRAG);
ring->slot[nm_i].flags = NS_MOREFRAG;
ring->slot[i].flags = NS_MOREFRAG;
while (slot->flags & NS_MOREFRAG) {
ts->flags = (ts->flags & ~NS_MOREFRAG) | (rs->flags & NS_MOREFRAG);
mf->last_flag = rs->flags & NS_MOREFRAG;
uint16_t curmf = rs->flags & NS_MOREFRAG;
if (!(slot->flags & NS_MOREFRAG))
slot->flags = NS_MOREFRAG;
if (!(slot->flags & NS_MOREFRAG))
slot->flags |= NS_MOREFRAG;
assert(!(slot->flags & NS_MOREFRAG));
if (!(slot->flags & NS_MOREFRAG)) {
ring->slot[head].flags = NS_MOREFRAG;
if ((slot->flags & NS_MOREFRAG) == 0)
} while (slot->flags & NS_MOREFRAG);