mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
net/mlx5e: TX, Inline TLS skb check
When TLS is supported and enabled, every transmitted packet is tested to identify if TLS offload is required. Take the early-return condition into an inline function, to save the overhead of a function call for non-TLS packets. Signed-off-by: Tariq Toukan <tariqt@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
8668587a33
commit
b6b3ad2175
|
|
@ -124,8 +124,9 @@ static inline bool mlx5e_accel_tx_begin(struct net_device *dev,
|
|||
|
||||
#ifdef CONFIG_MLX5_EN_TLS
|
||||
/* May send SKBs and WQEs. */
|
||||
if (unlikely(!mlx5e_tls_handle_tx_skb(dev, sq, skb, &state->tls)))
|
||||
return false;
|
||||
if (mlx5e_tls_skb_offloaded(skb))
|
||||
if (unlikely(!mlx5e_tls_handle_tx_skb(dev, sq, skb, &state->tls)))
|
||||
return false;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MLX5_EN_IPSEC
|
||||
|
|
|
|||
|
|
@ -263,9 +263,6 @@ bool mlx5e_tls_handle_tx_skb(struct net_device *netdev, struct mlx5e_txqsq *sq,
|
|||
int datalen;
|
||||
u32 skb_seq;
|
||||
|
||||
if (!skb->sk || !tls_is_sk_tx_device_offloaded(skb->sk))
|
||||
return true;
|
||||
|
||||
datalen = skb->len - (skb_transport_offset(skb) + tcp_hdrlen(skb));
|
||||
if (!datalen)
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -47,6 +47,12 @@ u16 mlx5e_tls_get_stop_room(struct mlx5_core_dev *mdev, struct mlx5e_params *par
|
|||
|
||||
bool mlx5e_tls_handle_tx_skb(struct net_device *netdev, struct mlx5e_txqsq *sq,
|
||||
struct sk_buff *skb, struct mlx5e_accel_tx_tls_state *state);
|
||||
|
||||
static inline bool mlx5e_tls_skb_offloaded(struct sk_buff *skb)
|
||||
{
|
||||
return skb->sk && tls_is_sk_tx_device_offloaded(skb->sk);
|
||||
}
|
||||
|
||||
void mlx5e_tls_handle_tx_wqe(struct mlx5e_txqsq *sq, struct mlx5_wqe_ctrl_seg *cseg,
|
||||
struct mlx5e_accel_tx_tls_state *state);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user