diff options
-rw-r--r-- | net/core/flow_dissector.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c index 45084938c403..beb83d1ac1c6 100644 --- a/net/core/flow_dissector.c +++ b/net/core/flow_dissector.c | |||
@@ -178,6 +178,20 @@ ipv6: | |||
178 | return false; | 178 | return false; |
179 | } | 179 | } |
180 | } | 180 | } |
181 | case htons(ETH_P_TIPC): { | ||
182 | struct { | ||
183 | __be32 pre[3]; | ||
184 | __be32 srcnode; | ||
185 | } *hdr, _hdr; | ||
186 | hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr), data, hlen, &_hdr); | ||
187 | if (!hdr) | ||
188 | return false; | ||
189 | flow->src = hdr->srcnode; | ||
190 | flow->dst = 0; | ||
191 | flow->n_proto = proto; | ||
192 | flow->thoff = (u16)nhoff; | ||
193 | return true; | ||
194 | } | ||
181 | case htons(ETH_P_FCOE): | 195 | case htons(ETH_P_FCOE): |
182 | flow->thoff = (u16)(nhoff + FCOE_HEADER_LEN); | 196 | flow->thoff = (u16)(nhoff + FCOE_HEADER_LEN); |
183 | /* fall through */ | 197 | /* fall through */ |