summaryrefslogtreecommitdiff
path: root/pimd/pim_nb_config.c
AgeCommit message (Collapse)Author
2024-07-22pimd: fix crash on non-existent interfaceLouis Scalbert
Fix the following crash when pim options are (un)configured on an non-existent interface. > r1(config)# int fgljdsf > r1(config-if)# no ip pim unicast-bsm > vtysh: error reading from pimd: Connection reset by peer (104)Warning: closing connection to pimd because of an I/O error! > #0 raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:50 > #1 0x00007f70c8f32249 in core_handler (signo=11, siginfo=0x7fffff88e4f0, context=0x7fffff88e3c0) at lib/sigevent.c:258 > #2 <signal handler called> > #3 0x0000556cfdd9b16d in lib_interface_pim_address_family_unicast_bsm_modify (args=0x7fffff88f130) at pimd/pim_nb_config.c:1910 > #4 0x00007f70c8efdcb5 in nb_callback_modify (context=0x556d00032b60, nb_node=0x556cffeeb9b0, event=NB_EV_APPLY, dnode=0x556d00031670, resource=0x556d00032b48, errmsg=0x7fffff88f710 "", errmsg_len=8192) > at lib/northbound.c:1538 > #5 0x00007f70c8efe949 in nb_callback_configuration (context=0x556d00032b60, event=NB_EV_APPLY, change=0x556d00032b10, errmsg=0x7fffff88f710 "", errmsg_len=8192) at lib/northbound.c:1888 > #6 0x00007f70c8efee82 in nb_transaction_process (event=NB_EV_APPLY, transaction=0x556d00032b60, errmsg=0x7fffff88f710 "", errmsg_len=8192) at lib/northbound.c:2016 > #7 0x00007f70c8efd658 in nb_candidate_commit_apply (transaction=0x556d00032b60, save_transaction=true, transaction_id=0x0, errmsg=0x7fffff88f710 "", errmsg_len=8192) at lib/northbound.c:1356 > #8 0x00007f70c8efd78e in nb_candidate_commit (context=..., candidate=0x556cffeb0e80, save_transaction=true, comment=0x0, transaction_id=0x0, errmsg=0x7fffff88f710 "", errmsg_len=8192) at lib/northbound.c:1389 > #9 0x00007f70c8f03e58 in nb_cli_classic_commit (vty=0x556d00025a80) at lib/northbound_cli.c:51 > #10 0x00007f70c8f043f8 in nb_cli_apply_changes_internal (vty=0x556d00025a80, > xpath_base=0x7fffff893bb0 "/frr-interface:lib/interface[name='fgljdsf']/frr-pim:pim/address-family[address-family='frr-routing:ipv4']", clear_pending=false) at lib/northbound_cli.c:178 > #11 0x00007f70c8f0475d in nb_cli_apply_changes (vty=0x556d00025a80, xpath_base_fmt=0x556cfdde9fe0 "./frr-pim:pim/address-family[address-family='%s']") at lib/northbound_cli.c:234 > #12 0x0000556cfdd8298f in pim_process_no_unicast_bsm_cmd (vty=0x556d00025a80) at pimd/pim_cmd_common.c:3493 > #13 0x0000556cfddcf782 in no_ip_pim_ucast_bsm (self=0x556cfde40b20 <no_ip_pim_ucast_bsm_cmd>, vty=0x556d00025a80, argc=4, argv=0x556d00031500) at pimd/pim_cmd.c:4950 > #14 0x00007f70c8e942f0 in cmd_execute_command_real (vline=0x556d00032070, vty=0x556d00025a80, cmd=0x0, up_level=0) at lib/command.c:1002 > #15 0x00007f70c8e94451 in cmd_execute_command (vline=0x556d00032070, vty=0x556d00025a80, cmd=0x0, vtysh=0) at lib/command.c:1061 > #16 0x00007f70c8e9499f in cmd_execute (vty=0x556d00025a80, cmd=0x556d00030320 "no ip pim unicast-bsm", matched=0x0, vtysh=0) at lib/command.c:1227 > #17 0x00007f70c8f51e44 in vty_command (vty=0x556d00025a80, buf=0x556d00030320 "no ip pim unicast-bsm") at lib/vty.c:616 > #18 0x00007f70c8f53bdd in vty_execute (vty=0x556d00025a80) at lib/vty.c:1379 > #19 0x00007f70c8f55d59 in vtysh_read (thread=0x7fffff896600) at lib/vty.c:2374 > #20 0x00007f70c8f4b209 in event_call (thread=0x7fffff896600) at lib/event.c:2011 > #21 0x00007f70c8ed109e in frr_run (master=0x556cffdb4ea0) at lib/libfrr.c:1217 > #22 0x0000556cfdddec12 in main (argc=2, argv=0x7fffff896828, envp=0x7fffff896840) at pimd/pim_main.c:165 > (gdb) f 3 > #3 0x0000556cfdd9b16d in lib_interface_pim_address_family_unicast_bsm_modify (args=0x7fffff88f130) at pimd/pim_nb_config.c:1910 > 1910 pim_ifp->ucast_bsm_accept = > (gdb) list > 1905 case NB_EV_ABORT: > 1906 break; > 1907 case NB_EV_APPLY: > 1908 ifp = nb_running_get_entry(args->dnode, NULL, true); > 1909 pim_ifp = ifp->info; > 1910 pim_ifp->ucast_bsm_accept = > 1911 yang_dnode_get_bool(args->dnode, NULL); > 1912 > 1913 break; > 1914 } > (gdb) p pim_ifp > $1 = (struct pim_interface *) 0x0 Fixes: 3bb513c399 ("lib: adapt to version 2 of libyang") Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com> (cherry picked from commit 6952bea5cdd38057bf8c0a5e9c0fbe916dc73953)
2024-01-23pimd: fix crash when configuring ssmpingdIgor Ryzhov
Command: `ip ssmpingd 1.1.1.1` Backtrace: ``` __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 0x00007fd1d3b02859 in __GI_abort () at abort.c:79 0x00007fd1d3e323e1 in yang_dnode_xpath_get_canon (dnode=<optimized out>, xpath_fmt=<optimized out>, ap=<optimized out>) at lib/yang_wrappers.c:61 0x00007fd1d3e34f41 in yang_dnode_get_ipv4 (addr=addr@entry=0x7ffc368554d4, dnode=<optimized out>, xpath_fmt=xpath_fmt@entry=0x5556af8680d4 "./source-addr") at lib/yang_wrappers.c:826 0x00005556af8216d3 in routing_control_plane_protocols_control_plane_protocol_pim_address_family_ssm_pingd_source_ip_create (args=0x7ffc36855530) at pimd/pim_nb_config.c:925 0x00007fd1d3dec13f in nb_callback_create (nb_node=0x5556b197ea40, nb_node=0x5556b197ea40, errmsg_len=8192, errmsg=0x7ffc36855a90 "", resource=0x5556b18fa6f8, dnode=0x5556b1ad7a10, event=NB_EV_APPLY, context=0x5556b1ad75c0) at lib/northbound.c:1260 nb_callback_configuration (context=0x5556b1ad75c0, event=NB_EV_APPLY, change=<optimized out>, errmsg=0x7ffc36855a90 "", errmsg_len=8192) at lib/northbound.c:1648 0x00007fd1d3deca6c in nb_transaction_process (event=event@entry=NB_EV_APPLY, transaction=transaction@entry=0x5556b1ad75c0, errmsg=errmsg@entry=0x7ffc36855a90 "", errmsg_len=errmsg_len@entry=8192) at lib/northbound.c:1779 0x00007fd1d3decdd6 in nb_candidate_commit_apply (transaction=0x5556b1ad75c0, save_transaction=save_transaction@entry=true, transaction_id=transaction_id@entry=0x0, errmsg=errmsg@entry=0x7ffc36855a90 "", errmsg_len=errmsg_len@entry=8192) at lib/northbound.c:1129 0x00007fd1d3decf15 in nb_candidate_commit (context=..., candidate=<optimized out>, save_transaction=save_transaction@entry=true, comment=comment@entry=0x0, transaction_id=transaction_id@entry=0x0, errmsg=0x7ffc36855a90 "", errmsg_len=8192) at lib/northbound.c:1162 0x00007fd1d3ded4af in nb_cli_classic_commit (vty=vty@entry=0x5556b1ada2a0) at lib/northbound_cli.c:50 0x00007fd1d3df025f in nb_cli_apply_changes_internal (vty=vty@entry=0x5556b1ada2a0, xpath_base=xpath_base@entry=0x7ffc36859b50 ".", clear_pending=clear_pending@entry=false) at lib/northbound_cli.c:177 0x00007fd1d3df06ad in nb_cli_apply_changes (vty=vty@entry=0x5556b1ada2a0, xpath_base_fmt=xpath_base_fmt@entry=0x0) at lib/northbound_cli.c:233 0x00005556af80fdd5 in pim_process_ssmpingd_cmd (vty=0x5556b1ada2a0, operation=NB_OP_CREATE, src_str=0x5556b1ad9630 "1.1.1.1") at pimd/pim_cmd_common.c:3423 0x00007fd1d3da7b0e in cmd_execute_command_real (vline=vline@entry=0x5556b1ac9520, vty=vty@entry=0x5556b1ada2a0, cmd=cmd@entry=0x0, up_level=up_level@entry=0) at lib/command.c:982 0x00007fd1d3da7cb1 in cmd_execute_command (vline=vline@entry=0x5556b1ac9520, vty=vty@entry=0x5556b1ada2a0, cmd=0x0, vtysh=vtysh@entry=0) at lib/command.c:1040 0x00007fd1d3da7e50 in cmd_execute (vty=vty@entry=0x5556b1ada2a0, cmd=cmd@entry=0x5556b1ae0a30 "ip ssmpingd 1.1.1.1", matched=matched@entry=0x0, vtysh=vtysh@entry=0) at lib/command.c:1207 0x00007fd1d3e278be in vty_command (vty=vty@entry=0x5556b1ada2a0, buf=<optimized out>) at lib/vty.c:591 0x00007fd1d3e27afd in vty_execute (vty=0x5556b1ada2a0) at lib/vty.c:1354 0x00007fd1d3e2bb23 in vtysh_read (thread=<optimized out>) at lib/vty.c:2362 0x00007fd1d3e22254 in event_call (thread=thread@entry=0x7ffc3685cd80) at lib/event.c:2003 0x00007fd1d3dce9e8 in frr_run (master=0x5556b183c830) at lib/libfrr.c:1218 0x00005556af803653 in main (argc=6, argv=<optimized out>, envp=<optimized out>) at pimd/pim_main.c:162 ``` Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2023-11-29lib: all: remove './' from xpath 22% speedupChristian Hopps
fixes #8299 Signed-off-by: Christian Hopps <chopps@labn.net>
2023-08-30pimd,pim6d: Resolving the YANG datatype Inconsistency for PIM Hello IntervalSai Gomathi N
The YANG specification currently designates a uint8 data type for the hello interval, despite the CLI documentation (ip pim hello (1-65535) [(1-65535)]) indicating a maximum value of 65535. To address this inconsistency, updating the data type to uint16 allowing for a maximum value for hello intervals. Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2023-06-08Merge pull request #13664 from routingrocks/pim_nb_fixDonatas Abraitis
pimd: Change in PIM northbound error, when a path to RP is not found …
2023-06-07pimd, pim6d: Move mld/igmp deletion code to a common apiMobashshera Rasool
Move the mld/igmp deletion common code to api pim_gm_interface_delete code for IPv6 deletion(gm_ifp_teardown) for MLD was missing in this flow Making the code common fixes this too. Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2023-06-06pimd, pim6d: Rename and move api pim_cmd_interface_deleteMobashshera Rasool
Rename pim_cmd_interface_delete to pim_pim_interface_delete and move the api to pimd/pim_iface.c Changed the return type of the api from int to void. Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2023-06-06pimd, pim6d: Move api pim_if_membership_clearMobashshera Rasool
Move pim_if_membership_clear api from pimd/pim_nb_config.c to pimd/pim_iface.c Also fixed curly braces warning WARNING: braces {} are not necessary for single statement blocks 1773: FILE: /tmp/f1-127504/pim_iface.c:1773: Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2023-06-01pimd: Change in PIM northbound error, when a path to RP is not found during ↵Rajesh Varatharaj
config apply Currently, in PIM Northbound, when a path to RP is not found during config apply, we are treating this as a NB_ERR_INCONSISTENCY. However, there are two issues with this approach: When OSPF or IGP convergence is completed, it is possible that the RPF check will succeed. If we have multiple groups and RPs (e.g. 50 RPs), we will receive 50 logs with inconsistency errors. example: 2023/05/27 22:57:45 PIM: [G822R-SBMNH] config-from-file# ip pim rp 192.168.100.1 239.100.0.0/28 2023/05/27 22:57:45 PIM: [VAKV3-NMY7B][EC 100663337] error processing configuration change: error [internal inconsistency] event [apply] operation [create] xpath [/frr-routing:routing/control-plane-protocols/control-plane-protocol[type='frr-pim:pimd'] [name='pim'][vrf='default']/frr-pim:pim/address-family[address-family='frr-routing:ipv4']/frr-pim-rp:rp/static-rp/rp-list [rp-address='192.168.100.1']/group-list[.='239.100.0.0/28']] message: No Path to RP address specified: 192.168.100.1 Issue: #13620 Signed-off-by: Rajesh Varatharaj <rvaratharaj@nvidia.com>
2023-05-30pim6d: Fix crash in ipv6 pim commandSarita Patra
Problem: Execute the below commands, pim6d core happens. interface ens193 ip address 69.0.0.2/24 ipv6 address 8000::1/120 ipv6 mld ipv6 pim We see crash only if the interface is not configured, and we are executing PIM/MLD commands. RootCause: Interface ens193 is not configured. So, it will have ifindex = 0 and mroute_vif_index = -1. Currently, we don't enable MLD on an interface if mroute_vif_index < 0. So, pim_ifp->MLD = NULL. In the API pim_if_membership_refresh(), we are accessing pim_ifp->MLD NULL pointer which leads to crash. Fix: Added NULL check before accessing pim_ifp->MLD pointer in the API pim_if_membership_refresh(). Issue: #13385 Signed-off-by: Sarita Patra <saritap@vmware.com>
2023-04-17Merge pull request #12550 from AbhishekNR/mld_joinDonatas Abraitis
pim6d: Implementing "ipv6 mld join"
2023-04-03pim6d: Impelmenting "ipv6 mld join"Abhishek N R
Fixes: #12014 Signed-off-by: Abhishek N R <abnr@vmware.com>
2023-03-23pim6d: Fixing mroutes not created after disabling and enabling PIMv6.Abhishek N R
After doing "no ipv6 pim" and "ipv6 pim" on receiver interface in LHR, mroutes were not created. When we enable pim after disabling it, we refresh the membership on pim interface. First we clear the membership on the interface, then we add it back. For PIMv6 we were only clearing it, membership was not added back. So mroutes were not created. Now added code to fetch all the local membership information into PIM. Fixes: #12005, #12820 Signed-off-by: Abhishek N R <abnr@vmware.com>
2023-02-26pimd, pim6d: Upstream IIF pointing towards PIM and IGMP disabled source ↵Sarita Patra
connected interface Topology: ========= RP---FHR<ens224>---Source Problem Statement: ================= Step 1: Enable PIM and IGMP on source connected interface ens224 Step 2: Start multicast traffic. (s,g) mroute and upstream will be created as expected. dev# show ip mroute IP Multicast Routing Table Flags: S - Sparse, C - Connected, P - Pruned R - SGRpt Pruned, F - Register flag, T - SPT-bit for SSM FHR Source Group Flags Proto Input Output TTL Uptime 50.0.0.4 225.1.1.1 SF PIM ens224 pimreg 1 00:37:55 dev# show ip pim upstream Iif Source Group State Uptime JoinTimer RSTimer KATimer RefCnt ens224 50.0.0.4 225.1.1.1 NotJ,RegJ 00:37:57 --:--:-- --:--:-- 00:02:43 1 Step 3: Disable PIM on source connected interafce ens224 dev# show ip mroute IP Multicast Routing Table Flags: S - Sparse, C - Connected, P - Pruned R - SGRpt Pruned, F - Register flag, T - SPT-bit for SSM FHR Source Group Flags Proto Input Output TTL Uptime 50.0.0.4 225.1.1.1 SF PIM ens224 pimreg 1 00:38:05 dev# show ip pim upstream Iif Source Group State Uptime JoinTimer RSTimer KATimer RefCnt ens224 50.0.0.4 225.1.1.1 NotJ,RegJ 00:38:08 --:--:-- --:--:-- 00:02:32 1 Step 4: Disable IGMP on source connected interface ens224 dev# show ip pim upstream Iif Source Group State Uptime JoinTimer RSTimer KATimer RefCnt ens224 50.0.0.4 225.1.1.1 NotJ,RegJ 00:38:15 --:--:-- --:--:-- 00:03:27 1 dev# show ip mroute IP Multicast Routing Table Flags: S - Sparse, C - Connected, P - Pruned R - SGRpt Pruned, F - Register flag, T - SPT-bit for SSM FHR Source Group Flags Proto Input Output TTL Uptime 50.0.0.4 225.1.1.1 SF PIM <iif?> pimreg 1 00:38:18 Pim upstream IIF is still pointing towards the source connected interface which is not pim enabled and not IGMP enabled and Mroute is still present in the kernel and KAT timer is still running on the interface, where ifp->info is already set to NULL. This leads to crash. Root Cause: ========== When "no ip pim" commands get executed on source connected interface, we are updating upstream IIF only when IGMP is not enabled on the same interface. Fix: === When PIM is disabled on source connected interface, update upstream IIF no matter if IGMP is enabled or not on the same interface. Issue: #12848 Issue: #10782 Signed-off-by: Sarita Patra <saritap@vmware.com>
2023-02-09*: auto-convert to SPDX License IDsDavid Lamparter
Done with a combination of regex'ing and banging my head against a wall. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-11-14pimd, pim6d: Update upstream rpf disable/enable pim on interfaceSarita Patra
Problem: When "no ip pim" is executed on source connected interface, its ifp->info is set to NULL. But KAT on this interface is still running, it wrongly dereferences NULL. This leads to crash. Root Cause: pim upstream IIF is still pointing towards the source connected interface which is not pim enabled and Mroute is still present in the kernel. Fix: When “no ip pim” command gets executed on source connected interface, then loop through all the pnc->nexthop, if any new nexthop found, then update the upstream IIF accordindly, if not found then update the upstream IIF as Unknown and uninstall the mroute from kernel. When “ip pim” command gets executed on source connected interface, then also loop through all the pnc->nexthop and update the upstream IIF, install the mroute in kernel. Issue: #10782 Issue: #11931 Signed-off-by: Sarita Patra <saritap@vmware.com>
2022-09-16Merge pull request #11900 from patrasar/pimv6_lmqtDonatas Abraitis
pim6d: Update last_member_query_interval and last_member_query_count
2022-09-13pimd, pim6d: Changing IGMP to GM in debug macros.Abhishek N R
Changed PIM_DEBUG_IGMP_TRACE to PIM_DEBUG_GM_TRACE and PIM_DEBUG_IGMP_TRACE_DETAIL to PIM_DEBUG_GM_TRACE_DETAIL. Hence, these macros can be used for both v6 and v4. Issue: #11895 Co-authored-by: Sai Gomathi N <nsaigomathi@vmware.com> Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-09-04pim6d: Update last_member_query_interval and last_member_query_countSarita Patra
When there is update in the configuration of last_member_query_interval and last_member_query_count, call gm_ifp_update(). This will update cur_query_intv_trig and cur_lmqc of gm_ifp structure. Issue: #11901 Signed-off-by: Sarita Patra <saritap@vmware.com>
2022-08-28pim6d: Completing "ipv6 mld last-member-query-interval" commandAbhishek N R
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-28pim6d: Completing "ipv6 mld last-member-query-count" command.Abhishek N R
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-28pim6d: Completing "ipv6 mld query-max-response-time" command.Abhishek N R
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-18Merge pull request #11485 from AbhishekNR/ipv6_mld_todoDonatas Abraitis
pim6d: Completing "ipv6 mld" config command.
2022-07-07pim6d: Completing "ipv6 mld" command.Abhishek N R
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-07-03pim6d: configure ipv6 pim drprioritySarita Patra
Signed-off-by: Sarita Patra <saritap@vmware.com>
2022-06-27pim6d: Changing igmp_enable to gm_enable.Abhishek N R
Modified variable name so that it can be reused in mld. Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-05-17Merge pull request #10775 from opensourcerouting/pim6-mld-prDonald Sharp
pim6d: MLD code
2022-05-12pimd: Northbound support for pim passive enablesarita patra
Added nothbound callbacks for pim-passive-enable Signed-off-by: sarita patra <saritap@vmware.com>
2022-05-06pim6d: add fresh MLD implementationDavid Lamparter
Fresh ground-up MLD implementation with subscriber-tracking for MLDv2. Intended to be adapted for IPv4 and replace the IGMP implementation at a later point. Tested in ANVL, currently at 94/116. Some issues/TODOs are left in the code as CPP_NOTICE markers, but the code is very much good enough to proceed since otherwise we're blocked on overall PIM v6 progress. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-04-05Merge pull request #10365 from SaiGomathiN/ipv6-config-cmdDavid Lamparter
2022-04-05pim6d: Adding "ipv6 mld last-member-query-interval" CLISai Gomathi N
Adding the Interface level config command ipv6 mld last-member-query-interval (1-65535) This command can be use to tune the response time for group specific queries. Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-05pim6d: Adding ipv6 mld last-member-query-count CLISai Gomathi N
Adding the Interface level config command ipv6 mld last-member-query-count (1-255) This command can be use to tune the number of Multicast-Address- Specific Queries sent before the router assumes there are no remaining listeners for an address on a link. Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-05pim6d: Adding "ipv6 mld query-max-response-time" CLISai Gomathi N
Adding the Interface level config command ipv6 mld query-max-response-time <1-65535> This command can be use to tune the max response time for general queries. The number of seconds represented by the [Query Response Interval] must be less than the [Query Interval] Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-04pimd: remove useless PIM_IF_* macrosDavid Lamparter
The only function these macros have is to make the code confusing. "PIM_IF_DO_PIM" sounds like it triggers some action, but it doesn't. Replace with "bool" fields in struct pim_interface. (Note: PIM_IF_*_IGMP_LISTEN_ALLROUTERS was always set, without any way to unset it. It is completely removed now and always enabled.) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-03-28Merge pull request #10366 from AbhishekNR/mld_cliDavid Lamparter
2022-03-16pim6d: Changes done in pim_ssmpingd to support v6Balaji Gurudoss
Signed-off-by: Balaji Gurudoss <G_Balaji1@dell.com>
2022-03-14pim6d: Adding "ipv6 mld query-interval" CLIAbhishek N R
Adding the Interface level config command ipv6 mld query-interval <1-65535> This command can be use to tune the timing for the general queries sent by the querier. Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-03-14pim6d: Adding "ipv6 mld" CLIAbhishek N R
Adding the Interface level config command ipv6 mld To enable MLD on the interface. Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-03-14pim6d: Adding "ipv6 mld join" CLIAbhishek N R
Adding the Interface level config command ipv6 mld join This command can be used to configure the static MLD join for IPv6 group addresses on the interfaces. Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-03-08pim6d: Add pim_get_all_mcast_group apiMobashshera Rasool
Added this api to fill all multicast group address based on IP version. For PIMv4 its 224.0.0.0/4, for PIMv6 its FF00::0/8. Changed the code where its being used currently. Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-03-08pim6d: Convert %s to %pPA for RP AddressesMobashshera Rasool
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-03-08pim6d: Modify pim_*_cmd_worker api passing pim_addr parameterMobashshera Rasool
Pass pim_addr as parameter for rp address to accomodate ipv6. Modifying pim_rp_cmd_worker and pim_no_rp_cmd_worker function parameters from in_addr to pim_addr. Changes in the caller functions are done as well to make it work for IPv6. Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-03-08pim6d: Add northbound changes for static rpMobashshera Rasool
Parsing the inputs for static RP configuration. Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-02-26Merge pull request #10400 from opensourcerouting/pim6-compilefixDonald Sharp
pim6d: get running with ipv6 types throughout
2022-02-20pimd: Do not allow 224.0.0.0/24 range in igmp joinMobashshera Rasool
224.0.0.0/24 cannot be used by igmp since this is reserved for routing protocols and other low-level topology discovery or maintenance protocols. Fixes: #10614 Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-02-16pim6d: remove `PIM_V6_TEMP_BREAK`David Lamparter
It's no longer necessary, pim6d now compiles without this hack. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-02-16pim6d: IPv6-adjust static multicast routesDavid Lamparter
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-02-16pim6d: IPv6-adjust northbound codeDavid Lamparter
Just fixing a bunch of compiler errors, this will NOT actually configure IPv6 PIM properly. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-01-17pim: Keeping list of address-family under gmp containersarita patra
Renamed frr-igmp.yang to frr-gmp.yang, igmp to gmp container. to support IGMP and MLD protocol. frr-gmp.yang, created a list of address family under mgmd container. For PIMV4 the key is IPV4, where as for PIMV6 the key is IPV6. This is done for PIMV6 development. This commit will have all the northbound changes to support IPV4 address family. Signed-off-by: sarita patra <saritap@vmware.com>
2022-01-17Merge pull request #10179 from patrasar/pimv6_northboundDavid Lamparter