summaryrefslogtreecommitdiff
path: root/dissector_sll.h
blob: 2067942c22f0152091060014dc81888f57c961c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*
 * netsniff-ng - the packet sniffing beast
 * Subject to the GPL, version 2.
 */

#ifndef DISSECTOR_SLL_H
#define DISSECTOR_SLL_H

#include "hash.h"
#include "proto.h"

extern void dissector_init_sll(int fnttype);
extern void dissector_cleanup_sll(void);

extern struct protocol *dissector_get_sll_entry_point(void);
extern struct protocol *dissector_get_sll_exit_point(void);

#endif /* DISSECTOR_SLL_H */
:18:34 -0500 commitb668b9030c0168cf86e054adfe72e89df49b2772 (patch) tree5475357c2342327746b5f99a67d46f4eb4ef78d3 parent58be2427da98a17426cff3d30c50e419781a230b (diff)parent853a14ba4682f820266469979c9297debc05f60c (diff)
Merge branch 'act_pedit-relative-offset'
Amir Vadai says: ==================== net/sched: act_pedit: Use offset relative to conventional network headers Some FW/HW parser APIs are such that they need to get the specific header type (e.g IPV4 or IPV6, TCP or UDP) and not only the networking level (e.g network or transport). Enhancing the UAPI to allow for specifying that, would allow the same flows to be set into both SW and HW. This patchset also makes pedit more robust. Currently fields offset is specified by offset relative to the ip header, while using negative offsets for MAC layer fields. This series enables the user to set offset relative to the relevant header. Usage example: $ tc filter add dev enp0s9 protocol ip parent ffff: \ flower \ ip_proto tcp \ dst_port 80 \ action \ pedit munge ip ttl add 0xff \ pedit munge tcp dport set 8080 \ pipe action mirred egress redirect dev veth0 Will forward traffic destined to tcp dport 80, while modifying the destination port to 8080, and decreasing the ttl by one. I've uploaded a draft for the userspace [2] to make it easier to review and test the patchset. [1] - http://patchwork.ozlabs.org/patch/700909/ [2] - git: https://bitbucket.org/av42/iproute2.git branch: pedit Patchset was tested and applied on top of upstream commit bd092ad1463c ("Merge branch 'remove-__napi_complete_done'") Thanks, Amir Changes since V2: - Instead of reusing unused bits in existing uapi fields, using new netlink attributes for the new information. This way new/old user space and new/old kernel can live together without having misunderstandings. Changes since V1: - No changes - V1 was sent and didn't make it for 4.10. - You asked me [1] why did I use specific header names instead of layers (L2, L3...), and I explained that it is on purpose, this extra information is planned to be used by hardware drivers to offload the action. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat
-rw-r--r--include/linux/skbuff.h5
-rw-r--r--include/net/tc_act/tc_pedit.h6
-rw-r--r--include/uapi/linux/tc_act/tc_pedit.h31
-rw-r--r--net/sched/act_pedit.c220
4 files changed, 245 insertions, 17 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h