Tagging module iproute2 - iproute2-2.6.16-2
[iproute2.git] / tc / q_ingress.c
1 /*
2  *
3  * q_ingress.c             INGRESS.
4  *
5  *              This program is free software; you can redistribute it and/or
6  *              modify it under the terms of the GNU General Public License
7  *              as published by the Free Software Foundation; either version
8  *              2 of the License, or (at your option) any later version.
9  *
10  * Authors:    J Hadi Salim
11  *
12  * This is here just in case it is needed
13  * useless right now; might be useful in the future
14  *
15  */
16
17 #include <stdio.h>
18 #include <stdlib.h>
19 #include <unistd.h>
20 #include <syslog.h>
21 #include <fcntl.h>
22 #include <sys/socket.h>
23 #include <netinet/in.h>
24 #include <arpa/inet.h>
25 #include <string.h>
26
27 #include "utils.h"
28 #include "tc_util.h"
29
30 static void explain(void)
31 {
32         fprintf(stderr, "Usage: ... ingress \n");
33 }
34
35 #define usage() return(-1)
36
37 static int ingress_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n)
38 {
39
40         if (argc > 0) {
41                 while (argc > 0) {
42
43                         if (strcmp(*argv, "handle") == 0) {
44                                 NEXT_ARG();
45                                 argc--; argv++;
46                         } else {
47                                 fprintf(stderr, "What is \"%s\"?\n", *argv);
48                                 explain();
49                                 return -1;
50                         }
51                 }
52         }
53
54         addattr_l(n, 1024, TCA_OPTIONS, NULL, 0);
55         return 0;
56 }
57
58 static int ingress_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
59 {
60
61                 fprintf(f, "---------------- ");
62         return 0;
63 }
64
65 struct qdisc_util ingress_qdisc_util = {
66         .id             = "ingress",
67         .parse_qopt     = ingress_parse_opt,
68         .print_qopt     = ingress_print_opt,
69 };