pkt_sched: ingress socket filter by mark
Allow bpf to set a filter to drop packets that dont match a specific mark Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
7c734359d3
Коммит
7e75f93eda
|
@ -123,7 +123,8 @@ struct sock_fprog /* Required for SO_ATTACH_FILTER. */
|
||||||
#define SKF_AD_IFINDEX 8
|
#define SKF_AD_IFINDEX 8
|
||||||
#define SKF_AD_NLATTR 12
|
#define SKF_AD_NLATTR 12
|
||||||
#define SKF_AD_NLATTR_NEST 16
|
#define SKF_AD_NLATTR_NEST 16
|
||||||
#define SKF_AD_MAX 20
|
#define SKF_AD_MARK 20
|
||||||
|
#define SKF_AD_MAX 24
|
||||||
#define SKF_NET_OFF (-0x100000)
|
#define SKF_NET_OFF (-0x100000)
|
||||||
#define SKF_LL_OFF (-0x200000)
|
#define SKF_LL_OFF (-0x200000)
|
||||||
|
|
||||||
|
|
|
@ -303,6 +303,9 @@ load_b:
|
||||||
case SKF_AD_IFINDEX:
|
case SKF_AD_IFINDEX:
|
||||||
A = skb->dev->ifindex;
|
A = skb->dev->ifindex;
|
||||||
continue;
|
continue;
|
||||||
|
case SKF_AD_MARK:
|
||||||
|
A = skb->mark;
|
||||||
|
continue;
|
||||||
case SKF_AD_NLATTR: {
|
case SKF_AD_NLATTR: {
|
||||||
struct nlattr *nla;
|
struct nlattr *nla;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче