broadcom-wl: fix memory corruption and leakage on remove (patch from #9576 by George...
[openwrt.git] / package / iproute2 / patches / 200-act_connmark.patch
1 --- a/tc/Makefile
2 +++ b/tc/Makefile
3 @@ -36,6 +36,7 @@ TCMODULES += m_mirred.o
4 TCMODULES += m_nat.o
5 TCMODULES += m_pedit.o
6 TCMODULES += m_skbedit.o
7 +TCMODULES += m_connmark.o
8 TCMODULES += p_ip.o
9 TCMODULES += p_icmp.o
10 TCMODULES += p_tcp.o
11 --- /dev/null
12 +++ b/tc/m_connmark.c
13 @@ -0,0 +1,71 @@
14 +/*
15 + * m_connmark.c Connection tracking marking import
16 + *
17 + * Copyright (c) 2011 Felix Fietkau <nbd@openwrt.org>
18 + *
19 + * This program is free software; you can redistribute it and/or modify it
20 + * under the terms and conditions of the GNU General Public License,
21 + * version 2, as published by the Free Software Foundation.
22 + *
23 + * This program is distributed in the hope it will be useful, but WITHOUT
24 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
25 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
26 + * more details.
27 + *
28 + * You should have received a copy of the GNU General Public License along with
29 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
30 + * Place - Suite 330, Boston, MA 02111-1307 USA.
31 + */
32 +
33 +#include <stdio.h>
34 +#include <stdlib.h>
35 +#include <unistd.h>
36 +#include <string.h>
37 +#include "utils.h"
38 +#include "tc_util.h"
39 +
40 +static void
41 +explain(void)
42 +{
43 + fprintf(stderr, "Usage: ... connmark\n");
44 +}
45 +
46 +static void
47 +usage(void)
48 +{
49 + explain();
50 + exit(-1);
51 +}
52 +
53 +static int
54 +parse_connmark(struct action_util *a, int *argc_p, char ***argv_p, int tca_id,
55 + struct nlmsghdr *n)
56 +{
57 + int argc = *argc_p;
58 + char **argv = *argv_p;
59 +
60 + if (matches(*argv, "connmark") != 0)
61 + return -1;
62 +
63 + NEXT_ARG();
64 +
65 + *argc_p = argc;
66 + *argv_p = argv;
67 + return 0;
68 +}
69 +
70 +static int print_connmark(struct action_util *au, FILE *f, struct rtattr *arg)
71 +{
72 + if (arg == NULL)
73 + return -1;
74 +
75 + fprintf(f, " connmark");
76 +
77 + return 0;
78 +}
79 +
80 +struct action_util connmark_action_util = {
81 + .id = "connmark",
82 + .parse_aopt = parse_connmark,
83 + .print_aopt = print_connmark,
84 +};
This page took 0.04168 seconds and 5 git commands to generate.