mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
net: skbuff: hide wifi_acked when CONFIG_WIRELESS not set
Datacenter kernel builds will very likely not include WIRELESS, so let them shave 2 bits off the skb by hiding the wifi fields. Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
4edd97fbdc
commit
eb6fba7555
@@ -953,8 +953,10 @@ struct sk_buff {
|
|||||||
|
|
||||||
__u8 l4_hash:1;
|
__u8 l4_hash:1;
|
||||||
__u8 sw_hash:1;
|
__u8 sw_hash:1;
|
||||||
|
#ifdef CONFIG_WIRELESS
|
||||||
__u8 wifi_acked_valid:1;
|
__u8 wifi_acked_valid:1;
|
||||||
__u8 wifi_acked:1;
|
__u8 wifi_acked:1;
|
||||||
|
#endif
|
||||||
__u8 no_fcs:1;
|
__u8 no_fcs:1;
|
||||||
/* Indicates the inner headers are valid in the skbuff. */
|
/* Indicates the inner headers are valid in the skbuff. */
|
||||||
__u8 encapsulation:1;
|
__u8 encapsulation:1;
|
||||||
@@ -1187,6 +1189,15 @@ static inline unsigned int skb_napi_id(const struct sk_buff *skb)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline bool skb_wifi_acked_valid(const struct sk_buff *skb)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_WIRELESS
|
||||||
|
return skb->wifi_acked_valid;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* skb_unref - decrement the skb's reference count
|
* skb_unref - decrement the skb's reference count
|
||||||
* @skb: buffer
|
* @skb: buffer
|
||||||
|
@@ -2697,7 +2697,7 @@ sock_recv_timestamp(struct msghdr *msg, struct sock *sk, struct sk_buff *skb)
|
|||||||
else
|
else
|
||||||
sock_write_timestamp(sk, kt);
|
sock_write_timestamp(sk, kt);
|
||||||
|
|
||||||
if (sock_flag(sk, SOCK_WIFI_STATUS) && skb->wifi_acked_valid)
|
if (sock_flag(sk, SOCK_WIFI_STATUS) && skb_wifi_acked_valid(skb))
|
||||||
__sock_recv_wifi_status(msg, sk, skb);
|
__sock_recv_wifi_status(msg, sk, skb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -5189,6 +5189,7 @@ void skb_tstamp_tx(struct sk_buff *orig_skb,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(skb_tstamp_tx);
|
EXPORT_SYMBOL_GPL(skb_tstamp_tx);
|
||||||
|
|
||||||
|
#ifdef CONFIG_WIRELESS
|
||||||
void skb_complete_wifi_ack(struct sk_buff *skb, bool acked)
|
void skb_complete_wifi_ack(struct sk_buff *skb, bool acked)
|
||||||
{
|
{
|
||||||
struct sock *sk = skb->sk;
|
struct sock *sk = skb->sk;
|
||||||
@@ -5214,6 +5215,7 @@ void skb_complete_wifi_ack(struct sk_buff *skb, bool acked)
|
|||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(skb_complete_wifi_ack);
|
EXPORT_SYMBOL_GPL(skb_complete_wifi_ack);
|
||||||
|
#endif /* CONFIG_WIRELESS */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* skb_partial_csum_set - set up and verify partial csum values for packet
|
* skb_partial_csum_set - set up and verify partial csum values for packet
|
||||||
|
@@ -957,6 +957,7 @@ void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(__sock_recv_timestamp);
|
EXPORT_SYMBOL_GPL(__sock_recv_timestamp);
|
||||||
|
|
||||||
|
#ifdef CONFIG_WIRELESS
|
||||||
void __sock_recv_wifi_status(struct msghdr *msg, struct sock *sk,
|
void __sock_recv_wifi_status(struct msghdr *msg, struct sock *sk,
|
||||||
struct sk_buff *skb)
|
struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
@@ -972,6 +973,7 @@ void __sock_recv_wifi_status(struct msghdr *msg, struct sock *sk,
|
|||||||
put_cmsg(msg, SOL_SOCKET, SCM_WIFI_STATUS, sizeof(ack), &ack);
|
put_cmsg(msg, SOL_SOCKET, SCM_WIFI_STATUS, sizeof(ack), &ack);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(__sock_recv_wifi_status);
|
EXPORT_SYMBOL_GPL(__sock_recv_wifi_status);
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline void sock_recv_drops(struct msghdr *msg, struct sock *sk,
|
static inline void sock_recv_drops(struct msghdr *msg, struct sock *sk,
|
||||||
struct sk_buff *skb)
|
struct sk_buff *skb)
|
||||||
|
Reference in New Issue
Block a user