Skip to content

Commit 80bfab7

Browse files
edumazetdavem330
authored andcommitted
net: adopt skb_network_offset() and similar helpers
This is a cleanup patch, making code a bit more concise. 1) Use skb_network_offset(skb) in place of (skb_network_header(skb) - skb->data) 2) Use -skb_network_offset(skb) in place of (skb->data - skb_network_header(skb)) 3) Use skb_transport_offset(skb) in place of (skb_transport_header(skb) - skb->data) 4) Use skb_inner_transport_offset(skb) in place of (skb_inner_transport_header(skb) - skb->data) Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Edward Cree <ecree.xilinx@gmail.com> # for sfc Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 4b2765a commit 80bfab7

File tree

24 files changed

+36
-40
lines changed

24 files changed

+36
-40
lines changed

drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3538,7 +3538,7 @@ static u8 bnx2x_set_pbd_csum_enc(struct bnx2x *bp, struct sk_buff *skb,
35383538
u32 *parsing_data, u32 xmit_type)
35393539
{
35403540
*parsing_data |=
3541-
((((u8 *)skb_inner_transport_header(skb) - skb->data) >> 1) <<
3541+
((skb_inner_transport_offset(skb) >> 1) <<
35423542
ETH_TX_PARSE_BD_E2_L4_HDR_START_OFFSET_W_SHIFT) &
35433543
ETH_TX_PARSE_BD_E2_L4_HDR_START_OFFSET_W;
35443544

@@ -3570,7 +3570,7 @@ static u8 bnx2x_set_pbd_csum_e2(struct bnx2x *bp, struct sk_buff *skb,
35703570
u32 *parsing_data, u32 xmit_type)
35713571
{
35723572
*parsing_data |=
3573-
((((u8 *)skb_transport_header(skb) - skb->data) >> 1) <<
3573+
((skb_transport_offset(skb) >> 1) <<
35743574
ETH_TX_PARSE_BD_E2_L4_HDR_START_OFFSET_W_SHIFT) &
35753575
ETH_TX_PARSE_BD_E2_L4_HDR_START_OFFSET_W;
35763576

@@ -3613,7 +3613,7 @@ static u8 bnx2x_set_pbd_csum(struct bnx2x *bp, struct sk_buff *skb,
36133613
struct eth_tx_parse_bd_e1x *pbd,
36143614
u32 xmit_type)
36153615
{
3616-
u8 hlen = (skb_network_header(skb) - skb->data) >> 1;
3616+
u8 hlen = skb_network_offset(skb) >> 1;
36173617

36183618
/* for now NS flag is not used in Linux */
36193619
pbd->global_data =
@@ -3667,8 +3667,7 @@ static void bnx2x_update_pbds_gso_enc(struct sk_buff *skb,
36673667
u8 outerip_off, outerip_len = 0;
36683668

36693669
/* from outer IP to transport */
3670-
hlen_w = (skb_inner_transport_header(skb) -
3671-
skb_network_header(skb)) >> 1;
3670+
hlen_w = skb_inner_transport_offset(skb) >> 1;
36723671

36733672
/* transport len */
36743673
hlen_w += inner_tcp_hdrlen(skb) >> 1;
@@ -3714,7 +3713,7 @@ static void bnx2x_update_pbds_gso_enc(struct sk_buff *skb,
37143713
0, IPPROTO_TCP, 0));
37153714
}
37163715

3717-
outerip_off = (skb_network_header(skb) - skb->data) >> 1;
3716+
outerip_off = (skb_network_offset(skb)) >> 1;
37183717

37193718
*global_data |=
37203719
outerip_off |

drivers/net/ethernet/hisilicon/hns3/hns3_enet.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2473,9 +2473,9 @@ static netdev_features_t hns3_features_check(struct sk_buff *skb,
24732473
return features;
24742474

24752475
if (skb->encapsulation)
2476-
len = skb_inner_transport_header(skb) - skb->data;
2476+
len = skb_inner_transport_offset(skb);
24772477
else
2478-
len = skb_transport_header(skb) - skb->data;
2478+
len = skb_transport_offset(skb);
24792479

24802480
/* Assume L4 is 60 byte as TCP is the only protocol with a
24812481
* a flexible value, and it's max len is 60 bytes.

drivers/net/ethernet/intel/i40e/i40e_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13208,7 +13208,7 @@ static netdev_features_t i40e_features_check(struct sk_buff *skb,
1320813208
features &= ~NETIF_F_GSO_MASK;
1320913209

1321013210
/* MACLEN can support at most 63 words */
13211-
len = skb_network_header(skb) - skb->data;
13211+
len = skb_network_offset(skb);
1321213212
if (len & ~(63 * 2))
1321313213
goto out_err;
1321413214

drivers/net/ethernet/intel/iavf/iavf_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4423,7 +4423,7 @@ static netdev_features_t iavf_features_check(struct sk_buff *skb,
44234423
features &= ~NETIF_F_GSO_MASK;
44244424

44254425
/* MACLEN can support at most 63 words */
4426-
len = skb_network_header(skb) - skb->data;
4426+
len = skb_network_offset(skb);
44274427
if (len & ~(63 * 2))
44284428
goto out_err;
44294429

drivers/net/ethernet/intel/igb/igb_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2538,7 +2538,7 @@ igb_features_check(struct sk_buff *skb, struct net_device *dev,
25382538
unsigned int network_hdr_len, mac_hdr_len;
25392539

25402540
/* Make certain the headers can be described by a context descriptor */
2541-
mac_hdr_len = skb_network_header(skb) - skb->data;
2541+
mac_hdr_len = skb_network_offset(skb);
25422542
if (unlikely(mac_hdr_len > IGB_MAX_MAC_HDR_LEN))
25432543
return features & ~(NETIF_F_HW_CSUM |
25442544
NETIF_F_SCTP_CRC |

drivers/net/ethernet/intel/igbvf/netdev.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2655,7 +2655,7 @@ igbvf_features_check(struct sk_buff *skb, struct net_device *dev,
26552655
unsigned int network_hdr_len, mac_hdr_len;
26562656

26572657
/* Make certain the headers can be described by a context descriptor */
2658-
mac_hdr_len = skb_network_header(skb) - skb->data;
2658+
mac_hdr_len = skb_network_offset(skb);
26592659
if (unlikely(mac_hdr_len > IGBVF_MAX_MAC_HDR_LEN))
26602660
return features & ~(NETIF_F_HW_CSUM |
26612661
NETIF_F_SCTP_CRC |

drivers/net/ethernet/intel/igc/igc_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5277,7 +5277,7 @@ igc_features_check(struct sk_buff *skb, struct net_device *dev,
52775277
unsigned int network_hdr_len, mac_hdr_len;
52785278

52795279
/* Make certain the headers can be described by a context descriptor */
5280-
mac_hdr_len = skb_network_header(skb) - skb->data;
5280+
mac_hdr_len = skb_network_offset(skb);
52815281
if (unlikely(mac_hdr_len > IGC_MAX_MAC_HDR_LEN))
52825282
return features & ~(NETIF_F_HW_CSUM |
52835283
NETIF_F_SCTP_CRC |

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10205,7 +10205,7 @@ ixgbe_features_check(struct sk_buff *skb, struct net_device *dev,
1020510205
unsigned int network_hdr_len, mac_hdr_len;
1020610206

1020710207
/* Make certain the headers can be described by a context descriptor */
10208-
mac_hdr_len = skb_network_header(skb) - skb->data;
10208+
mac_hdr_len = skb_network_offset(skb);
1020910209
if (unlikely(mac_hdr_len > IXGBE_MAX_MAC_HDR_LEN))
1021010210
return features & ~(NETIF_F_HW_CSUM |
1021110211
NETIF_F_SCTP_CRC |

drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4413,7 +4413,7 @@ ixgbevf_features_check(struct sk_buff *skb, struct net_device *dev,
44134413
unsigned int network_hdr_len, mac_hdr_len;
44144414

44154415
/* Make certain the headers can be described by a context descriptor */
4416-
mac_hdr_len = skb_network_header(skb) - skb->data;
4416+
mac_hdr_len = skb_network_offset(skb);
44174417
if (unlikely(mac_hdr_len > IXGBEVF_MAX_MAC_HDR_LEN))
44184418
return features & ~(NETIF_F_HW_CSUM |
44194419
NETIF_F_SCTP_CRC |

drivers/net/ethernet/qlogic/qede/qede_fp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ static void qede_set_params_for_ipv6_ext(struct sk_buff *skb,
215215

216216
bd2_bits1 |= (1 << ETH_TX_DATA_2ND_BD_IPV6_EXT_SHIFT);
217217

218-
bd2_bits2 |= ((((u8 *)skb_transport_header(skb) - skb->data) >> 1) &
218+
bd2_bits2 |= ((skb_transport_offset(skb) >> 1) &
219219
ETH_TX_DATA_2ND_BD_L4_HDR_START_OFFSET_W_MASK)
220220
<< ETH_TX_DATA_2ND_BD_L4_HDR_START_OFFSET_W_SHIFT;
221221

0 commit comments

Comments
 (0)