diff options
Diffstat (limited to 'include/net/flow_dissector.h')
| -rw-r--r-- | include/net/flow_dissector.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/include/net/flow_dissector.h b/include/net/flow_dissector.h index adc24df56b90..6a4586dcdede 100644 --- a/include/net/flow_dissector.h +++ b/include/net/flow_dissector.h | |||
| @@ -47,7 +47,7 @@ struct flow_dissector_key_tags { | |||
| 47 | struct flow_dissector_key_vlan { | 47 | struct flow_dissector_key_vlan { |
| 48 | u16 vlan_id:12, | 48 | u16 vlan_id:12, |
| 49 | vlan_priority:3; | 49 | vlan_priority:3; |
| 50 | u16 padding; | 50 | __be16 vlan_tpid; |
| 51 | }; | 51 | }; |
| 52 | 52 | ||
| 53 | struct flow_dissector_key_mpls { | 53 | struct flow_dissector_key_mpls { |
| @@ -57,6 +57,21 @@ struct flow_dissector_key_mpls { | |||
| 57 | mpls_label:20; | 57 | mpls_label:20; |
| 58 | }; | 58 | }; |
| 59 | 59 | ||
| 60 | #define FLOW_DIS_TUN_OPTS_MAX 255 | ||
| 61 | /** | ||
| 62 | * struct flow_dissector_key_enc_opts: | ||
| 63 | * @data: tunnel option data | ||
| 64 | * @len: length of tunnel option data | ||
| 65 | * @dst_opt_type: tunnel option type | ||
| 66 | */ | ||
| 67 | struct flow_dissector_key_enc_opts { | ||
| 68 | u8 data[FLOW_DIS_TUN_OPTS_MAX]; /* Using IP_TUNNEL_OPTS_MAX is desired | ||
| 69 | * here but seems difficult to #include | ||
| 70 | */ | ||
| 71 | u8 len; | ||
| 72 | __be16 dst_opt_type; | ||
| 73 | }; | ||
| 74 | |||
| 60 | struct flow_dissector_key_keyid { | 75 | struct flow_dissector_key_keyid { |
| 61 | __be32 keyid; | 76 | __be32 keyid; |
| 62 | }; | 77 | }; |
| @@ -206,6 +221,9 @@ enum flow_dissector_key_id { | |||
| 206 | FLOW_DISSECTOR_KEY_MPLS, /* struct flow_dissector_key_mpls */ | 221 | FLOW_DISSECTOR_KEY_MPLS, /* struct flow_dissector_key_mpls */ |
| 207 | FLOW_DISSECTOR_KEY_TCP, /* struct flow_dissector_key_tcp */ | 222 | FLOW_DISSECTOR_KEY_TCP, /* struct flow_dissector_key_tcp */ |
| 208 | FLOW_DISSECTOR_KEY_IP, /* struct flow_dissector_key_ip */ | 223 | FLOW_DISSECTOR_KEY_IP, /* struct flow_dissector_key_ip */ |
| 224 | FLOW_DISSECTOR_KEY_CVLAN, /* struct flow_dissector_key_flow_vlan */ | ||
| 225 | FLOW_DISSECTOR_KEY_ENC_IP, /* struct flow_dissector_key_ip */ | ||
| 226 | FLOW_DISSECTOR_KEY_ENC_OPTS, /* struct flow_dissector_key_enc_opts */ | ||
| 209 | 227 | ||
| 210 | FLOW_DISSECTOR_KEY_MAX, | 228 | FLOW_DISSECTOR_KEY_MAX, |
| 211 | }; | 229 | }; |
| @@ -237,6 +255,7 @@ struct flow_keys { | |||
| 237 | struct flow_dissector_key_basic basic; | 255 | struct flow_dissector_key_basic basic; |
| 238 | struct flow_dissector_key_tags tags; | 256 | struct flow_dissector_key_tags tags; |
| 239 | struct flow_dissector_key_vlan vlan; | 257 | struct flow_dissector_key_vlan vlan; |
| 258 | struct flow_dissector_key_vlan cvlan; | ||
| 240 | struct flow_dissector_key_keyid keyid; | 259 | struct flow_dissector_key_keyid keyid; |
| 241 | struct flow_dissector_key_ports ports; | 260 | struct flow_dissector_key_ports ports; |
| 242 | struct flow_dissector_key_addrs addrs; | 261 | struct flow_dissector_key_addrs addrs; |
