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
);