static int filter_ifindex;
static __u32 filter_prio;
static __u32 filter_protocol;
+__u16 f_proto = 0;
int print_filter(const struct sockaddr_nl *who,
struct nlmsghdr *n,
}
}
if (t->tcm_info) {
- __u32 protocol = TC_H_MIN(t->tcm_info);
+ f_proto = TC_H_MIN(t->tcm_info);
__u32 prio = TC_H_MAJ(t->tcm_info)>>16;
- if (!filter_protocol || filter_protocol != protocol) {
- if (protocol) {
+ if (!filter_protocol || filter_protocol != f_proto) {
+ if (f_proto) {
SPRINT_BUF(b1);
fprintf(fp, "protocol %s ",
- ll_proto_n2a(protocol, b1, sizeof(b1)));
+ ll_proto_n2a(f_proto, b1, sizeof(b1)));
}
}
if (!filter_prio || filter_prio != prio) {
int (*print_copt)(struct qdisc_util *qu, FILE *f, struct rtattr *opt);
};
+extern __u16 f_proto;
struct filter_util
{
struct filter_util *next;