[PATCH RFC v1 2/3] net: Abstracting out common routines from veth for use by vethtap

2017-09-06 Thread sainath . grandhi
From: Sainath Grandhi Abstracting out common routines for link operations in veth implementation for use by vethtap interfaces Signed-off-by: Sainath Grandhi --- drivers/net/veth.c | 47 +-- include/linux/if_veth.h | 9 + 2 files

[PATCH RFC v1 3/3] vethtap: veth based tap driver

2017-09-06 Thread sainath . grandhi
From: Sainath Grandhi This patch adds a tap character device driver that is based on the veth network interface, called vethtap. This patchset allows vethtap device to be created ONLY as a peer interface to a veth network interface. It can be created in the following way, ip link add veth1 type

[PATCH RFC v1 1/3] net: Adding API to parse IFLA_LINKINFO attribute

2017-09-06 Thread sainath . grandhi
From: Sainath Grandhi Adding rtnl_nla_parse_ifla_info as an exported symbol in rtnetlink.c helps other modules to parse IFLA_LINKINFO attribute Signed-off-by: Sainath Grandhi --- include/net/rtnetlink.h | 3 +++ net/core/rtnetlink.c| 8 2 files changed, 11 insertions(+) diff

[PATCH RFC v1 0/3] Support for tap user-space access with veth interfaces

2017-09-06 Thread sainath . grandhi
From: Sainath Grandhi This patchset adds a tap device driver for veth virtual network interface. With this implementation, tap character interface can be added only to the peer veth interface. Adding tap interface to veth is for usecases that forwards packets between host and VMs. This

[patch iproute2] ipvtap: Adding support for ipvtap device management

2017-05-23 Thread Sainath Grandhi
This patch adds support for managing ipvtap devices using ip link. ipvtap support is added to linux with commit 235a9d89da976e2975b3de9afc0bed7b72557983 --- ip/iplink_ipvlan.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ip/iplink_ipvlan.c b/ip/iplink_ipvlan.c ind

[PATCHv6 0/7] Refactor macvtap to re-use tap functionality by other virtual intefaces

2017-02-10 Thread Sainath Grandhi
for implementing tap character device driver based on the IP-VLAN network interface, called ipvtap. These patches are tested on x86 platform. Sainath Grandhi (7): tap: Refactoring macvtap.c tap: Renaming tap related APIs, data structures, macros tap: Tap character device creation/destroy API

[PATCHv6 1/7] tap: Refactoring macvtap.c

2017-02-10 Thread Sainath Grandhi
macvtap module has code for tap/queue management and link management. This patch splits the code into macvtap_main.c for link management and tap.c for tap/queue management. Functionality in tap.c can be re-used for implementing tap on other virtual interfaces. Signed-off-by: Sainath Grandhi

[PATCHv6 2/7] tap: Renaming tap related APIs, data structures, macros

2017-02-10 Thread Sainath Grandhi
Renaming tap related APIs, data structures and macros in tap.c from macvtap_.* to tap_.* Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 18 +-- drivers/net/tap.c | 332 ++--- drivers/vhost/net.c| 3 +- include/linux

[PATCHv6 4/7] tap: Abstract type of virtual interface from tap implementation

2017-02-10 Thread Sainath Grandhi
be used by underlying virtual interface to take care of tx and rx accounting. Signed-off-by: Sainath Grandhi --- drivers/net/macvlan.c | 2 +- drivers/net/macvtap_main.c | 71 +--- drivers/net/tap.c | 264 - include/linux

[PATCHv6 7/7] ipvtap: IP-VLAN based tap driver

2017-02-10 Thread Sainath Grandhi
This patch adds a tap character device driver that is based on the IP-VLAN network interface, called ipvtap. An ipvtap device can be created in the same way as an ipvlan device, using 'type ipvtap', and then accessed using the tap user space interface. Signed-off-by: Sainath Grandhi --

[PATCHv6 5/7] tap: Extending tap device create/destroy APIs

2017-02-10 Thread Sainath Grandhi
Extending tap APIs get/free_minor and create/destroy_cdev to handle more than one type of virtual interface. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 6 +-- drivers/net/tap.c | 118 + include/linux/if_tap.h | 4

[PATCHv6 6/7] tap: tap as an independent module

2017-02-10 Thread Sainath Grandhi
This patch makes tap a separate module for other types of virtual interfaces, for example, ipvlan to use. Signed-off-by: Sainath Grandhi --- drivers/net/Kconfig | 7 +++ drivers/net/Makefile | 3 +-- drivers/net/{macvtap_main.c => macvta

[PATCHv6 3/7] tap: Tap character device creation/destroy API

2017-02-10 Thread Sainath Grandhi
This patch provides tap device create/destroy APIs in tap.c. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 30 +++--- drivers/net/tap.c | 62 ++ include/linux/if_tap.h | 3 +++ 3 files changed, 63

[PATCHv5 0/7] Refactor macvtap to re-use tap functionality by other virtual intefaces

2017-02-08 Thread Sainath Grandhi
for implementing tap character device driver based on the IP-VLAN network interface, called ipvtap. These patches are tested on x86 platform. Sainath Grandhi (7): tap: Refactoring macvtap.c tap: Renaming tap related APIs, data structures, macros tap: Tap character device creation/destroy API

[PATCHv5 3/7] tap: Tap character device creation/destroy API

2017-02-08 Thread Sainath Grandhi
This patch provides tap device create/destroy APIs in tap.c. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 30 +++--- drivers/net/tap.c | 62 ++ include/linux/if_tap.h | 3 +++ 3 files changed, 63

[PATCHv5 4/7] tap: Abstract type of virtual interface from tap implementation

2017-02-08 Thread Sainath Grandhi
be used by underlying virtual interface to take care of tx and rx accounting. Signed-off-by: Sainath Grandhi --- drivers/net/macvlan.c | 2 +- drivers/net/macvtap_main.c | 71 +--- drivers/net/tap.c | 264 - include/linux

[PATCHv5 2/7] tap: Renaming tap related APIs, data structures, macros

2017-02-08 Thread Sainath Grandhi
Renaming tap related APIs, data structures and macros in tap.c from macvtap_.* to tap_.* Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 18 +-- drivers/net/tap.c | 332 ++--- drivers/vhost/net.c| 3 +- include/linux

[PATCHv5 5/7] tap: Extending tap device create/destroy APIs

2017-02-08 Thread Sainath Grandhi
Extending tap APIs get/free_minor and create/destroy_cdev to handle more than one type of virtual interface. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 6 +-- drivers/net/tap.c | 101 +++-- include/linux/if_tap.h | 4

[PATCHv5 1/7] tap: Refactoring macvtap.c

2017-02-08 Thread Sainath Grandhi
macvtap module has code for tap/queue management and link management. This patch splits the code into macvtap_main.c for link management and tap.c for tap/queue management. Functionality in tap.c can be re-used for implementing tap on other virtual interfaces. Signed-off-by: Sainath Grandhi

[PATCHv5 7/7] ipvtap: IP-VLAN based tap driver

2017-02-08 Thread Sainath Grandhi
This patch adds a tap character device driver that is based on the IP-VLAN network interface, called ipvtap. An ipvtap device can be created in the same way as an ipvlan device, using 'type ipvtap', and then accessed using the tap user space interface. Signed-off-by: Sainath Grandhi --

[PATCHv5 6/7] tap: tap as an independent module

2017-02-08 Thread Sainath Grandhi
This patch makes tap a separate module for other types of virtual interfaces, for example, ipvlan to use. Signed-off-by: Sainath Grandhi --- drivers/net/Kconfig | 7 +++ drivers/net/Makefile | 3 +-- drivers/net/{macvtap_main.c => macvta

[PATCHv4 2/7] tap: Renaming tap related APIs, data structures, macros

2017-02-06 Thread Sainath Grandhi
Renaming tap related APIs, data structures and macros in tap.c from macvtap_.* to tap_.* Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 18 +-- drivers/net/tap.c | 332 ++--- drivers/vhost/net.c| 3 +- include/linux

[PATCHv4 3/7] tap: Tap character device creation/destroy API

2017-02-06 Thread Sainath Grandhi
This patch provides tap device create/destroy APIs in tap.c. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 30 +++--- drivers/net/tap.c | 62 ++ include/linux/if_tap.h | 3 +++ 3 files changed, 63

[PATCHv4 1/7] tap: Refactoring macvtap.c

2017-02-06 Thread Sainath Grandhi
macvtap module has code for tap/queue management and link management. This patch splits the code into macvtap_main.c for link management and tap.c for tap/queue management. Functionality in tap.c can be re-used for implementing tap on other virtual interfaces. Signed-off-by: Sainath Grandhi

[PATCHv4 4/7] tap: Abstract type of virtual interface from tap implementation

2017-02-06 Thread Sainath Grandhi
be used by underlying virtual interface to take care of tx and rx accounting. Signed-off-by: Sainath Grandhi --- drivers/net/macvlan.c | 2 +- drivers/net/macvtap_main.c | 71 +--- drivers/net/tap.c | 264 - include/linux

[PATCHv4 5/7] tap: Extending tap device create/destroy APIs

2017-02-06 Thread Sainath Grandhi
Extending tap APIs get/free_minor and create/destroy_cdev to handle more than one type of virtual interface. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 6 +-- drivers/net/tap.c | 101 +++-- include/linux/if_tap.h | 4

[PATCHv4 7/7] ipvtap: IP-VLAN based tap driver

2017-02-06 Thread Sainath Grandhi
This patch adds a tap character device driver that is based on the IP-VLAN network interface, called ipvtap. An ipvtap device can be created in the same way as an ipvlan device, using 'type ipvtap', and then accessed using the tap user space interface. Signed-off-by: Sainath Grandhi --

[PATCHv4 0/7] Refactor macvtap to re-use tap functionality by other virtual intefaces

2017-02-06 Thread Sainath Grandhi
for implementing tap character device driver based on the IP-VLAN network interface, called ipvtap. These patches are tested on x86 platform. Sainath Grandhi (7): tap: Refactoring macvtap.c tap: Renaming tap related APIs, data structures, macros tap: Tap character device creation/destroy API

[PATCHv4 6/7] tap: tap as an independent module

2017-02-06 Thread Sainath Grandhi
This patch makes tap a separate module for other types of virtual interfaces, for example, ipvlan to use. Signed-off-by: Sainath Grandhi --- drivers/net/Kconfig | 15 +++ drivers/net/Makefile | 3 +-- drivers/net/{macvtap_main.c

[PATCHv3 1/7] tap: Refactoring macvtap.c

2017-01-30 Thread Sainath Grandhi
macvtap module has code for tap/queue management and link management. This patch splits the code into macvtap_main.c for link management and tap.c for tap/queue management. Functionality in tap.c can be re-used for implementing tap on other virtual interfaces. Signed-off-by: Sainath Grandhi

[PATCHv3 4/7] tap: Abstract type of virtual interface from tap implementation

2017-01-30 Thread Sainath Grandhi
be used by underlying virtual interface to take care of tx and rx accounting. Signed-off-by: Sainath Grandhi --- drivers/net/macvlan.c | 2 +- drivers/net/macvtap_main.c | 71 +--- drivers/net/tap.c | 264 - include/linux

[PATCHv3 2/7] tap: Renaming tap related APIs, data structures, macros

2017-01-30 Thread Sainath Grandhi
Renaming tap related APIs, data structures and macros in tap.c from macvtap_.* to tap_.* Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 18 +-- drivers/net/tap.c | 332 ++--- drivers/vhost/net.c| 3 +- include/linux

[PATCHv3 0/7] Refactor macvtap to re-use tap functionality by other virtual intefaces

2017-01-30 Thread Sainath Grandhi
for implementing tap character device driver based on the IP-VLAN network interface, called ipvtap. These patches are tested on x86 platform. Sainath Grandhi (7): tap: Refactoring macvtap.c tap: Renaming tap related APIs, data structures, macros tap: Tap character device creation/destroy API

[PATCHv3 5/7] tap: Extending tap device create/destroy APIs

2017-01-30 Thread Sainath Grandhi
Extending tap APIs get/free_minor and create/destroy_cdev to handle more than one type of virtual interface. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 6 +-- drivers/net/tap.c | 98 +++--- include/linux/if_tap.h | 4

[PATCHv3 6/7] tap: tap as an independent module

2017-01-30 Thread Sainath Grandhi
This patch makes tap a separate module for other types of virtual interfaces, for example, ipvlan to use. Signed-off-by: Sainath Grandhi --- drivers/net/Kconfig | 15 +++ drivers/net/Makefile | 3 +-- drivers/net/{macvtap_main.c

[PATCHv3 3/7] tap: Tap character device creation/destroy API

2017-01-30 Thread Sainath Grandhi
This patch provides tap device create/destroy APIs in tap.c. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 30 +++--- drivers/net/tap.c | 62 ++ include/linux/if_tap.h | 3 +++ 3 files changed, 63

[PATCHv3 7/7] ipvtap: IP-VLAN based tap driver

2017-01-30 Thread Sainath Grandhi
This patch adds a tap character device driver that is based on the IP-VLAN network interface, called ipvtap. An ipvtap device can be created in the same way as an ipvlan device, using 'type ipvtap', and then accessed using the tap user space interface. Signed-off-by: Sainath Grandhi --

[PATCHv3 1/7] TAP: Refactoring macvtap.c

2017-01-25 Thread Sainath Grandhi
macvtap module has code for tap/queue management and link management. This patch splits the code into macvtap_main.c for link management and tap.c for tap/queue management. Functionality in tap.c can be re-used for implementing tap on other virtual interfaces. Signed-off-by: Sainath Grandhi

[PATCHv3 4/7] TAP: Abstract type of virtual interface from tap implementation

2017-01-25 Thread Sainath Grandhi
be used by underlying virtual interface to take care of tx and rx accounting. Signed-off-by: Sainath Grandhi --- drivers/net/macvlan.c | 2 +- drivers/net/macvtap_main.c | 71 +--- drivers/net/tap.c | 264 - include/linux

[PATCHv3 0/7] Refactor macvtap to re-use tap functionality by other virtual intefaces

2017-01-25 Thread Sainath Grandhi
for implementing tap character device driver based on the IP-VLAN network interface, called ipvtap. These patches are tested on x86 platform. Sainath Grandhi (7): TAP: Refactoring macvtap.c TAP: Renaming tap related APIs, data structures, macros TAP: Tap character device creation/destroy API

[PATCHv3 6/7] TAP: tap as an independent module

2017-01-25 Thread Sainath Grandhi
This patch makes tap a separate module for other types of virtual interfaces, for example, ipvlan to use. Signed-off-by: Sainath Grandhi --- drivers/net/Kconfig | 15 +++ drivers/net/Makefile | 3 +-- drivers/net/{macvtap_main.c

[PATCHv3 2/7] TAP: Renaming tap related APIs, data structures, macros

2017-01-25 Thread Sainath Grandhi
Renaming tap related APIs, data structures and macros in tap.c from macvtap_.* to tap_.* Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 18 +-- drivers/net/tap.c | 332 ++--- drivers/vhost/net.c| 3 +- include/linux

[PATCHv3 3/7] TAP: Tap character device creation/destroy API

2017-01-25 Thread Sainath Grandhi
This patch provides tap device create/destroy APIs in tap.c. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 30 +++--- drivers/net/tap.c | 62 ++ include/linux/if_tap.h | 3 +++ 3 files changed, 63

[PATCHv3 7/7] IPVTAP: IP-VLAN based tap driver

2017-01-25 Thread Sainath Grandhi
This patch adds a tap character device driver that is based on the IP-VLAN network interface, called ipvtap. An ipvtap device can be created in the same way as an ipvlan device, using 'type ipvtap', and then accessed using the tap user space interface. Signed-off-by: Sainath Grandhi --

[PATCHv3 5/7] TAP: Extending tap device create/destroy APIs

2017-01-25 Thread Sainath Grandhi
Extending tap APIs get/free_minor and create/destroy_cdev to handle more than one type of virtual interface. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 6 +-- drivers/net/tap.c | 98 +++--- include/linux/if_tap.h | 4

[PATCHv2 1/7] TAP: Refactoring macvtap.c

2017-01-17 Thread Sainath Grandhi
macvtap module has code for tap/queue management and link management. This patch splits the code into macvtap_main.c for link management and tap.c for tap/queue management. Functionality in tap.c can be re-used for implementing tap on other virtual interfaces. Signed-off-by: Sainath Grandhi

[PATCHv2 0/7] Refactor macvtap to re-use tap functionality by other virtual intefaces

2017-01-17 Thread Sainath Grandhi
for implementing tap character device driver based on the IP-VLAN network interface, called ipvtap. These patches are tested on x86 platform. Sainath Grandhi (7): TAP: Refactoring macvtap.c TAP: Renaming tap related APIs, data structures, macros TAP: Tap character device creation/destroy API

[PATCHv2 4/7] TAP: Abstract type of virtual interface from tap implementation

2017-01-17 Thread Sainath Grandhi
be used by underlying virtual interface to take care of tx and rx accounting. Signed-off-by: Sainath Grandhi --- drivers/net/macvlan.c | 2 +- drivers/net/macvtap_main.c | 68 +--- drivers/net/tap.c | 264 - include/linux

[PATCHv2 7/7] IPVTAP: IP-VLAN based tap driver

2017-01-17 Thread Sainath Grandhi
This patch adds a tap character device driver that is based on the IP-VLAN network interface, called ipvtap. An ipvtap device can be created in the same way as an ipvlan device, using 'type ipvtap', and then accessed using the tap user space interface. Signed-off-by: Sainath Grandhi --

[PATCHv2 3/7] TAP: Tap character device creation/destroy API

2017-01-17 Thread Sainath Grandhi
This patch provides tap device create/destroy APIs in tap.c. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 29 +++-- drivers/net/tap.c | 63 ++ include/linux/if_tap.h | 5 +++- 3 files changed, 65

[PATCHv2 2/7] TAP: Renaming tap related APIs, data structures, macros

2017-01-17 Thread Sainath Grandhi
Renaming tap related APIs, data structures and macros in tap.c from macvtap_.* to tap_.* Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 18 +-- drivers/net/tap.c | 332 ++--- drivers/vhost/net.c| 3 +- include/linux

[PATCHv2 6/7] TAP: tap as an independent module

2017-01-17 Thread Sainath Grandhi
This patch makes tap a separate module for other types of virtual interfaces, for example, ipvlan to use. Signed-off-by: Sainath Grandhi --- drivers/net/Kconfig | 15 +++ drivers/net/Makefile | 3 +-- drivers/net/{macvtap_main.c

[PATCHv2 5/7] TAP: Extending tap device create/destroy APIs

2017-01-17 Thread Sainath Grandhi
Extending tap APIs get/free_minor and create/destroy_cdev to handle more than one type of virtual interface. Signed-off-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 6 +-- drivers/net/tap.c | 98 +++--- include/linux/if_tap.h | 4

[PATCHv2 0/7] Refactor macvtap to re-use tap functionality by other virtual intefaces

2017-01-17 Thread Sainath Grandhi
for implementing tap character device driver based on the IP-VLAN network interface, called ipvtap. These patches are tested on x86 platform. Sainath Grandhi (7): TAP: Refactoring macvtap.c TAP: Renaming tap related APIs, data structures, macros TAP: Tap character device creation/destroy API

[PATCHv1 1/7] TAP: Refactoring macvtap.c

2017-01-06 Thread Sainath Grandhi
macvtap module has code for tap/queue management and link management. This patch splits the code into macvtap_main.c for link management and tap.c for tap/queue management. Functionality in tap.c can be re-used for implementing tap on other virtual interfaces. Signed-off-by: Sainath Grandhi

[PATCHv1 4/7] TAP: Abstract type of virtual interface from tap implementation

2017-01-06 Thread Sainath Grandhi
be used by underlying virtual interface to take care of tx and rx accounting. Signed-off-by: Sainath Grandhi Tested-by: Sainath Grandhi --- drivers/net/macvlan.c | 2 +- drivers/net/macvtap_main.c | 68 +--- drivers/net/tap.c | 264

[PATCHv1 0/7] Refactor macvtap to re-use tap functionality by other virtual intefaces

2017-01-06 Thread Sainath Grandhi
for implementing tap character device driver based on the IP-VLAN network interface, called ipvtap. Sainath Grandhi (7): TAP: Refactoring macvtap.c TAP: Renaming tap related APIs, data structures, macros TAP: Tap character device creation/destroy API TAP: Abstract type of virtual interface

[PATCHv1 2/7] TAP: Renaming tap related APIs, data structures, macros

2017-01-06 Thread Sainath Grandhi
Renaming tap related APIs, data structures and macros in tap.c from macvtap_.* to tap_.* Signed-off-by: Sainath Grandhi Tested-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 18 +-- drivers/net/tap.c | 332 ++--- drivers/vhost/net.c

[PATCHv1 3/7] TAP: Tap character device creation/destroy API

2017-01-06 Thread Sainath Grandhi
This patch provides tap device create/destroy APIs in tap.c. Signed-off-by: Sainath Grandhi Tested-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 29 +++-- drivers/net/tap.c | 64 ++ include/linux/if_tap.h | 3

[PATCHv1 7/7] IPVTAP: IP-VLAN based tap driver

2017-01-06 Thread Sainath Grandhi
This patch adds a tap character device driver that is based on the IP-VLAN network interface, called ipvtap. An ipvtap device can be created in the same way as an ipvlan device, using 'type ipvtap', and then accessed using the tap user space interface. Signed-off-by: Sainath Grandhi

[PATCHv1 6/7] TAP: tap as an independent module

2017-01-06 Thread Sainath Grandhi
This patch makes tap a separate module for other types of virtual interfaces, for example, ipvlan to use. Signed-off-by: Sainath Grandhi Tested-by: Sainath Grandhi --- drivers/net/Kconfig| 14 +++ drivers/net/Makefile | 3 +- drivers/net/macvtap.c | 247

[PATCHv1 5/7] TAP: Extending tap device create/destroy APIs

2017-01-06 Thread Sainath Grandhi
Extending tap APIs get/free_minor and create/destroy_cdev to handle more than one type of virtual interface. Signed-off-by: Sainath Grandhi Tested-by: Sainath Grandhi --- drivers/net/macvtap_main.c | 6 +-- drivers/net/tap.c | 110