Commit graph

62 commits

Author SHA1 Message Date
Vivek Kumar Dutta
964a1008fd mcastmngr: probable fix for rpcd crash 2024-09-12 18:06:36 +05:30
Lwithwma Brahma
abbab7118c mcastmngr: correct stats output
Corrected the read_mcast_stats function, to display
"ubus call mcast stats" correct output for multiple iptv bridges

Test:
"ubus call mcast stats" showing correct output for both single and multiple bridge.
2024-09-10 09:59:40 +00:00
Markus Gothe
5ace2f5cc9 mcastmngr: 1.2.4 2024-09-09 11:20:58 +02:00
Mohd Husaam Mehdi
0e54c37963 mcastmngr: fix mcast stats shows 0.0.0.0 for group
Fixes mcast stats showing 0.0.0.0 for group address.
2024-09-08 12:32:36 +00:00
Rahul Thakur
36fb5d5343 mcastmngr: handle multiple filters for mcproxy
the library script that converts uci to mcproxy config is generating
incorrect config for filtering ip addresses which leads to mcproxy
not even starting when multiple filters are defined.

this commit fixes the above described issue.
2024-09-06 10:30:00 +00:00
Markus Gothe
7cd7719f9b mcastmngr: Fix L2 snooping hotplug events. 2024-07-01 11:25:06 +00:00
Amit Kumar
2fdfb8900d mcastmngr: Handled max multicast snoop entry
* removed +2 logic as multicast snoop entry handled in mcproxy
 with logic to exclude count of reserve mcast ip address subnet
2024-06-11 04:57:27 +00:00
Vivek Kumar Dutta
4619bf1722 mcastmngr: 1.2.3 2024-05-24 18:27:19 +05:30
Markus Gothe
0709b46a63 mcastmngr: Airoha multicast snooping needs to be toggled to work.
We need to flush the mdb entries when configuring multicast
snooping on Airoha.

This commit fixes a bug where blocking multicast snooping doesn't
work.
2024-05-15 12:02:37 +00:00
Erik Karlsson
2214fd99e8 mcastmngr: handle multiple upstream interface sections
Do not overwrite mcast configuration if there are multiple interface
sections referring to the same upstream device such as wan/wan6
2024-04-25 10:53:43 +02:00
Amin Ben Romdhane
62dc2e55d5 mcastmngr: 1.2.2 2024-04-23 17:35:35 +02:00
Vivek Kumar Dutta
5b77f36ae4 mcastmngr: align with bbfdm 2024-04-17 03:58:46 +00:00
Mohd Husaam Mehdi
1ec66d5732 mcastmngr: add IGMP and MLD vendor extensions as micro service
move IGMP and MLD vendor extensions from bbfdm to mcastmngr and
add them as a bbfdm micro service
2024-04-09 08:55:22 +00:00
Markus Gothe
65fbf9958d mcastmngr: Fix typo in Broadcom snooping. 2024-04-09 03:52:52 +00:00
Rahul Thakur
09b8975174 mcastmgr: remove outdated comment 2024-03-14 18:35:51 +05:30
Markus Gothe
5b702e1991 tree-wide: use OpenWrt way to define LAN/WAN ports 2024-03-12 08:31:17 +00:00
George Yang
8b39953242 mcastmngr: Set the "igmp" as the default protocol for mcast proxy/snooping config
For example, in the current LUCI iptv page, option "proto" is not provided, and IGMP is assumed.
2024-03-11 05:10:34 +00:00
Mohd Husaam Mehdi
d3247ed266 mcastmngr: do not hard code snooping_mode to 1 for proxy sections 2024-02-21 14:09:54 +05:30
Rohit Topno
dd55c60bd6 mcastmngr: fixed uci syntax error in init script
Problem description:
Multiple device section name fetched due
to wild card grep command.

Fix: modified grep command which gets exact device
section name based on device name.
2024-02-06 16:10:01 +00:00
Rahul Thakur
55e87e47f1 mcastmngr: fix uci-default script to not overwrite on upgrade
This commit fixes the bug in the uci-default script due to which
the upstream interface in the proxy section was getting overwritten
on sysupgrades.

The uci-default scripts now validates that if the interface that
is set as the upstream_interface is a valid interface in the network
uci file, then config does not need to be updated.
2023-12-14 06:37:04 +00:00
Amit Kumar
c260fb4c61 mcastmngr: disable snooping when proxy instance is disabled
* snooping on bridge interfaces should be changed to disable when
igmp proxy has been disabled.
* updated the function __device_is_bridge() that read the device
section of network config. "grep name=.*$device" was resulting into
matching of ifname option as well that was resulting in a two line
output and causing error while using the output in uci command later.
2023-12-12 05:53:42 +00:00
Anatoly Mirin
b6477e8b84 mcastmngr: add snooping configuration support for linux targets
l2 snooping mode implements on the linux kernel multicast bridge level.
If snooping mode is enabled, mcastmngr configure kernel multicast bridge
with the appropriate uci mcast params.
2023-10-26 05:17:14 +00:00
Markus Gothe
e485a0514e mcastmngr: Fix error regarding setup_mcast_mode().
Implement a stub for setup_mcast_mode() on
non-Broadcom platforms.

Change-Id: Idd0c75f564f0de5fe698c1fc32088a32a029ac96
2023-09-20 11:44:30 +00:00
Rahul Thakur
10564d779c mcastmngr: remove dependency on ports uci file 2023-08-10 11:29:47 +00:00
Anatoly Mirin
7c3d1f919c mcastmngr: fixed mcproxy crash for multiupstream config
If more than one upstream iface is defined, mcastmngr runs mcproxy
multiple times for each protocol (e.g. igmp) with the same config.
So second mcproxy process fails because it can't lock the MRT flag
(/proc/sys/net/ipv/default/mc_forwarding) already blocked by the
first process.

If one good and one bad (no IP address) upstream interfaces are defined,
mcastmngr generates wrong filter configuration and mcproxy cannot start
at all.

Now upstream and downstream ifaces are checked in the
'config_mcproxy_interfaces' function and only good interfaces (with IP)
are written to the mcproxy config. Only one mcproxy process is started
per protocol (igmp, mld), configured to handle multiple interfaces
if necessary.

'get_network_of' function removed. This function fails in some
uci configurations for interfaces that refer to a device indirectly.
Example - network.wan6.device='@wan'
2023-07-07 04:59:57 +00:00
Rahul Thakur
3a2674270b mcastmngr: implement snoop mode for linux targets 2023-06-22 04:38:35 +00:00
Anatoly Mirin
e9f64893ac mcastmngr: fix mcast stats script
Fixed worng temp_igmp_file variable accessing, which caused the same
'temp_igmp_file' file to be used each time 'ubus call mcast stats'
was called instead of /tmp/igmp_stats_<PID> file.
Because of this, temp file was sometimes overwritten by the next call
before it had time to read and the IPTV_IGMP_4-12-1-24_2401.py test
ended with an error.

A waiting loop has also been added so that mcproxy has time to process
the signal and write the dump to a file.
2023-06-12 23:48:08 +03:00
Anatoly Mirin
81bfe4cc1b mcastmngr: pass max groups parameter to mcproxy
Setting '/proc/sys/net/ipv4/igmp_max_memberships' is not enough.
We must pass the max_groups parameter to the mcproxy to prevent MFC
entries from being added to mr_table and packet forwarding for extra
groups.

We also need to increase max_groups, since mcproxy always subscribe
two service groups - ALL-ROUTERS (224.0.0.2) and
ALL-IGMPv3-MC-ROUTERS (224.0.0.22).
2023-06-02 05:27:09 +00:00
Ratish
65d1d7932c Revert "mcastmngr: pass max groups parameter to mcproxy"
This reverts commit 9ce866a484.
2023-06-01 10:12:04 +00:00
Ratish
c0495af6e1 mcastmngr: fixed mcproxy crash
Fixed mcproxy crash during bootup for non broadcom platforms
2023-05-31 13:30:36 +05:30
Anatoly Mirin
9ce866a484 mcastmngr: pass max groups parameter to mcproxy
Setting '/proc/sys/net/ipv4/igmp_max_memberships' is not enough.
We must pass the max_groups parameter to the mcproxy to prevent MFC
entries from being added to mr_table and packet forwarding for extra
groups.

We also need to increase max_groups, since mcproxy always subscribe
two service groups - ALL-ROUTERS (224.0.0.2) and
ALL-IGMPv3-MC-ROUTERS (224.0.0.22).
2023-05-29 22:50:49 +03:00
ratish.28
7a61ff27bf mcastmngr: fix mcast stats for non broadcom platforms
Script for generating mcast stats is moved from common to platform
specific files. The logic for generating mcast stats on non broadcom
platforms is different and the stats format is also different.

For generating stats we are are sending SIGUSR1 signal to mcproxy
process which then writes multicast stats to /tmp/igmp_snooping_stats.
2023-05-16 14:27:22 +00:00
Rahul Thakur
d930fdd86d mcastmngr: enable snooping on linux platforms
enabling snooping in bridges in case of linux platforms
2023-05-16 14:25:41 +00:00
Arun Muthusamy
d038e4c845 Fix: Qcm, iptv fast leave is broken 2023-05-04 10:24:17 +00:00
Rahul Thakur
ecf76ddb06 mcastmngr: fix uci config changes get overwritten 2023-05-02 10:42:18 +05:30
Anatoly Mirin
1abf717fc6 mcastmngr: add filtering rules for downstream
This is necessary to filter IGMP messages from downstream interfaces.
2023-04-26 01:20:10 +00:00
Erik Karlsson
9cf5186546 Remove service_stop use
service_stop is a legacy function and it should never be used with
procd services which are automatically stopped by /etc/rc.common

Also remove unnecessary boot() which just runs the "start" function.
2023-04-18 05:59:55 +00:00
Anatoly Mirin
cb7256eba9 mcastmngr: fix ubus call in uci default script 2023-03-10 01:52:27 +00:00
Rahul Thakur
a92372c236 mcastmngr: update uci default script 2023-03-09 10:20:38 +00:00
Anatoly Mirin
95471502d7 mcastmngr: integrate mcproxy
linux/lib/mcast/linux.sh converts mcastmngr UCI params to the
mcproxy native conf file.
2023-02-16 08:34:26 +00:00
Sukru Senli
28fa1ed6f9 Mcast platform 2023-02-01 11:46:10 +00:00
Artee Roy
9675953bf6 Enables setting of bridge as a proxy interface.
Setting of dfault value for mcast interfaces.
2022-01-04 11:40:13 +00:00
Amit Kumar
4d244eb31e mcastmngr: corrected P1 break of mcast stats 2021-11-18 06:48:52 +00:00
Rahul
8f5d47b5d5 mcastmngr: openwrt 21.02 changes
make iptv work with openwrt 21.02 lift
2021-08-11 17:22:31 +05:30
Amit Kumar
aadbbda3e9 mcast: updated verion for change to remove lan_to_lan option 2021-07-14 09:33:27 +05:30
Amit Kumar
c9e6cf8428 mcast: removed lan_to_lan option 2021-07-14 03:23:39 +00:00
Amit Kumar
7265b88a70 mcast: correction for warning message in mcast restart.
removed the bcmmcastctl cli call for l2l option that is not supported.
2021-07-14 03:23:39 +00:00
Erik Karlsson
a6c3c54091 mcastmngr: do not overwrite configuration if snooping section exists 2021-04-15 07:57:06 +00:00
Rahul
a31bb99c30 mcastmngr: resolve bug #3015
Configuration of robustness value and fast leave in snooping take
effect.
2020-09-02 18:50:09 +05:30
Rahul
c0f7c0ecf1 mcastmngr: handle mcast config for ifup in snooping
The handling of ifup event in case of snooping config was missing.

Note: ifup event is generated only for l3 interface, so, say ethx is
member of br-y which has proto none. In this case if ethx link goes
down and comes up again, IPTV will not work without a mcast reload.
From the look of it this will be the case in old version as well and
at the moment I don't know how this can be handled but considering this
is a remote scenario in my opinion I don't think the risk is too high.
I would continue to look for a solution ofcourse.
2020-07-17 12:25:17 +05:30