This repository was archived by the owner on Oct 10, 2020. It is now read-only.
forked from kevinsuo/container-network-optimization
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathflow_dissector.h.diff
48 lines (44 loc) · 1.52 KB
/
flow_dissector.h.diff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
--- ../linux-4.3/include/net/flow_dissector.h 2018-05-16 03:08:45.000000000 -0500
+++ ./include/net/flow_dissector.h 2018-09-19 12:03:34.401621779 -0500
@@ -28,7 +28,7 @@
struct flow_dissector_key_basic {
__be16 n_proto;
u8 ip_proto;
- u8 padding;
+ u8 padding; //not used space, to store the dev id by Kun
};
struct flow_dissector_key_tags {
@@ -128,10 +128,11 @@
FLOW_DISSECTOR_KEY_FLOW_LABEL, /* struct flow_dissector_key_flow_tags */
FLOW_DISSECTOR_KEY_GRE_KEYID, /* struct flow_dissector_key_keyid */
FLOW_DISSECTOR_KEY_MPLS_ENTROPY, /* struct flow_dissector_key_keyid */
-
+
FLOW_DISSECTOR_KEY_MAX,
};
+
#define FLOW_DISSECTOR_F_PARSE_1ST_FRAG BIT(0)
#define FLOW_DISSECTOR_F_STOP_AT_L3 BIT(1)
#define FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL BIT(2)
@@ -149,14 +150,16 @@
};
struct flow_keys {
- struct flow_dissector_key_control control;
+ struct flow_dissector_key_control control; //64 bits
#define FLOW_KEYS_HASH_START_FIELD basic
- struct flow_dissector_key_basic basic;
- struct flow_dissector_key_tags tags;
- struct flow_dissector_key_vlan vlan;
- struct flow_dissector_key_keyid keyid;
- struct flow_dissector_key_ports ports;
- struct flow_dissector_key_addrs addrs;
+ struct flow_dissector_key_basic basic; //32
+
+ struct flow_dissector_key_tags tags; //32
+ struct flow_dissector_key_vlan vlan; //32
+ struct flow_dissector_key_keyid keyid; //32
+
+ struct flow_dissector_key_ports ports; //32
+ struct flow_dissector_key_addrs addrs; //64
};
#define FLOW_KEYS_HASH_OFFSET \