/*
* f_flow.c Flow filter
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
*
* Authors: Patrick McHardy <kaber@trash.net>
*/
" [ action ACTION_SPEC ]\n"
"\n"
"KEY-LIST := [ KEY-LIST , ] KEY\n"
-"KEY := [ src | dst | proto | proto-src | proto-dst | iif | priority | \n"
-" mark | nfct | nfct-src | nfct-dst | nfct-proto-src | \n"
+"KEY := [ src | dst | proto | proto-src | proto-dst | iif | priority |\n"
+" mark | nfct | nfct-src | nfct-dst | nfct-proto-src |\n"
" nfct-proto-dst | rt-classid | sk-uid | sk-gid |\n"
" vlan-tag | rxhash ]\n"
"OPS := [ or NUM | and NUM | xor NUM | rshift NUM | addend NUM ]\n"
static int flow_parse_opt(struct filter_util *fu, char *handle,
int argc, char **argv, struct nlmsghdr *n)
{
- struct tc_police tp;
struct tcmsg *t = NLMSG_DATA(n);
struct rtattr *tail;
__u32 mask = ~0U, xor = 0;
__u32 mode = FLOW_MODE_MAP;
__u32 tmp;
- memset(&tp, 0, sizeof(tp));
-
if (handle) {
if (get_u32(&t->tcm_handle, handle, 0)) {
fprintf(stderr, "Illegal \"handle\"\n");
__u32 handle)
{
struct rtattr *tb[TCA_FLOW_MAX+1];
+
SPRINT_BUF(b1);
unsigned int i;
__u32 mask = ~0, val = 0;