vxlan: add extack support for create and changelink
This patch adds extack coverage in vxlan link create and changelink paths. Introduces a new helper vxlan_nl2flags to consolidate flag attribute validation. thanks to Johannes Berg for some tips to construct the generic vxlan flag extack strings. Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> Reviewed-by: Petr Machata <petrm@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
703bdcbc8e
commit
70fb082880
@@ -453,4 +453,35 @@ vxlan_fdb_clear_offload(const struct net_device *dev, __be32 vni)
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline void vxlan_flag_attr_error(int attrtype,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
#define VXLAN_FLAG(flg) \
|
||||
case IFLA_VXLAN_##flg: \
|
||||
NL_SET_ERR_MSG_MOD(extack, \
|
||||
"cannot change " #flg " flag"); \
|
||||
break
|
||||
switch (attrtype) {
|
||||
VXLAN_FLAG(TTL_INHERIT);
|
||||
VXLAN_FLAG(LEARNING);
|
||||
VXLAN_FLAG(PROXY);
|
||||
VXLAN_FLAG(RSC);
|
||||
VXLAN_FLAG(L2MISS);
|
||||
VXLAN_FLAG(L3MISS);
|
||||
VXLAN_FLAG(COLLECT_METADATA);
|
||||
VXLAN_FLAG(UDP_ZERO_CSUM6_TX);
|
||||
VXLAN_FLAG(UDP_ZERO_CSUM6_RX);
|
||||
VXLAN_FLAG(REMCSUM_TX);
|
||||
VXLAN_FLAG(REMCSUM_RX);
|
||||
VXLAN_FLAG(GBP);
|
||||
VXLAN_FLAG(GPE);
|
||||
VXLAN_FLAG(REMCSUM_NOPARTIAL);
|
||||
default:
|
||||
NL_SET_ERR_MSG_MOD(extack, \
|
||||
"cannot change flag");
|
||||
break;
|
||||
}
|
||||
#undef VXLAN_FLAG
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user