#
a83e4630 |
|
16-May-2023 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add support for offloading pcp table Add support for offloading pcp app entries. Lan966x has 8 priority queues per port and for each priority it also has a drop precedence. Reviewed-by: Daniel Machon <daniel.machon@microchip.com> Reviewed-by: Piotr Raczynski <piotr.raczynski@intel.com> Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
#
94281484 |
|
02-Feb-2023 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add VCAP debugFS support Enable debugfs for vcap for lan966x. This will allow to print all the entries in the VCAP and also the port information regarding which keys are configured. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
61caac2d |
|
25-Nov-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: add tc matchall goto action Extend matchall with action goto. This is needed to enable the lookup in the VCAP. It is needed to connect chain 0 to a chain that is recognized by the HW. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
#
3643abd6 |
|
25-Nov-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: add tc flower support for VCAP API Currently the only supported action is ACTION_TRAP and the only dissector is ETH_ADDRS. Others will be added in future patches. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
#
39bedc16 |
|
25-Nov-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add is2 vcap model to vcap API. This provides the lan966x is2 model and adds it to the vcap control instance that will be provided to the vcap API. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
#
b0531225 |
|
25-Nov-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add initial VCAP When lan966x driver is initialized, initialize also the VCAP module for lan966x. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
#
6a2159be |
|
09-Nov-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add basic XDP support Introduce basic XDP support to lan966x driver. Currently the driver supports only the actions XDP_PASS, XDP_DROP and XDP_ABORTED. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
b69e9539 |
|
30-Sep-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add port mirroring support using tc-matchall Add support for port mirroring. It is possible to mirror only one port at a time and it is possible to have both ingress and egress mirroring. Frames injected by the CPU don't get egress mirrored because they are bypassing the analyzer module. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
5390334b |
|
30-Sep-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add port police support using tc-matchall Add support for port police. It is possible to police only on the ingress side. To be able to add police support also it was required to add tc-matchall classifier offload support. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
29aaf3d4 |
|
25-Sep-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add offload support for ets Add ets qdisc which allows to mix strict priority with bandwidth-sharing bands. The ets qdisc needs to be attached as root qdisc. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
21ce14a8 |
|
25-Sep-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add offload support for cbs Lan966x switch supports credit based shaper in hardware according to IEEE Std 802.1Q-2018 Section 8.6.8.2. Add support for cbs configuration on egress port of lan966x switch. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
94644b6d |
|
25-Sep-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add offload support for tbf The tbf qdisc allows to attach a shaper on traffic egress on a port or on a queue. On port they are attached directly to the root and on queue they are attached on one of the classes of the parent qdisc. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
e462b271 |
|
21-Sep-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add offload support for taprio Lan966x switch supports time-based egress shaping in hardware according to IEEE 802.1Qbv. Add support for TAS configuration on egress port of lan966x switch. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
3c83431f |
|
21-Sep-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add offload support for mqprio Implement mqprio qdisc support using tc command. The HW supports 8 priority queues from highest (7) to lowest (0). Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
cabc9d49 |
|
17-Aug-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add lag support for lan966x Add link aggregation hardware offload support for lan966x Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
c8349639 |
|
08-Apr-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add FDMA functionality Ethernet frames can be extracted or injected to or from the device's DDR memory. There is one channel for injection and one channel for extraction. Each of these channels contain a linked list of DCBs which contains DB. The DCB contains only 1 DB for both the injection and extraction. Each DB contains a frame. Every time when a frame is received or transmitted an interrupt is generated. It is not possible to use both the FDMA and the manual injection/extraction of the frames. Therefore the FDMA has priority over the manual because of better performance values. FDMA: iperf -c 192.168.1.1 [ 5] 0.00-10.02 sec 420 MBytes 352 Mbits/sec 0 sender [ 5] 0.00-10.03 sec 420 MBytes 351 Mbits/sec receiver iperf -c 192.168.1.1 -R [ 5] 0.00-10.01 sec 528 MBytes 442 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 524 MBytes 440 Mbits/sec receiver Manual: iperf -c 192.168.1.1 [ 5] 0.00-10.02 sec 93.8 MBytes 78.5 Mbits/sec 0 sender [ 5] 0.00-10.03 sec 93.8 MBytes 78.4 Mbits/sec receiver ipers -c 192.168.1.1 -R [ 5] 0.00-10.03 sec 121 MBytes 101 Mbits/sec 0 sender [ 5] 0.00-10.01 sec 118 MBytes 99.0 Mbits/sec receiver Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
#
d0964594 |
|
31-Jan-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add support for ptp clocks The lan966x has 3 PHC. Enable each of them, for now all the timestamping is happening on the first PHC. Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
7aacb894 |
|
04-Jan-2022 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Extend switchdev with mdb support Extend lan966x driver with mdb support by implementing the switchdev calls: SWITCHDEV_OBJ_ID_PORT_MDB and SWITCHDEV_OBJ_ID_HOST_MDB. It is allowed to add both ipv4/ipv6 entries and l2 entries. To add ipv4/ipv6 entries is not required to use the PGID table while for l2 entries it is required. The PGID table is much smaller than MAC table so only fewer l2 entries can be added. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
811ba277 |
|
18-Dec-2021 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Extend switchdev with fdb support Extend lan966x driver with fdb support by implementing the switchdev calls SWITCHDEV_FDB_ADD_TO_DEVICE and SWITCHDEV_FDB_DEL_TO_DEVICE. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
6d2c186a |
|
18-Dec-2021 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add vlan support. Extend the driver to support vlan filtering by implementing the switchdev calls SWITCHDEV_OBJ_ID_PORT_VLAN, SWITCHDEV_ATTR_ID_BRIDGE_VLAN_FILTERING Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
cf2f6089 |
|
18-Dec-2021 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: Add support to offload the forwarding. This patch adds basic support to offload in the HW the forwarding of the frames. The driver registers to the switchdev callbacks and implements the callbacks for attributes SWITCHDEV_ATTR_ID_PORT_STP_STATE and SWITCHDEV_ATTR_ID_BRIDGE_AGEING_TIME. It is not allowed to add a lan966x port to a bridge that contains a different interface than lan966x. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
12c2d0a5 |
|
29-Nov-2021 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: add ethtool configuration and statistics This patch adds support for statistics counters for the network interfaces. Also adds support for configuring the network interface via ethtool like: speed, duplex etc. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
e18aba89 |
|
29-Nov-2021 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: add mactable support This patch adds support for MAC table operations like add and forget. Also add the functionality to read the MAC address from DT, if there is no MAC set in DT it would use a random one. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
d28d6d2e |
|
29-Nov-2021 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: add port module support This patch adds support for netdev and phylink in the switch. The injection + extraction is register based. This will be replaced with DMA accees. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
db8bcaad |
|
29-Nov-2021 |
Horatiu Vultur <horatiu.vultur@microchip.com> |
net: lan966x: add the basic lan966x driver This patch adds basic SwitchDev driver framework for lan966x. It includes only the IO range mapping and probing of the switch. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|