qs
if (strcmp(q->ifname, qi->qs.ifname))
qi->qs.ifname);
bcopy(q, &qi->qs, sizeof(qi->qs));
if (qi->qs.parent[0])
if (strcmp(q->qs.qname, what) == 0)
u_int flags = qi->qs.flags;
if (strcmp(p->qs.parent, qi->qs.qname))
if (p->qs.ifname[0] && strcmp(p->qs.ifname, qi->qs.ifname))
if ((q = pfctl_find_queue(p->qs.qname, &qi->children)) == NULL) {
bcopy(&p->qs, &n->qs, sizeof(n->qs));
if ((q->qs.ifname[0] && p->qs.ifname[0]))
q->qs.qname, q->qs.ifname);
if (!q->qs.ifname[0] && !p->qs.ifname[0])
q->qs.qname);
if (!q->qs.ifname[0])
bcopy(&p->qs, &q->qs, sizeof(q->qs));
if (qi->qs.flags & PFQS_DEFAULT)
qi->qs.qname);
if (qi->qs.flags & PFQS_FLOWQUEUE)
qi->qs.qname);
bcopy(&qi->qs, &q.queue, sizeof(q.queue));
print_queuespec(&qi->qs);
strlcpy(p->qs.ifname, qi->qs.ifname, IFNAMSIZ);
errx(1, "queue %s: parent %s not found", qi->qs.qname,
qi->qs.parent);
rtsc = &qi->qs.realtime;
lssc = &qi->qs.linkshare;
ulsc = &qi->qs.upperlimit;
if (qi->qs.parent[0] != '\0' &&
qi->qs.qname);
if (strcmp(qname, qi->qs.qname))
if (strcmp(qname, qi->qs.qname))
if (!(qi->qs.flags & PFQS_ROOTCLASS) &&
if (qi->qs.flags & PFQS_FLOWQUEUE)
qi->qs.qname);
"for root queue %s", qi->qs.qname);
if ((qi->qs.flags & PFQS_ROOTCLASS) &&
struct pf_queuespec qs;
if (iface != NULL && strcmp(node->qs.ifname, iface))
pfctl_insert_queue_node(const struct pf_queuespec qs,
memcpy(&node->qs, &qs, sizeof(qs));
if (!strcmp(node->qs.qname, qname)
&& !(strcmp(node->qs.ifname, ifname)))
print_queuespec(&node->qs);
node->qs.qid, node->qs.parent_qid, node->qs.ifname);
if (node->qs.parent_qid == 0 && (node->qs.flags & PFQS_FLOWQUEUE) &&
!(node->qs.flags & PFQS_ROOTCLASS)) {
struct pf_queuespec qs;
if (iface != NULL && strcmp(node->qs.ifname, iface))
int qs = 0, ret;
if((ret=query_for_targets(qstate, iq, ie, id, 1, &qs))!=0) {
iq->num_target_queries += qs;
target_count_increase(iq, qs);
if(qs != 0) {
int qs = 0, ret;
1, &qs))!=0) {
if(qs == 0 &&
if(qs == 0) {
iq->num_target_queries += qs;
target_count_increase(iq, qs);
struct aac_qstat *qs; \
qs = &(sc)->aac_qstat[qname]; \
qs->q_length++; \
if (qs->q_length > qs->q_max) \
qs->q_max = qs->q_length; \
fqcodel_pf_addqueue(void *arg, struct pf_queuespec *qs)
struct ifnet *ifp = qs->kif->pfik_ifp;
if (qs->flowqueue.flows == 0 || qs->flowqueue.flows > 0xffff)
fqc->nflows = qs->flowqueue.flows;
fqc->quantum = qs->flowqueue.quantum;
if (qs->qlimit > 0)
fqc->qlimit = qs->qlimit;
codel_initparams(&fqc->cparams, qs->flowqueue.target,
qs->flowqueue.interval, fqc->quantum);
fqcodel_pf_qstats(struct pf_queuespec *qs, void *ubuf, int *nbytes)
struct ifnet *ifp = qs->kif->pfik_ifp;
struct pf_queuespec *qs;
qs = TAILQ_FIRST(pf_queues_active);
while (qs != NULL) {
qs = TAILQ_NEXT(qs, entries);
struct pf_queuespec *qs;
qs = TAILQ_FIRST(pf_queues_active);
while ((qs != NULL) && (nr++ < pq->nr))
qs = TAILQ_NEXT(qs, entries);
if (qs == NULL) {
memcpy(&pq->queue, qs, sizeof(pq->queue));
struct pf_queuespec *qs;
qs = TAILQ_FIRST(pf_queues_active);
while ((qs != NULL) && (nr++ < pq->nr))
qs = TAILQ_NEXT(qs, entries);
if (qs == NULL) {
memcpy(&pq->queue, qs, sizeof(pq->queue));
if ((qs->flags & PFQS_FLOWQUEUE) && qs->parent_qid == 0 &&
!(qs->flags & PFQS_ROOTCLASS))
error = pfq_fqcodel_ops->pfq_qstats(qs, pq->buf,
error = pfq_hfsc_ops->pfq_qstats(qs, pq->buf,
struct pf_queuespec *qs;
qs = pool_get(&pf_queue_pl, PR_WAITOK|PR_LIMITFAIL|PR_ZERO);
if (qs == NULL) {
pool_put(&pf_queue_pl, qs);
memcpy(qs, &q->queue, sizeof(*qs));
qs->qid = pf_qname2qid(qs->qname, 1);
if (qs->qid == 0) {
pool_put(&pf_queue_pl, qs);
if (qs->parent[0] && (qs->parent_qid =
pf_qname2qid(qs->parent, 0)) == 0) {
pool_put(&pf_queue_pl, qs);
qs->kif = pfi_kif_get(qs->ifname, NULL);
if (qs->kif == NULL) {
pool_put(&pf_queue_pl, qs);
pfi_kif_ref(qs->kif, PFI_KIF_REF_RULE);
TAILQ_INSERT_TAIL(pf_queues_inactive, qs, entries);
char *qs;
qs = lglob(fpat);
s = shell_unquote(qs);
free(qs);
qs = NULL;
return (qs);
parse_query_string(struct req *req, const char *qs)
while (*qs != '\0') {
keysz = strcspn(qs, "=;&");
key = mandoc_strndup(qs, keysz);
qs += keysz;
if (*qs != '=')
valsz = strcspn(++qs, ";&");
val = mandoc_strndup(qs, valsz);
qs += valsz;
if (*qs != '\0')
qs++;
if (!strcmp(node->qs.qname, qname)
&& !(strcmp(node->qs.ifname, ifname)))
pfctl_insert_queue_node(const struct pf_queuespec qs,
memcpy(&node->qs, &qs, sizeof(qs));
if (node->qs.parent[0]) {
parent = pfctl_find_queue_node(node->qs.parent,
node->qs.ifname);
tbprintf("%s", node->qs.qname);
if (i == 0 && node->qs.ifname[0])
tbprintf(" on %s ", node->qs.ifname);
rate = node->qs.linkshare.m2.absolute;
if (rate == 0 && (node->qs.flags & PFQS_FLOWQUEUE)) {
print_fld_str(FLD_SCHED, node->qs.flags & PFQS_FLOWQUEUE ?
struct pf_queuespec qs;
const char *qs)
if (parse_querystring(qs, ctx) != 0)
parse_value(struct lg_ctx *ctx, unsigned int qs, enum qs_type type, char *val)
ctx->qs_args[qs].one = 1;
lwarnx("%s: bad value %s expected 1", qs2str(qs), val);
lwarnx("%s: bad string", qs2str(qs));
ctx->qs_args[qs].string = strdup(val);
if (ctx->qs_args[qs].string == NULL) {
lwarnx("%s: bad number", qs2str(qs));
ctx->qs_args[qs].string = strdup(val);
if (ctx->qs_args[qs].string == NULL) {
lwarnx("%s: bad prefix", qs2str(qs));
ctx->qs_args[qs].string = strdup(val);
if (ctx->qs_args[qs].string == NULL) {
ctx->qs_args[qs].string = strdup(val);
if (ctx->qs_args[qs].string == NULL) {
lwarnx("%s: bad value %s", qs2str(qs), val);
ctx->qs_args[qs].string = strdup(val);
if (ctx->qs_args[qs].string == NULL) {
lwarnx("%s: bad OVS value %s", qs2str(qs), val);
ctx->qs_args[qs].string = strdup(val);
if (ctx->qs_args[qs].string == NULL) {
lwarnx("%s: bad AVS value %s", qs2str(qs), val);
if (((1 << qsargs[i].qs) & ctx->qs_mask) == 0) {
if (((1 << qsargs[i].qs) & ctx->qs_set) != 0) {
ctx->qs_set |= (1 << qsargs[i].qs);
if ((rv = parse_value(ctx, qsargs[i].qs, qsargs[i].type,
unsigned int qs;
qs2str(unsigned int qs)
if (qsargs[i].qs == qs)
lerrx(1, "unknown querystring param %d", qs);
const char *qs2str(unsigned int qs);
struct sockaddr_storage *qs,
struct sockaddr_in *qs,
assert(qs->ss_family == AF_INET6 || qs->ss_family == AF_INET);
if (qs->ss_family == AF_INET6) {
struct sockaddr_in6 *s = (struct sockaddr_in6 *) qs;
} else if (qs->ss_family == AF_INET) {
if (qs->sin_family == AF_INET) {
struct sockaddr_in *s = (struct sockaddr_in *) qs;
struct sockaddr_storage *qs,
log_assert(qs->ss_family == AF_INET6 || qs->ss_family == AF_INET);
if (qs->ss_family == AF_INET6) {
struct sockaddr_in6 *q = (struct sockaddr_in6 *) qs;
} else if (qs->ss_family == AF_INET) {
struct sockaddr_in *q = (struct sockaddr_in *) qs;
const char *ds, *qs;
qs = NULL;
qs = qname + (qlen - plen);
|| (qs && strncasecmp(p->str, qs, plen) == 0)) {
int qs = 0, ret;
if((ret=query_for_targets(qstate, iq, ie, id, 1, &qs))!=0) {
iq->num_target_queries += qs;
target_count_increase(iq, qs);
if(qs != 0) {
int qs = 0, ret;
1, &qs))!=0) {
if(qs == 0 &&
if(qs == 0) {
iq->num_target_queries += qs;
target_count_increase(iq, qs);
client_enter_queries(struct doq_client_data* data, char** qs, int count)
buf = make_query(qs[i], qs[i+1], qs[i+2]);
static void run(const char* svr, int port, char** qs, int count,
client_enter_queries(data, qs, count);
int noanswer, int onarrival, int delay, int num, char** qs)
printf("\nNext query is %s %s %s\n", qs[i], qs[i+1], qs[i+2]);
qs[i], qs[i+1], qs[i+2]);
char qs[512], ps[512];
size_t qslen = sizeof(qs), pslen = sizeof(ps);
char* qss = qs, *pss = ps;
return (strcmp(qs, ps) == 0);
char qs[5120], ps[5120];
size_t qslen = sizeof(qs), pslen = sizeof(ps);
char* qss = qs, *pss = ps;
if(strcmp(qs, ps) == 0)
qslen = strlen(qs);
if(qslen > pslen && strcmp(qs + (qslen-pslen), ps) == 0 &&
qs[qslen-pslen-1] == '.') {
while(i>0 && qs[i]=='\\') {
if (++i >= vq_info->qs) {
if (++cnt >= vq_info->qs) {
vq_info->qs = dev->queue_size;
sizeof(struct vring_desc) * vq_info->qs;
sizeof(struct vring_desc) * vq_info->qs +
sizeof(uint16_t) * (2 + vq_info->qs));
dev->pci_cfg.queue_size = vq_info->qs;
dev->cfg.queue_size = vq_info->qs;
vq_info->qs = dev->pci_cfg.queue_size;
vq_info->mask = vq_info->qs - 1;
if (vq_info->qs > 0 && vq_info->qs % 2 == 0) {
vq_info->qs;
sizeof(struct vring_desc) * vq_info->qs +
sizeof(uint16_t) * (2 + vq_info->qs));
hva = hvaddr_mem(vq_info->q_gpa, vring_size(vq_info->qs));
uint32_t qs;