|
@@ -1560,19 +1560,6 @@ static inline void skb_set_transport_header(struct sk_buff *skb,
|
|
|
skb->transport_header += offset;
|
|
|
}
|
|
|
|
|
|
-static inline void skb_probe_transport_header(struct sk_buff *skb,
|
|
|
- const int offset_hint)
|
|
|
-{
|
|
|
- struct flow_keys keys;
|
|
|
-
|
|
|
- if (skb_transport_header_was_set(skb))
|
|
|
- return;
|
|
|
- else if (skb_flow_dissect(skb, &keys))
|
|
|
- skb_set_transport_header(skb, keys.thoff);
|
|
|
- else
|
|
|
- skb_set_transport_header(skb, offset_hint);
|
|
|
-}
|
|
|
-
|
|
|
static inline unsigned char *skb_network_header(const struct sk_buff *skb)
|
|
|
{
|
|
|
return skb->head + skb->network_header;
|
|
@@ -1716,6 +1703,19 @@ static inline void skb_set_mac_header(struct sk_buff *skb, const int offset)
|
|
|
}
|
|
|
#endif /* NET_SKBUFF_DATA_USES_OFFSET */
|
|
|
|
|
|
+static inline void skb_probe_transport_header(struct sk_buff *skb,
|
|
|
+ const int offset_hint)
|
|
|
+{
|
|
|
+ struct flow_keys keys;
|
|
|
+
|
|
|
+ if (skb_transport_header_was_set(skb))
|
|
|
+ return;
|
|
|
+ else if (skb_flow_dissect(skb, &keys))
|
|
|
+ skb_set_transport_header(skb, keys.thoff);
|
|
|
+ else
|
|
|
+ skb_set_transport_header(skb, offset_hint);
|
|
|
+}
|
|
|
+
|
|
|
static inline void skb_mac_header_rebuild(struct sk_buff *skb)
|
|
|
{
|
|
|
if (skb_mac_header_was_set(skb)) {
|