3 * Flow based forwarding rules (usage: firewalling, etc)
11 int proto; /* {TCP, UDP, ICMP} */
20 struct in6_addr * daddr;
21 struct in6_addr * saddr;
25 #define fl6_dst nl_u.ip6_u.daddr
26 #define fl6_src nl_u.ip6_u.saddr
27 #define fl6_flowlabel nl_u.ip6_u.flowlabel
28 #define fl4_dst nl_u.ip4_u.daddr
29 #define fl4_src nl_u.ip4_u.saddr
48 #define FLOWR_NODECISION 0 /* rule not appliable to flow */
49 #define FLOWR_SELECT 1 /* flow must follow this rule */
50 #define FLOWR_CLEAR 2 /* priority level clears flow */
57 #define FL_ARG_FORWARD 1
58 #define FL_ARG_ORIGIN 2
75 struct pkt_filter *next;
84 struct pkt_filter *filter;
90 struct flow_rule_ops *ops;
91 unsigned char private[0];
94 struct flow_rule_ops {
95 int (*accept)(struct rt6_info *rt,
96 struct rt6_info *rule,
97 struct fl_acc_args *args,
98 struct rt6_info **nrt);