Commit graph

137 commits

Author SHA1 Message Date
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
subramanianc
7168b5f1e0 qosmngr: Mapping qos queue based on marked value 2023-04-28 04:15:33 +00:00
subramanian c
d30c1615ca qosmngr: qos q map based on traffic class 2023-04-20 05:36:26 +00:00
Amit Kumar
7a7719d10e qosmngr: handing to get number of queue 2023-04-19 10:38:06 +05:30
subramanianc
920a7d0346 qos: modularisation of qos code 2023-03-22 09:22:03 +00:00
subramanianc
505c95f23b qos: Handle dscp_filter value in qos classify 2023-03-17 07:38:49 +00:00
subramanian c
19b0491590 qosmngr: Handle classify section name as per uci 2023-02-09 14:26:46 +00:00
Subramanian C
9c2a82ea90 qosmngr: Map DSCPCheck to option dscp_filter for uci qos 2023-02-03 12:33:53 +00:00
Markus Gothe
09211031ac qosmngr: Update BDMF shell usage 2023-02-03 04:35:01 +00:00
Maxim Menshikov
e28995fa4e qosmngr/airoha: enable eight queue PQ/WRR 2023-01-31 08:29:44 +00:00
Sukru Senli
c54cb80862 qosmngr: do not limit number of queues to 4 for BCM68880
also remove unused check of /proc/socinfo
2023-01-18 06:26:11 +00:00