From: Govindarajulu Varadarajan <gvara...@cisco.com> Date: Tue, 7 Feb 2017 23:28:25 -0800
> Define ndo_features_check. Hw supports offload only for ipv4 inner and > ipv4 outer pkt. > > Code refactor for setting inner tcp pseudo csum. > > Signed-off-by: Govindarajulu Varadarajan <gvara...@cisco.com> > --- > drivers/net/ethernet/cisco/enic/enic_main.c | 126 > +++++++++++++++++++++++++--- > 1 file changed, 114 insertions(+), 12 deletions(-) > > diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c > b/drivers/net/ethernet/cisco/enic/enic_main.c > index ce5ce394a810..9cfebdb22e81 100644 > --- a/drivers/net/ethernet/cisco/enic/enic_main.c > +++ b/drivers/net/ethernet/cisco/enic/enic_main.c > @@ -263,6 +263,48 @@ static void enic_udp_tunnel_del(struct net_device > *netdev, > spin_unlock_bh(&enic->devcmd_lock); > } > > +static netdev_features_t enic_features_check(struct sk_buff *skb, > + struct net_device *dev, > + netdev_features_t features) > +{ > + struct enic *enic = netdev_priv(dev); > + struct udphdr *udph; > + u16 proto; > + u16 port = 0; > + const struct ethhdr *eth = (struct ethhdr *)skb_inner_mac_header(skb); Order variables from longest to shortest line. > +static int enic_queue_wq_skb_tso(struct enic *enic, struct vnic_wq *wq, > + struct sk_buff *skb, unsigned int mss, > + int vlan_tag_insert, unsigned int vlan_tag, > + int loopback) > +{ > + unsigned int frag_len_left = skb_headlen(skb); > + unsigned int len_left = skb->len - frag_len_left; > + unsigned int hdr_len; > + int eop = (len_left == 0); > + unsigned int len; > + dma_addr_t dma_addr; > + unsigned int offset = 0; > + skb_frag_t *frag; Likewise.