[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220107030139.8486-1-yevhen.orlov@plvision.eu>
Date: Fri, 7 Jan 2022 05:01:30 +0200
From: Yevhen Orlov <yevhen.orlov@...ision.eu>
To: netdev@...r.kernel.org, stephen@...workplumber.org, andrew@...n.ch,
idosch@...sch.org
Cc: Volodymyr Mytnyk <volodymyr.mytnyk@...ision.eu>,
Taras Chornyi <taras.chornyi@...ision.eu>,
Mickey Rachamim <mickeyr@...vell.com>,
Serhiy Pshyk <serhiy.pshyk@...ision.eu>,
Yevhen Orlov <yevhen.orlov@...ision.eu>,
Taras Chornyi <tchornyi@...vell.com>,
Oleksandr Mazur <oleksandr.mazur@...ision.eu>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, linux-kernel@...r.kernel.org
Subject: [PATCH net-next v3 0/6] prestera: add basic router driver support
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@...vell.com>
Signed-off-by: Taras Chornyi <tchornyi@...vell.com>
Co-developed-by: Oleksandr Mazur <oleksandr.mazur@...ision.eu>
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@...ision.eu>
Signed-off-by: Yevhen Orlov <yevhen.orlov@...ision.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
Powered by blists - more mailing lists