net/mlx5e: Add refcount to VXLAN structure
authorGal Pressman <galp@mellanox.com>
Sun, 3 Dec 2017 11:58:50 +0000 (13:58 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Tue, 19 Dec 2017 21:24:03 +0000 (23:24 +0200)
commit23f4cc2cd9ed92570647220aca60d0197d8c1fa9
tree7c51d35d7824b06a12e443e1cca739638553f603
parent6323514116404cc651df1b7fffa1311ddf8ce647
net/mlx5e: Add refcount to VXLAN structure

A refcount mechanism must be implemented in order to prevent unwanted
scenarios such as:
- Open an IPv4 VXLAN interface
- Open an IPv6 VXLAN interface (different socket)
- Remove one of the interfaces

With current implementation, the UDP port will be removed from our VXLAN
database and turn off the offloads for the other interface, which is
still active.
The reference count mechanism will only allow UDP port removals once all
consumers are gone.

Fixes: b3f63c3d5e2c ("net/mlx5e: Add netdev support for VXLAN tunneling")
Signed-off-by: Gal Pressman <galp@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/vxlan.c
drivers/net/ethernet/mellanox/mlx5/core/vxlan.h