blue_stats
struct blue_stats *q_stats;
q_stats = (struct blue_stats *)addr;
q_stats->xmit_packets = rp->blue_stats.xmit_packets;
q_stats->xmit_bytes = rp->blue_stats.xmit_bytes;
q_stats->drop_packets = rp->blue_stats.drop_packets;
q_stats->drop_bytes = rp->blue_stats.drop_bytes;
q_stats->drop_forced = rp->blue_stats.drop_forced;
q_stats->drop_unforced = rp->blue_stats.drop_unforced;
q_stats->marked_packets = rp->blue_stats.marked_packets;
rp->blue_stats.marked_packets++;
rp->blue_stats.drop_unforced++;
rp->blue_stats.drop_forced++;
rp->blue_stats.drop_packets++;
rp->blue_stats.drop_bytes += m->m_pkthdr.len;
rp->blue_stats.xmit_packets++;
rp->blue_stats.xmit_bytes += m->m_pkthdr.len;
} blue_stats;
#define BLUE_GETSTATS _IOWR('Q', 12, struct blue_stats)
struct blue_stats blue_stats;
strlcpy(blue_stats.iface.blue_ifname, ifname,
sizeof(blue_stats.iface.blue_ifname));
if (ioctl(fd, BLUE_GETSTATS, &blue_stats) < 0)
blue_stats.q_len, blue_stats.q_limit,
blue_stats.q_pmark);
(ull)blue_stats.xmit_packets,
(ull)blue_stats.drop_packets,
(ull)blue_stats.drop_forced,
(ull)blue_stats.drop_unforced);
if (blue_stats.marked_packets != 0)
(ull)blue_stats.marked_packets);
rate2str(calc_rate(blue_stats.xmit_bytes,
last_bytes = blue_stats.xmit_bytes;