mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-26 06:33:19 -04:00
[PKT_SCHED]: Packet classification based on textsearch (ematch)
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3fc7e8a6d8
commit
d675c989ed
6 changed files with 194 additions and 2 deletions
|
|
@ -408,6 +408,7 @@ enum
|
|||
TCF_EM_NBYTE,
|
||||
TCF_EM_U32,
|
||||
TCF_EM_META,
|
||||
TCF_EM_TEXT,
|
||||
__TCF_EM_MAX
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -892,10 +892,13 @@ extern void __rta_fill(struct sk_buff *skb, int attrtype, int attrlen, const voi
|
|||
goto rtattr_failure; \
|
||||
__rta_fill(skb, attrtype, attrlen, data); })
|
||||
|
||||
#define RTA_PUT_NOHDR(skb, attrlen, data) \
|
||||
#define RTA_APPEND(skb, attrlen, data) \
|
||||
({ if (unlikely(skb_tailroom(skb) < (int)(attrlen))) \
|
||||
goto rtattr_failure; \
|
||||
memcpy(skb_put(skb, RTA_ALIGN(attrlen)), data, attrlen); })
|
||||
memcpy(skb_put(skb, attrlen), data, attrlen); })
|
||||
|
||||
#define RTA_PUT_NOHDR(skb, attrlen, data) \
|
||||
RTA_APPEND(skb, RTA_ALIGN(attrlen), data)
|
||||
|
||||
#define RTA_PUT_U8(skb, attrtype, value) \
|
||||
({ u8 _tmp = (value); \
|
||||
|
|
|
|||
19
include/linux/tc_ematch/tc_em_text.h
Normal file
19
include/linux/tc_ematch/tc_em_text.h
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#ifndef __LINUX_TC_EM_TEXT_H
|
||||
#define __LINUX_TC_EM_TEXT_H
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TC_EM_TEXT_ALGOSIZ 16
|
||||
|
||||
struct tcf_em_text
|
||||
{
|
||||
char algo[TC_EM_TEXT_ALGOSIZ];
|
||||
__u16 from_offset;
|
||||
__u16 to_offset;
|
||||
__u16 pattern_len;
|
||||
__u8 from_layer:4;
|
||||
__u8 to_layer:4;
|
||||
__u8 pad;
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Reference in a new issue