Commit graph

89 commits

Author SHA1 Message Date
Nathan Bahr a060c72530 pimd: Implement autorp mapping agent CLI
Also exposes BSR cand_addrsel methods for use in AutoRP.

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
2024-11-19 22:33:11 +00:00
Nathan Bahr 3b323fc441 pimd,yang: Implement AutoRP CLI and NB config path
New CLI commands added:
router pim [vrf NAME]
  autorp discovery
  autorp announce RP-ADDR [GROUP | group-list PREFIX-LIST]
  autorp announce {scope (1-255) | interval (1-65535) | holdtime (0-65535)}

autorp discovery
  Enables Auto RP discovery for learning dynamic RP information using the
  AutoRP protocol.

autorp announce RP-ADDR [GROUP | group-list PREFIX-LIST]
  Enable announcements of a candidate RP with the given group range, or
  prefix list of group ranges, to an AutoRP mapping agent.

autorp announce {scope (1-255) | interval (1-65535) | holdtime (0-65535)}
  Configure the parameters of the AutoRP announcement messages.
  The scope sets the packet TTL.
  The interval sets the time between TX of announcements.
  The holdtime sets the hold time in the message, the time the mapping
  agent should wait before invalidating the candidate RP information.

debug pim autorp
  Enable debug logging of the AutoRP protocol

show ip pim [vrf NAME] autorp [json]
  Show details of the AutoRP protocol.
  To view learned RP info, use the existing command 'show ip pim rp-info'

Extend pim yang for new configuration:
  augment /frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/frr-pim:pim/frr-pim:address-family:
    +--rw rp
       +--rw auto-rp
          +--rw discovery-enabled?   boolean
          +--rw announce-scope?      uint8
          +--rw announce-interval?   uint16
          +--rw announce-holdtime?   uint16
          +--rw candidate-rp-list* [rp-address]
             +--rw rp-address           inet:ip-address
             +--rw (group-or-prefix-list)?
                +--:(group)
                |  +--rw group?         frr-route-types:ip-multicast-group-prefix
                +--:(prefix-list)
                   +--rw prefix-list?   plist-ref

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
2024-09-24 16:39:17 +00:00
Barry A. Trent 9b68853e0d pimd: add igmp proxy cli and yang configuration
Signed-off-by: Barry A. Trent <barry.trent@atcorp.com>
2024-09-20 13:44:48 -07:00
Jafar Al-Gharaibeh 865bae9657 pimd: candidate BSR/RP show commands, move under ip pim bsr
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2024-09-09 13:27:49 -05:00
Jafar Al-Gharaibeh 2d0812373c pimd: Candidate-BSR support
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2024-09-09 13:27:49 -05:00
Jafar Al-Gharaibeh a110bb7798 pimd: Candidate-RP support
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2024-09-09 12:42:28 -05:00
Nathan Bahr fd8edc3dfb pimd, lib, vtysh: Added new 'router pim[6] [vrf NAME]' config node
Moved all existing global/vrf PIM config to the new subnode.
Existing configuration updated to be hidden and deprecated.
Both versions of configuration still work together.

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
2024-07-16 13:30:35 -05:00
David Lamparter acddc0ed3c *: auto-convert to SPDX License IDs
Done with a combination of regex'ing and banging my head against a wall.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-02-09 14:09:11 +01:00
Sarita Patra a0299f87cf pimd: Move "show ip pim bsm-database" cmd to DEFPY
Added common pim_show_bsm_db_helper to suppport both PIM and
PIMV6.
pim_show_bsm_db is moved to pim_cmd_common.c file.

Signed-off-by: Sarita Patra <saritap@vmware.com>
2022-10-20 01:07:48 -07:00
Sarita Patra a07e7dfaee pimd: Move "show ip pim bsrp-info [vrf] [json]" cmd to DEFPY
Added pim_show_group_rp_mappings_info_helper to suppport both PIM and
PIMV6.
pim_show_group_rp_mappings_info() is moved to pim_cmd_common.c file.

Signed-off-by: Sarita Patra <saritap@vmware.com>
2022-10-20 01:07:48 -07:00
Sarita Patra aaf46b1edc pimd: Add vrf optional parameter in "show ip pim bsr" cmd
Added common API pim_show_bsr_helper to suppport both PIM and
PIMV6.
pim_show_bsr() is moved to pim_cmd_common.c file.

Signed-off-by: Sarita Patra <saritap@vmware.com>
2022-10-20 01:07:48 -07:00
Sarita Patra dfeda85c4b pim6d: Add [no] ipv6 pim unicast-bsm" command
Introduced common api pim_process_unicast_bsm_cmd,
pim_process_no_unicast_bsm_cmd which will process
both "[no] ip pim unicast-bsm" command and "[no] ipv6 pim
unicast-bsm" command.

Signed-off-by: Sarita Patra <saritap@vmware.com>
2022-10-20 01:07:46 -07:00
Sarita Patra 5e651c3699 pim6d: Add [no] ipv6 pim bsm" command
Introduced common api pim_process_bsm_cmd,
pim_process_no_bsm_cmd which will process
both "[no] ip pim bsm" command and "[no] ipv6 pim
bsm" command.

Signed-off-by: Sarita Patra <saritap@vmware.com>
2022-10-20 01:06:30 -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
Abhishek N R 23db4cbd3d pim6d: Implementing "clear ipv6 pim interfaces" command.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-07-19 05:48:52 -07:00
Sarita Patra db79e6ba84 pimd: Remove pim_get_pim_instance defination in pim_cmd_common.h
Signed-off-by: Sarita Patra <saritap@vmware.com>
2022-07-12 06:09:06 -07:00
Sai Gomathi N fc19632faa pimd, pim6d: Adding json support for show ipv6 nexthop
Moving the reusable code of pim_show_nexthop apis to common file
pim_cmd_common.c file and adding the json support for show ipv6 pim nexthop

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-06-30 04:09:14 -07:00
Mobashshera Rasool 52770b79a8 pimd: Change to DEFPY and make the api common
For show ip pim interface traffic cli, doing the below changes
1. Changing DEFUN to DEFPY
2. Move the whole code to a common api and modify it so that can
be reused for pimv6.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-06-12 21:24:01 -07:00
Mobashshera Rasool 36cec27cd9 pim6d: Moving show apis to common file
Moving pim_show_interface_traffic and pim_show_interface_traffic_single
to pim_cmd_common.c from pim_cmd.c to make it common to
pimd and pim6d.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-06-12 21:17:54 -07:00
Donald Sharp db28205528
Merge pull request #11385 from AbhishekNR/show_cli
pimd, pim6d: Moving reusable code to common api for show CLI's.
2022-06-12 08:06:01 -04:00
Sai Gomathi N 94c691ba40 pim6d: Moving the reusable code of pim_show_join cli
Moving the common lines of pim_show_join_vrf and pim_show_join_vrf_all cli
in pim_cmd.c and pim6_cmd.c to pim_cmd_common.c file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-06-09 22:43:52 -07:00
Abhishek N R 789d0ec4de pim6d: Moving reusable code to common api for "show mroute summary" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 04:53:12 -07:00
Abhishek N R 1c1077c200 pim6d: Moving reusable code to common api for "show ip/ipv6 mroute count" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 04:43:28 -07:00
Abhishek N R 4f1f8ff9aa pim6d: Moving reusable code to common api for "show ip/ipv6 mroute" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 04:27:20 -07:00
Sai Gomathi N fe7eaf4065 pim6d: Moving the common lines of pim_show_nexthop_lookup cli
Moving the common lines of pim_show_nexthop_lookup cli
in pim_cmd.c and pim6_cmd.c to pim_cmd_common.c file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-06-09 04:22:42 -07:00
Abhishek N R 334d2f8c3d pim6d: Moving reusable code to common api for "show ip/ipv6 multicast count" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 04:04:14 -07:00
Abhishek N R 8e15c9aa06 pim6d: Moving reusable code to common api for "show ip/ipv6 multicast" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 03:51:41 -07:00
Abhishek N R e7c01c6769 pim6d: Moving reusable code to common api for "show pim state" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 03:29:02 -07:00
Sai Gomathi N cefa37cf41 pim6d: Moving the common lines of pim_show_nexthop cli
Moving the common lines of pim_show_nexthop cli
in pim_cmd.c and pim6_cmd.c to pim_cmd_common.c file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-06-09 03:23:28 -07:00
Abhishek N R c630970866 pim6d: Moving reusable code to common api for "show pim upstream rpf" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 03:10:21 -07:00
Abhishek N R 622da92f35 pim6d: Moving reusable code to common api for "show pim upstream join desired" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 02:57:49 -07:00
Abhishek N R 9aa0569d6e pim6d: Moving reusable code to common api for "show pim upstream" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 02:40:21 -07:00
Sai Gomathi N 78b0e69073 pim6d: Moving the common lines of pim_show_neighbors_vrf_all cli
Moving the common lines of pim_show_neighbors_vrf_all cli
in pim_cmd.c and pim6_cmd.c to pim_cmd_common.c file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-06-09 02:36:08 -07:00
Abhishek N R 19296b58e4 pim6d: Moving reusable code to common api for "show pim statistics" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 01:59:58 -07:00
Sai Gomathi N 154aa4fcd4 pim6d: Moving the common lines of pim_show_neighbors cli
Moving the common lines of pim_show_neighbors cli
in pim_cmd.c and pim6_cmd.c to pim_cmd_common.c file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-06-09 01:34:06 -07:00
Abhishek N R 5e52c8d5c8 pim6d: Moving reusable code to common api for "show pim secondary" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 01:33:01 -07:00
Abhishek N R e21c4e9075 pim6d: Moving resuable code to common api for "show pim rp-info" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-09 00:49:38 -07:00
Sai Gomathi N bec5bdbe7f pim6d: Moving the common lines of pim_local_membership cli
Moving the common lines of pim_local_membership cli
in pim_cmd.c and pim6_cmd.c to pim_cmd_common.c file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-06-09 00:34:33 -07:00
Sai Gomathi N 3ca4082343 pim6d: Moving the common lines of pim_show_jp_agg cli
Moving the common lines of pim_show_jp_agg cli
in pim_cmd.c and pim6_cmd.c to pim_cmd_common.c file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-06-09 00:34:24 -07:00
Sai Gomathi N 342ba5f3bd pim6d: Moving the common lines of pim_show_interface_vrf_all cli
Moving the common lines of pim_show_interface_vrf_all cli
in pim_cmd.c and pim6_cmd.c to pim_cmd_common.c file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-06-08 23:56:17 -07:00
Sai Gomathi N 8282b98838 pim6d: Moving the common lines of pim_show_interface cli
Moving the common lines of pim_show_interface cli
in pim_cmd.c and pim6_cmd.c to pim_cmd_common.c file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-06-08 23:27:00 -07:00
Sai Gomathi N b6bf33775d pim6d: Moving the common lines of pim_show_channel cli
Moving the common lines of pim_show_channel cli
in pim_cmd.c and pim6_cmd.c to pim_cmd_common.c file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-06-08 23:25:51 -07:00
Abhishek N R 6d1bd8c28a pim6d: Moving resuable code to common api for "show pim rpf" command
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-06-08 22:49:16 -07:00
Sai Gomathi N 60940ee264 pim6d: Add 'debug pimv6 packets'
Implementing pimv6 packets debug to information about packet generation for sending
and about packet handling from a received packet.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-05-18 03:31:33 -07:00
Sai Gomathi N bf385e2653 pim6d: Add 'debug pimv6'
Implementing debug pimv6 command for PIMv6 protocol activity.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-05-17 21:43:13 -07:00
Sai Gomathi N 4e65109c7f pim6d: Add 'clear ipv6 mroute [vrf NAME] count' CLI
Adding clear ipv6 mroute count command for resetting
multicast routes and count.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-05-17 00:05:19 -07:00
Sai Gomathi N fe0c6838c5 pim6d: Adding pim_cmd_lookup api in pim_cmd_common file
Adding pim_cmd_lookup function for clear CLIs

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-05-16 22:47:04 -07:00
Sai Gomathi N 58d5712048 pimd: Moving the common functions from pim_cmd.c file
Moving the functions that are used by both IPV4 and IPV6 to a
common file pim_cmd_common.c file.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-05-16 22:47:04 -07:00
sarita patra 9726536d1d pimd: Northbound support for pim passive enable
Added nothbound callbacks for pim-passive-enable

Signed-off-by: sarita patra <saritap@vmware.com>
2022-05-12 23:51:21 -07:00
David Lamparter 993e3d8e13 pimd: un-dependency-hell pim_instance.h
This is causing build issues on BSD by including (transitively)
`linux/mroute6.h` - try to address by disentangling the headers a bunch.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-05-06 15:10:57 +02:00