Skip to content

Commit 0623b98

Browse files
hkallweitdavem330
authored andcommitted
r8169: improve rtl8169_tso_csum_v2
Simplify the code and avoid the overhead of calling vlan_get_protocol(). Signed-off-by: Heiner Kallweit <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 145192f commit 0623b98

File tree

1 file changed

+5
-10
lines changed

1 file changed

+5
-10
lines changed

drivers/net/ethernet/realtek/r8169_main.c

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4127,25 +4127,20 @@ static bool rtl8169_tso_csum_v2(struct rtl8169_private *tp,
41274127
struct sk_buff *skb, u32 *opts)
41284128
{
41294129
u32 transport_offset = (u32)skb_transport_offset(skb);
4130-
u32 mss = skb_shinfo(skb)->gso_size;
4130+
struct skb_shared_info *shinfo = skb_shinfo(skb);
4131+
u32 mss = shinfo->gso_size;
41314132

41324133
if (mss) {
4133-
switch (vlan_get_protocol(skb)) {
4134-
case htons(ETH_P_IP):
4134+
if (shinfo->gso_type & SKB_GSO_TCPV4) {
41354135
opts[0] |= TD1_GTSENV4;
4136-
break;
4137-
4138-
case htons(ETH_P_IPV6):
4136+
} else if (shinfo->gso_type & SKB_GSO_TCPV6) {
41394137
if (skb_cow_head(skb, 0))
41404138
return false;
41414139

41424140
tcp_v6_gso_csum_prep(skb);
41434141
opts[0] |= TD1_GTSENV6;
4144-
break;
4145-
4146-
default:
4142+
} else {
41474143
WARN_ON_ONCE(1);
4148-
break;
41494144
}
41504145

41514146
opts[0] |= transport_offset << GTTCPHO_SHIFT;

0 commit comments

Comments
 (0)