blob: 7f00df6cd8975273d0554bff021703a57542e52b [file] [log] [blame]
Laszlo Attila Totha31e1ff2009-06-09 15:16:34 +02001#ifndef _XT_SOCKET_H
2#define _XT_SOCKET_H
3
Jan Engelhardt06988b02011-01-20 17:50:17 +01004#include <linux/types.h>
5
Laszlo Attila Totha31e1ff2009-06-09 15:16:34 +02006enum {
7 XT_SOCKET_TRANSPARENT = 1 << 0,
Eric Dumazet681f1302013-06-20 05:52:22 -07008 XT_SOCKET_NOWILDCARD = 1 << 1,
Harout Hedeshian01555e72015-06-15 18:40:43 -06009 XT_SOCKET_RESTORESKMARK = 1 << 2,
Laszlo Attila Totha31e1ff2009-06-09 15:16:34 +020010};
11
12struct xt_socket_mtinfo1 {
13 __u8 flags;
14};
Eric Dumazet681f1302013-06-20 05:52:22 -070015#define XT_SOCKET_FLAGS_V1 XT_SOCKET_TRANSPARENT
16
17struct xt_socket_mtinfo2 {
18 __u8 flags;
19};
20#define XT_SOCKET_FLAGS_V2 (XT_SOCKET_TRANSPARENT | XT_SOCKET_NOWILDCARD)
Laszlo Attila Totha31e1ff2009-06-09 15:16:34 +020021
Harout Hedeshian01555e72015-06-15 18:40:43 -060022struct xt_socket_mtinfo3 {
23 __u8 flags;
24};
25#define XT_SOCKET_FLAGS_V3 (XT_SOCKET_TRANSPARENT \
26 | XT_SOCKET_NOWILDCARD \
27 | XT_SOCKET_RESTORESKMARK)
28
Amit Pundir7de1bb82015-11-20 14:45:40 +053029struct sock *xt_socket_lookup_slow_v4(struct net *net,
30 const struct sk_buff *skb,
31 const struct net_device *indev);
32struct sock *xt_socket_lookup_slow_v6(struct net *net,
33 const struct sk_buff *skb,
34 const struct net_device *indev);
John Stultzbd1bca42014-03-28 16:23:48 -070035
Laszlo Attila Totha31e1ff2009-06-09 15:16:34 +020036#endif /* _XT_SOCKET_H */