[PATCH net-next v3 0/6] prestera: add basic router driver support

Yevhen Orlov posted 6 patches 4 years, 5 months ago
.../net/ethernet/marvell/prestera/Makefile    |   3 +-
.../net/ethernet/marvell/prestera/prestera.h  |  37 +++
.../ethernet/marvell/prestera/prestera_hw.c   | 139 ++++++++++++
.../ethernet/marvell/prestera/prestera_hw.h   |  11 +
.../ethernet/marvell/prestera/prestera_main.c |   9 +-
.../marvell/prestera/prestera_router.c        | 185 +++++++++++++++
.../marvell/prestera/prestera_router_hw.c     | 214 ++++++++++++++++++
.../marvell/prestera/prestera_router_hw.h     |  37 +++
8 files changed, 633 insertions(+), 2 deletions(-)
create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_router.c
create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_router_hw.c
create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_router_hw.h
[PATCH net-next v3 0/6] prestera: add basic router driver support
Posted by Yevhen Orlov 4 years, 5 months ago
Add initial router support for Marvell Prestera driver.
Subscribe on inetaddr notifications. TRAP packets, that has to be routed
(if packet has router's destination MAC address).

Add features:
 - Support ip address adding on port.
   e.g.: "ip address add PORT 1.1.1.1/24"

Limitations:
 - Only regular port supported. Vlan will be added soon.
 - It is routing through CPU. Offloading will be added in
   next patches.

Co-developed-by: Taras Chornyi <tchornyi@marvell.com>
Signed-off-by: Taras Chornyi <tchornyi@marvell.com>
Co-developed-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Signed-off-by: Yevhen Orlov <yevhen.orlov@plvision.eu>

Changes for v2:
* Remove useless assignment

Changes for v3:
* Reverse xmas tree variables refactor
* Make friendly NL_SET_ERR_MSG_MOD messages
* Refactor __prestera_inetaddr_event to use early return
* Add prestera_router_hw_fini, which verify lists are empty
* Fix error path in __prestera_vr_create. Remove unnecessary kfree.
* Make __prestera_vr_destroy symmetric to "create"
* prestera_vr_put/get now using refcount_t
* Add WARN for sanity check path in __prestera_rif_entry_key_copy
* Make prestera_rif_entry_create followed by prestera_rif_entry_destroy
* Add missed call prestera_router_fini in prestera_switch_fini

Yevhen Orlov (6):
  net: marvell: prestera: add virtual router ABI
  net: marvell: prestera: Add router interface ABI
  net: marvell: prestera: Add prestera router infra
  net: marvell: prestera: add hardware router objects accounting
  net: marvell: prestera: Register inetaddr stub notifiers
  net: marvell: prestera: Implement initial inetaddr notifiers

 .../net/ethernet/marvell/prestera/Makefile    |   3 +-
 .../net/ethernet/marvell/prestera/prestera.h  |  37 +++
 .../ethernet/marvell/prestera/prestera_hw.c   | 139 ++++++++++++
 .../ethernet/marvell/prestera/prestera_hw.h   |  11 +
 .../ethernet/marvell/prestera/prestera_main.c |   9 +-
 .../marvell/prestera/prestera_router.c        | 185 +++++++++++++++
 .../marvell/prestera/prestera_router_hw.c     | 214 ++++++++++++++++++
 .../marvell/prestera/prestera_router_hw.h     |  37 +++
 8 files changed, 633 insertions(+), 2 deletions(-)
 create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_router.c
 create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_router_hw.c
 create mode 100644 drivers/net/ethernet/marvell/prestera/prestera_router_hw.h

-- 
2.17.1

Re: [PATCH net-next v3 0/6] prestera: add basic router driver support
Posted by Jakub Kicinski 4 years, 5 months ago
On Fri,  7 Jan 2022 05:01:30 +0200 Yevhen Orlov wrote:
> Changes for v3:
> * Reverse xmas tree variables refactor
> * Make friendly NL_SET_ERR_MSG_MOD messages
> * Refactor __prestera_inetaddr_event to use early return
> * Add prestera_router_hw_fini, which verify lists are empty
> * Fix error path in __prestera_vr_create. Remove unnecessary kfree.
> * Make __prestera_vr_destroy symmetric to "create"
> * prestera_vr_put/get now using refcount_t
> * Add WARN for sanity check path in __prestera_rif_entry_key_copy
> * Make prestera_rif_entry_create followed by prestera_rif_entry_destroy
> * Add missed call prestera_router_fini in prestera_switch_fini

Thanks for the update, could you send this set as incremental changes
as the previous version appears to have been applied?