OSDN Git Service

net: openvswitch: don't call pad_packet if not necessary
authorTonghao Zhang <xiangxia.m.yue@gmail.com>
Thu, 14 Nov 2019 15:51:08 +0000 (23:51 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Nov 2019 20:43:27 +0000 (12:43 -0800)
commit61ca533c0e94104c35fcb7858a23ec9a05d78143
treea7598e6fe8882e6d04b987e6b1ca43ce75739b31
parent3bb884a4a0c4177c61233424d43d61545c4fc528
net: openvswitch: don't call pad_packet if not necessary

The nla_put_u16/nla_put_u32 makes sure that
*attrlen is align. The call tree is that:

nla_put_u16/nla_put_u32
  -> nla_put attrlen = sizeof(u16) or sizeof(u32)
  -> __nla_put attrlen
  -> __nla_reserve attrlen
  -> skb_put(skb, nla_total_size(attrlen))

nla_total_size returns the total length of attribute
including padding.

Cc: Joe Stringer <joe@ovn.org>
Cc: William Tu <u9012063@gmail.com>
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/openvswitch/datapath.c