tap: Abstract type of virtual interface from tap implementation
authorSainath Grandhi <sainath.grandhi@intel.com>
Sat, 11 Feb 2017 00:03:49 +0000 (16:03 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 12 Feb 2017 01:59:41 +0000 (20:59 -0500)
commit6fe3faf86757eb7f078ff06b23b206f17dc4fb36
tree4602f5f435ad34f406ec980694daae4faf5d6119
parentebc05ba7e8600b52a2a0c87a43105143368aca2a
tap: Abstract type of virtual interface from tap implementation

macvlan object is re-structured to hold tap related elements in a separate
entity, tap_dev. Upon NETDEV_REGISTER device_event, tap_dev is registered with
idr and fetched again on tap_open. Few of the tap functions are modified to
accepted tap_dev as argument. tap_dev object includes callbacks to be used by
underlying virtual interface to take care of tx and rx accounting.

Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/macvlan.c
drivers/net/macvtap_main.c
drivers/net/tap.c
include/linux/if_tap.h