lkml.org 
[lkml]   [2019]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH net-next 01/12] net: hns3: reuse the definition of l3 and l4 header info union
    Date
    From: liyongxin <liyongxin1@huawei.com>

    Union l3_hdr_info and l4_hdr_info have already been defined in
    the hns3_enet.h, so it is unnecessary to define them elsewhere.

    This patch removes the redundant definition, and reuses the one
    defined in the hns3_enet.h.

    Signed-off-by: liyongxin <liyongxin1@huawei.com>
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    ---
    .../net/ethernet/hisilicon/hns3/hns3_enet.c | 32 +++----------------
    .../net/ethernet/hisilicon/hns3/hns3_enet.h | 1 +
    2 files changed, 6 insertions(+), 27 deletions(-)

    diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
    index 4b38c37eef8f..048b5fbdf8fa 100644
    --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
    +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
    @@ -655,11 +655,7 @@ static int hns3_set_tso(struct sk_buff *skb, u32 *paylen,
    static int hns3_get_l4_protocol(struct sk_buff *skb, u8 *ol4_proto,
    u8 *il4_proto)
    {
    - union {
    - struct iphdr *v4;
    - struct ipv6hdr *v6;
    - unsigned char *hdr;
    - } l3;
    + union l3_hdr_info l3;
    unsigned char *l4_hdr;
    unsigned char *exthdr;
    u8 l4_proto_tmp;
    @@ -712,17 +708,8 @@ static void hns3_set_l2l3l4_len(struct sk_buff *skb, u8 ol4_proto,
    u8 il4_proto, u32 *type_cs_vlan_tso,
    u32 *ol_type_vlan_len_msec)
    {
    - union {
    - struct iphdr *v4;
    - struct ipv6hdr *v6;
    - unsigned char *hdr;
    - } l3;
    - union {
    - struct tcphdr *tcp;
    - struct udphdr *udp;
    - struct gre_base_hdr *gre;
    - unsigned char *hdr;
    - } l4;
    + union l3_hdr_info l3;
    + union l4_hdr_info l4;
    unsigned char *l2_hdr;
    u8 l4_proto = ol4_proto;
    u32 ol2_len;
    @@ -821,12 +808,7 @@ static void hns3_set_l2l3l4_len(struct sk_buff *skb, u8 ol4_proto,
    static bool hns3_tunnel_csum_bug(struct sk_buff *skb)
    {
    #define IANA_VXLAN_PORT 4789
    - union {
    - struct tcphdr *tcp;
    - struct udphdr *udp;
    - struct gre_base_hdr *gre;
    - unsigned char *hdr;
    - } l4;
    + union l4_hdr_info l4;

    l4.hdr = skb_transport_header(skb);

    @@ -842,11 +824,7 @@ static int hns3_set_l3l4_type_csum(struct sk_buff *skb, u8 ol4_proto,
    u8 il4_proto, u32 *type_cs_vlan_tso,
    u32 *ol_type_vlan_len_msec)
    {
    - union {
    - struct iphdr *v4;
    - struct ipv6hdr *v6;
    - unsigned char *hdr;
    - } l3;
    + union l3_hdr_info l3;
    u32 l4_proto = ol4_proto;

    l3.hdr = skb_network_header(skb);
    diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
    index f3d248626ab3..71ff8f4d6c18 100644
    --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
    +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
    @@ -574,6 +574,7 @@ union l3_hdr_info {
    union l4_hdr_info {
    struct tcphdr *tcp;
    struct udphdr *udp;
    + struct gre_base_hdr *gre;
    unsigned char *hdr;
    };

    --
    2.20.1

    \
     
     \ /
      Last update: 2019-01-30 21:57    [W:2.273 / U:0.324 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site