Commit graph

147 commits

Author SHA1 Message Date
Mohd Mehdi
38c7075422
qosmngr: remove unused variable and fix error logs in uci-default 2025-02-21 06:28:14 +00:00
Suvendhu Hansa
06ad490dd8 qosmngr: fix unnamed uci section usages 2025-01-30 09:35:33 +05:30
Suvendhu Hansa
2e9942589a
qosmngr: support percentage ShapingRate 2025-01-28 13:56:17 +00:00
Markus Gothe
e3c9182bbc bridgemngr: Create centralized ebtables setup.
Create a centralized setup for ebtables.
This is necessary to garantuee the order
of how chains are created.

Right now it provides a 1:1 drop-in
replacement of how things currently work
and no changes are needed in the short term.
2025-01-21 11:38:36 +01:00
Markus Gothe
5cac9516c0 Revert "l2filter: Create centralized ebtables setup."
This reverts commit d67a40b6a0.
2025-01-21 11:15:47 +01:00
Markus Gothe
d67a40b6a0 l2filter: Create centralized ebtables setup.
Create a centralized setup for ebtables.
This is necessary to garantuee the order
of how chains are created.

Right now it provides a 1:1 drop-in
replacement of how things currently work
and no changes are needed in the short term.
2025-01-20 13:54:27 +01:00
Markus Gothe
a0eab2f7b9 qosmngr: Improve TSID to be unique. 2024-12-27 09:28:33 +01:00
Markus Gothe
148aa95651 qosmngr: Fix Airoha issue with token rate. 2024-12-12 20:49:20 +01:00
Markus Gothe
daf54622d8 Update WAN ingress ratelimit with generic method.
Instead of using the MAC to do ratelimting we use
the Frame Engine, this has the the benefit of being
a more universal solution and will work with PON
without the need of implement APIs for using the
MAC to do ingress ratelimiting.

This also works fine when the integrated switch
is used as the wan.
2024-12-12 17:12:40 +00:00
Mohd Husaam Mehdi
52f554b84d qosmgr: add support for wan ingress and egress rate control 2024-12-10 09:51:47 +00:00
Mohd Husaam Mehdi
d161ef2238 qosmngr: updates related to rate control
* separate scheduling logic from rate control logic
* add support for burst_size
2024-12-06 13:46:35 +00:00
Mohd Husaam Mehdi
12f70a7d91 qosmngr: add ingress and egress rate control support for airoha 2024-12-04 13:10:30 +05:30
Markus Gothe
bcdb31c830 qosmngr: Solve issue with L3 HW NAT for DSCP.
When doing classification on DSCP values we need
to ensure that the values are correctly hashed
for the L3 HW NAT, otherwise identical flows
with different DSCP values will end up with
the same QoS priority and queue.
2024-08-16 11:37:32 +02:00
Markus Gothe
32203771f6 qosmngr: Handle L3 flows with different p-bits correctly.
The L3 HW NAT will match the flows based on an IP header 5-tuple.
However if we are doing classification based on p-bits at the
same time and we want to use this for QoS we need to make sure
to add a VIP packet matcher to send this info to the PPE for
hashing the flow.
2024-08-15 16:51:48 +02:00
Markus Gothe
7a06a9e479 ebtables: Use --concurrent to avoid race conditions.
Add --concurrent to missing places.
2024-07-24 20:01:05 +02:00
Mohd Husaam Mehdi
6ef90dcd9d qosmngr: add ebtable handling for loopback (lo) interface
If interface is loopback then we add the rule to nat table's
output chain instead of broute tables BROUTING chain
2024-07-10 04:38:31 +00:00
Marina Maslova
b6930a2056 qosmngr: airoha: fix bw overwrite in case of reload and shaping 2024-06-10 11:07:45 +00:00
Rohit Topno
0e38151087 qosmngr: Support for VLAN ID and p-bit translation 2024-06-10 08:45:29 +05:30
Markus Gothe
2129df6d5f qosmngr: add support for l3 interfaces
* this commit adds support to use l3 interfaces
  in classification rules.
2024-06-06 04:14:38 +00:00
Rohit Topno
1ae6eb33e9 R#14453 - Integrate DSCP2P-bit support in qosmngr and TR181 2024-06-05 10:01:00 +00:00
Markus Gothe
04be1d3efd qosmngr: Add option to match on ICMP/ICMPv6 type. 2024-05-30 11:53:41 +00:00
Marina Maslova
3529860fd2 qosmngr: Dynamically allocate uplink bandwidth on Airoha.
In order for the QoS engine to know how much bandwidth
the uplink has got we need to set this with 'qosrule'
every time the uplink changes. Otherwise SP scheduling
will fail.

This fix takes into account when ae_wan is used by ethernet,
fiber and when PON is used as the uplink.
2024-05-30 08:26:38 +00:00
Rahul Thakur
e28f1a653c qosmngr: fix qos reload
* applicable only for linux target
* fix reload to setup qos properly and not overwrite queue on
  reload
* fixed l2 classification broken in reload
2024-05-23 03:37:23 +00:00
Rahul Thakur
74dadc162f qosmngr: fix lan queue priority for linux target
The lan queue were getting setup in wrong order for SP scheduling,
this commit fixes the order.
2024-05-16 11:39:54 +05:30
Tomas Bucek
f1acd2b4b1 Fix all_interfaces option in qosmngr 2024-04-29 10:17:27 +00:00
Markus Gothe
f67d771ea4 ebtables: Use --concurrent to avoid race conditions.
On GenXOS we've for some time used this to avoid running
into issues with reloading scripts at the same time.

Adding the same functionality to feeds/iopsys.
2024-04-25 05:48:52 +00:00
Markus Gothe
354d7e8c22 qosmngr: Fix filtering on TOS field for non-Broadcom platforms. 2024-04-18 19:59:57 +02:00
Vivek Kumar Dutta
f701de6e47 qosmngr: align with bbfdm 2024-04-17 03:58:46 +00:00
Mohd Husaam Mehdi
822f5624b1 qosmngr: remove bbfdm_add_service call from init script 2024-04-05 17:22:25 +05:30
Mohd Husaam Mehdi
6518f92be7 qosmngr: move Device.QoS. from bbfdm to qosmngr
qos.c and qos.h are now added as a bbfdm micro service
2024-04-05 12:47:08 +05:30
Rahul Thakur
025533f734 qosmngr: handle single lan port devices
update logic to read board ports to also handle devices with
single lan port
2024-03-19 16:34:23 +05:30
Markus Gothe
5b702e1991 tree-wide: use OpenWrt way to define LAN/WAN ports 2024-03-12 08:31:17 +00:00
Rahul Thakur
35b45c4045 qosmngr: fix qcm default config different from other targets
In the default qos config on qcm, the burst size is 1500 while on
other targets its 0, this is incorrect since iowrt uci defaults
should be consistent across targets; fixed with this commit.
2024-01-30 05:43:18 +00:00
Rahul Thakur
aa1adcad3c qosmngr: fix lan traffic limited to 1G always
Problem description:
Two problems seen,
1. The queues on a port are by default setup to handle maximum rate
   of 1G
2. The default qos uci config for ipq and brcm platforms is different

Fix:
1. Update queue setup to not impose rate limit, by setting the maximum
   rate as the maximum rate supported by the port.
2. Update uci default script to generate same config for both platforms
2024-01-22 09:53:09 +00:00
subramanian c
63efd921ed qosmngr: Improvements on SP and policer cases 2023-11-29 11:58:49 +00:00
subramanianc
0969cc7a24 qosmngr: Improvements on qcm shaper 2023-11-15 09:57:58 +00:00
Amit Kumar
8711c64ff6 qosmngr: handling linux platform qos shaper 2023-10-26 07:25:52 +00:00
subramanianc
81dd8f8afa qosmngr: Fix port shaping for qcm 2023-10-19 12:32:09 +00:00
Padmalochan Mohapatra
063314c91d qosmngr : Incorporating all interfaces option in classify 2023-10-18 06:38:00 +00:00
Markus Gothe
05448a3cae qosmngr: Fix ingress rate limiting on Broadcom.
The code for ingress rate limiting is not working
on Broadcom.
2023-09-20 11:33:34 +00:00
Ratish
9ae9af2acf qosmngr: ebtables rules race condition fix 2023-09-01 03:49:34 +00:00
Rahul Thakur
6ab6152d66 qosmngr: handle lan device parameter 2023-08-22 08:38:15 +00:00
Rahul Thakur
2df5b55ed7 ethmngr, qosmgr: folder struct update, remove hotplug on link 2023-08-10 11:29:47 +00:00
Rahul Thakur
ecacb13edf qosmngr: reload qos on link up for linux platform 2023-08-10 11:29:47 +00:00
Rahul Thakur
3bf7d2557c qosmngr: fix errors on boot for linux platform
errors caused by updated logic to get link rate
2023-08-10 11:29:47 +00:00
Rahul Thakur
cddf178691 qosmngr: update qos config generation
replace reading from ports uci file/db to board.json
2023-08-10 11:29:47 +00:00
Ratish
f2cb3f4442 qosmngr: supressed iptables chain already exists messages 2023-08-08 15:03:54 +05:30
Ratish
3df0e75b3f qosmngr: supress rtnetlink error messages while deleting queues 2023-08-08 13:22:18 +05:30
Rahul Thakur
dfa0414918 qosmngr: apply ebtables rules for linux platform 2023-08-04 04:51:23 +00:00
subramanianc
2c1aeae4e3 qos: Handle forwarding policy tos value 2023-05-26 14:23:08 +05:30