Home | History | Annotate | Download | only in extensions

Lines Matching refs:cb

326 static void hashlimit_parse(struct xt_option_call *cb)
328 struct xt_hashlimit_info *info = cb->data;
330 xtables_option_parse(cb);
331 switch (cb->entry->id) {
333 if (!parse_rate(cb->arg, &info->cfg.avg, cb->udata))
335 "--hashlimit-upto", cb->arg);
338 if (parse_mode(&info->cfg.mode, cb->arg) < 0)
340 "--hashlimit-mode", cb->arg);
345 static void hashlimit_mt_parse(struct xt_option_call *cb)
347 struct xt_hashlimit_mtinfo1 *info = cb->data;
349 xtables_option_parse(cb);
350 switch (cb->entry->id) {
352 info->cfg.burst = parse_burst(cb->arg, info);
355 if (cb->invert)
357 if (parse_bytes(cb->arg, &info->cfg.avg, cb->udata))
359 else if (!parse_rate(cb->arg, &info->cfg.avg, cb->udata))
361 "--hashlimit-upto", cb->arg);
364 if (!cb->invert)
366 if (parse_bytes(cb->arg, &info->cfg.avg, cb->udata))
368 else if (!parse_rate(cb->arg, &info->cfg.avg, cb->udata))
370 "--hashlimit-above", cb->arg);
373 if (parse_mode(&info->cfg.mode, cb->arg) < 0)
375 "--hashlimit-mode", cb->arg);
378 info->cfg.srcmask = cb->val.hlen;
381 info->cfg.dstmask = cb->val.hlen;
386 static void hashlimit_check(struct xt_fcheck_call *cb)
388 const struct hashlimit_mt_udata *udata = cb->udata;
389 struct xt_hashlimit_info *info = cb->data;
391 if (!(cb->xflags & (F_UPTO | F_ABOVE)))
394 if (!(cb->xflags & F_HTABLE_EXPIRE))
398 static void hashlimit_mt_check(struct xt_fcheck_call *cb)
400 const struct hashlimit_mt_udata *udata = cb->udata;
401 struct xt_hashlimit_mtinfo1 *info = cb->data;
403 if (!(cb->xflags & (F_UPTO | F_ABOVE)))
406 if (!(cb->xflags & F_HTABLE_EXPIRE))
411 if (cb->xflags & F_BURST) {
420 if (!(cb->xflags & F_HTABLE_EXPIRE))