Commit Graph

2533 Commits

Author SHA1 Message Date
Sai Gomathi N
55eb347de9 pimd,pim6d: Modifying IGMP to GM in PIM_DEBUG_IGMP_PACKETS to PIM_DEBUG_GM_PACKETS
Changing the macros to common so that it can be used for pimv6 debugs as well
to be used for both IGMP and MLD debugs.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-09-04 22:46:09 -07:00
Sai Gomathi N
95b13dc512 pimd,pim6d: Modifying IGMP to GM in PIM_DEBUG_IGMP_EVENTS to PIM_DEBUG_GM_EVENTS
Changing the macros to common so that it can be used for pimv6 debugs as well
to be used for both IGMP and MLD debugs.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-09-04 22:46:09 -07:00
Mobashshera Rasool
79c0c50db9 pimd: Removal of unused function pim_neighbor_find_prefix
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-09-02 09:50:28 -07:00
Mobashshera Rasool
e73f7bf256 pim6d: Fix the Code for MLD in the show pim state command
show ip pim state should show IGMP Report while
show ipv6 pim state should show MLD Report.

Output After Fix:
frr# do sh ip pim state
Codes: J -> Pim Join, I -> IGMP Report, S -> Source, * -> Inherited from (*,G), V -> VxLAN, M -> Muted
Active Source           Group            RPT  IIF               OIL

frr# do sh ipv6 pim state
Codes: J -> Pim Join, I -> MLD Report, S -> Source, * -> Inherited from (*,G), V -> VxLAN, M -> Muted
Active Source           Group            RPT  IIF               OIL

frr#

Issue: #11249

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-08-30 03:13:42 -07:00
Abhishek N R
4cc5d80965 pimd, pim6d: deleting the memory malloced for json.
Problem Statement:
=================
2022-08-18 04:57:32,376 - ERROR: Found memory leak in daemon pimd
2022-08-18 04:57:32,377 - ERROR: ==12100== 18,978 (144 direct, 18,834 indirect) bytes in 2 blocks are definitely lost in loss record 45 of 45
2022-08-18 04:57:32,377 - ERROR: ==12100==    at 0x4C31FAC: calloc (vg_replace_malloc.c:762)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x532F51F: json_object_new_object (in /lib/x86_64-linux-gnu/libjson-c.so.3.0.1)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x128B5C: pim_show_interfaces (pim_cmd_common.c:3395)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x15A86B: show_ip_pim_interface_magic (pim_cmd.c:3127)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x15A86B: show_ip_pim_interface (pim_cmd_clippy.c:324)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4E672B2: cmd_execute_command_real.isra.2 (command.c:1005)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4E696FE: cmd_execute_command (command.c:1064)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4E698F1: cmd_execute (command.c:1227)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4EBC814: vty_command (vty.c:530)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4EBC9EF: vty_execute (vty.c:1295)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4EBF1F7: vtysh_read (vty.c:2142)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4EB739B: thread_call (thread.c:1692)
2022-08-18 04:57:32,377 - ERROR: ==12100==    by 0x4E85B17: frr_run (libfrr.c:1068)
2022-08-18 04:57:32,377 - ERROR: ==12100==

Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-29 08:46:19 -07:00
Donatas Abraitis
6a501480c2
Merge pull request #11581 from AbhishekNR/mld_hardcode_value
pim6d: Completing mld config commands.
2022-08-29 13:27:28 +03:00
Donatas Abraitis
ca500e231c
Merge pull request #11857 from mobash-rasool/fixes2
pim6d: mroute stuck in register state, multicast traffic getting drops
2022-08-29 10:14:34 +03:00
Abhishek N R
707a9e9a90 pim6d: Completing "ipv6 mld last-member-query-interval" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-28 23:33:07 -07:00
Abhishek N R
51b4991feb pim6d: Completing "ipv6 mld last-member-query-count" command.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-28 23:33:07 -07:00
Abhishek N R
914710d79e pim6d: Completing "ipv6 mld query-max-response-time" command.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-28 23:33:07 -07:00
Donatas Abraitis
b5132009fc
Merge pull request #11718 from SaiGomathiN/mldgroups
pim6d: Implementing "show ipv6 mld groups" CLI
2022-08-26 15:19:32 +03:00
Sai Gomathi N
cdc1b7709f pim6d: Implementing "show mld groups" CLI
To Display MLD Group information

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-08-26 01:14:08 -07:00
Sai Gomathi N
8934215f65 pimd: Modifying member of pim_instance to accomodate IPv6 changes
Modifying igmp_group_count of struct pim_instance
to gm_group_count which is to be used for both IGMP and MLD.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-08-26 01:14:08 -07:00
Sai Gomathi N
d250853af7 pimd, pim6d: Using ttable for displaying "show ip|ipv6 pim jp-agg" CLI
Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-08-24 09:25:55 -07:00
Sai Gomathi N
7d11f1996e pimd, pim6d: Using ttable for displaying "show ip|ipv6 pim channel" CLI
Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-08-24 09:25:55 -07:00
Donald Sharp
bce18b18fe pimd: Intentionally downcast to a uint32_t value
When calling time(NULL), FRR is intentionally throwing
away the upper 32 bits of value returned.  Let's explicitly
call it out so that coverity understands this is intentional
and ok.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-08-24 08:28:51 -04:00
Mobashshera Rasool
e23b5d868a pim6d: mroute stuck in register state, multicast traffic getting drops
IPv4 and IPv6 behaves a little bit differently with the socket
options.
IPPROTO_RAW socket option is only for IPv4.
Therefore the register packet was not properly getting encapculated
for PIMv6 and was working fine for PIMv4.

So have used IPPROTO_PIM for PIMv6.

Fixes: #11846

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-08-23 00:09:20 -07:00
Donald Sharp
e9c599ca72
Merge pull request #11830 from AbhishekNR/unused_var
pimd, pim6d: Removing unused parameter
2022-08-18 06:28:51 -04:00
Donatas Abraitis
b32cf39d45
Merge pull request #11485 from AbhishekNR/ipv6_mld_todo
pim6d: Completing "ipv6 mld" config command.
2022-08-18 09:47:03 +03:00
Donatas Abraitis
5b87f38def
Merge pull request #11817 from AbhishekNR/ttable_pim_rp-info
pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim rp-info"  command output.
2022-08-18 09:16:00 +03:00
Donatas Abraitis
547ce0b97e
Merge pull request #11783 from AbhishekNR/ttbale_show_cli
pimd, pim6d: Using ttable for displaying show ip/ipv6 pim CLI's output
2022-08-18 09:15:34 +03:00
Abhishek N R
38ec10a14a pimd, pim6d: Removing unused parameter
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-17 23:12:09 -07:00
Abhishek N R
f1ebd3dbd0 pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim rp-info" command output.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-16 21:51:58 -07:00
Abhishek N R
802ba0fb94 pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim upstream-rpf" command output.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-16 09:12:10 -07:00
Abhishek N R
090f833975 pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim upstream-join-desired" command output.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-16 09:12:10 -07:00
Mobashshera Rasool
e9cb0d510d pim6d: Register message getting dropped in source node, mroute stuck in RegJ
The socket created for pimv6 was created using AF_INET for PIMV6
too.
Since the api pim_reg_sock is common to both PIMv4 and PIMv6,
need to use PIM_AF instead of AF_INET.

Fixes: #11815

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-08-16 07:20:52 -07:00
Mobashshera Rasool
ca8cbecd5c pim6d: Add debug mroute6 and detail commands
Adding below debug CLIs:
debug mroute6
debug mroute6 detail

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-08-16 00:55:51 -07:00
Donald Sharp
bddd6bb95e pimd: vrf may be NULL from pim_cmd_lookup_vrf
The call into pim_cmd_lookup_vrf may be NULL
and dereferencing it before ensuring that the
vrf pointer is non-NULL is a good way to crash.

A crash can be initiated in pim:

eva# show ip msdp vrf NOEXIST mesh-group
vtysh: error reading from pimd: Permission denied (13)Warning: closing connection to pimd because of an I/O error!
eva# 2022/08/15 11:47:38 [PHJDC-499N2][EC 100663314] STARVATION: task vtysh_rl_read (560b77f76de6) ran for 16777ms (cpu time 0ms)

eva#

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-08-15 15:45:05 -04:00
Donald Sharp
e89de02895 pimd: pim_upstream_add up must exist
When calling pim_upstream_add, the lookup for upstream
or the creation of the upstream cannot fail.  As such
up is never NULL.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-08-15 15:45:05 -04:00
Donald Sharp
29b458ef1f pimd: ch->upstream cannot be NULL
in pim_ifchannel.c there exists several spots where
the ch->upstream is assumed to be NULL.  This is not
possible.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-08-15 15:45:05 -04:00
Abhishek N R
a8f7d5de6b pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim upstream" command output.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-14 08:29:11 -07:00
Abhishek N R
0148e53f3b pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim secondary" command output
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-14 08:29:11 -07:00
Abhishek N R
1b6dbdcd1e pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim rpf" command output.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-14 08:29:11 -07:00
Donald Sharp
23f85c8dad
Merge pull request #11778 from AbhishekNR/ttable_mroute
pimd, pim6d:  Using ttable for displaying output of show mroute commands
2022-08-11 08:32:32 -04:00
Abhishek N R
88e9f3a009 pimd, pim6d: Using ttable for displaying "show ip/ipv6 mroute count" command output.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-11 04:03:11 -07:00
Abhishek N R
cb990f3819 pimd, pim6d: Using ttable for displaying "show ip/ipv6 mroute" command output.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-10 09:05:40 -07:00
Abhishek N R
7f0dc57f8e pimd, pim6d: Using ttable for displaying "show ip/ipv6 multicast count" command.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-10 02:09:00 -07:00
Donatas Abraitis
8e2eb5935a
Merge pull request #11720 from SaiGomathiN/pimv6debugfix
pim6d: Add 'show debugging [pimv6]' CLI and some fixes
2022-08-08 10:11:38 +03:00
Donald Sharp
b993483876
Merge pull request #11636 from AbhishekNR/clear_cmd
pim6d: Implementing "clear ipv6 pim interface traffic" command.
2022-08-05 07:45:47 -04:00
Donald Sharp
ddfc81f3de
Merge pull request #11559 from patrasar/fix_clear_ipv6_mroute
pim6d: fix clear ipv6 mroute
2022-08-05 07:43:12 -04:00
Donald Sharp
f07b1a9fb4
Merge pull request #11716 from mobash-rasool/fixes2
pimd, pim6d: Send register msg via reg socket, solve FHR/RP same node issue
2022-08-04 22:06:49 -04:00
Donald Sharp
41e5409857
Merge pull request #11705 from Jafaral/pim-static
pimd: fix static mroute to also take into account the input interface
2022-08-04 22:04:02 -04:00
Sai Gomathi N
7d1b675857 pimd, pim6d: Using ttable for displaying
Using termtable for show ip|ipv6 pim interface
for dynamic space alignments

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-08-04 04:35:42 -07:00
Mobashshera Rasool
9461953914 pimd, pim6d: Send register msg via register socket
The problem here is when the same node is FHR as well as RP,
then the node keeps on sending the register packet.
Register-stop is not sent as well.

This problem has occurred because the RP is the same node
and there is no socket created on loopback interface, so the
packet is never send out and never received back on the same
node, so register recv could not be processed on the node and
hence no register-stop is sent.

Since register packets are unicast packets, its better to handle
the send of register packet via a separate register socket.
This fixes the problem mentioned above as well.

Fixes: #11331
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-08-04 00:49:10 -07:00
Sarita Patra
4459f499c4 pim6d: fix clear ipv6 mroute
Signed-off-by: Sarita Patra <saritap@vmware.com>
2022-08-03 07:47:36 -07:00
Sai Gomathi N
614b77fef5 pim6d: Change the show running commands for pimv6 debugs
Change the show running commands for bsm and vxlan pimv4 and pimv6
debug commands based on the address family.
Including bsm and vxlan in no debug pimv6 debug.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-08-02 06:34:30 -07:00
Sai Gomathi N
2af7b0450b pim6d: Removing the to-do item in pimv6 debug
Removing the temporary enabling of all debugs for pimv6

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-08-02 05:50:02 -07:00
Sai Gomathi N
1f2ecfe5ab pim6d: Add 'show debugging [pimv6]' CLI
Adding show debugging CLI for pimv6 debugs.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-08-02 05:36:02 -07:00
Abhishek N R
8656814dac pim6d: Implementing "clear ipv6 pim interface traffic" command.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-08-01 22:08:40 -07:00
Mobashshera Rasool
0c7f978ec9 pimd: Simply the code a bit, reduce code complexity
Combine all the if conditions in api pim_if_addr_add_all to
reduce nested loops.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-07-31 23:43:28 -07:00