| Age | Commit message (Collapse) | Author |
|
Memleak: pim_jp_agg_single_upstream_send(), static variable are not
released.
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
1. As per RFC 4601 Sec 4.5.7:
* JoinDesired(S,G) -> False, set SPTbit to false.
2. Change the debug type.
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
|
|
pimd: IGMP conformance 5.10 test case is failing
|
|
pimd: when node changes from non-DR to DR S,G entry not created
|
|
This command has been added in the context of
PIM BSM functionality. This command will clear the
data structs having bsr information.
Co-authored-by: Sarita Patra <saritap@vmware.com>
Signed-off-by: vishaldhingra <vdhingra@vmware.com>
|
|
Test case 5.10 sends leave message to unicast address, the leave
packet is accepted and a query message is sent in response to this.
No validation for address is present in the function
Add check for addresses as per RFC. Leave messages are allowed only
sent to either ALL-ROUTERS (224.0.0.2) or group address.
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
|
|
1. When a node changes from non-DR to DR in the given topology,
the node was receiving both PIM Join as well as IGMP join.
Since it was already receiving PIM Join previously, ifchannel was
already present. Hence when it becomes DR, the IGMP source flag is not
set due to issue in the code. Hence it never creates S,G entry thinking
that it is not DR.
2. When pim join expires, the pim flag is not reset when ifchannel is not
deleted.
Issue: #7752
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
|
|
pimd: correcting the definition for Mroute flag "R"
|
|
evpn-pim: cleanup and display fixes
|
|
The flag "R" in below display description denotes the
SGRpt Pruned but the description shows something else
hence correcting the definition.
R2(config)# do show ip mroute
IP Multicast Routing Table
Flags: S- Sparse, C - Connected, P - Pruned
R - RP-bit set, F - Register flag
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
|
|
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
|
|
Pim fix
|
|
Issue:
Configure msdp mesh mg1 for 2 groups.
ip msdp mesh-group mg1 member 1.1.1.1
ip msdp mesh-group mg1 member 1.1.1.2
Remove mg1 for 1.1.1.1
no ip msdp mesh-group mg1 member 1.1.1.1
mg1 for 1.1.1.1 still present. This is fixed.
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
Issue:
Configure RP.
ip pim rp 20.0.0.1 239.1.1.1/32
ip pim rp 20.0.0.1 239.1.1.2/32
Remove RP.
no ip pim rp 20.0.0.1 239.1.1.1/32
Rp is not removed. This is fixed now.
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
The pim_version.[c|h] files are never used and we are getting
warnings about PIM_VERSION changing pointer sizes from
newer versions of the compiler. I see no reason to keep this
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
|
|
pimd: (*,G) Prune processing doesn't remove SGRpt ifchannel
|
|
pim is enabled internally/implicitly on the vxlan termination device
and displaying that can confuse the admin and tools (such as
frr-reload).
Ticket: CM-30180
Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
|
|
Fix whitespace/indentation in pim_cmd.c
Signed-off-by: Mark Stapp <mjs@voltanet.io>
|
|
Fix buffer sizes to eliminate compiliation warnings.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
|
|
Signed-off-by: Mark Stapp <mjs@voltanet.io>
|
|
pimd: Fix SA issues found in Coverity Scan
|
|
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
pimd: northbound backend code
|
|
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
Memory shenanigans
|
|
If we screw up and don't have the right flags we'll print
out garbage. At the very least just print out nothing.
Signed-off-by: Donald Sharp <sharp@nvidia.com>
|
|
Buffer
|
|
pimd: checksum must be validated before accepting igmpv2 leave packet
|
|
Issue: When an IGMPv2 leave packet is received, it did not validate
the checksum and hence the packet is accepted and group specific
query is sent out in response to this.
Due to this IGMP conformance test case 6.1 failed.
https://github.com/FRRouting/frr/issues/6868
Fix: Validate the checksum for all IGMP packets
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
|
|
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
|
|
The `enum zclient_send_status` enum needs to be extended
throughout the code base to use the new states and
to fix up places where we tested against the return
value being non zero.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
|
|
ip_pim_rp
ip_pim_rp_prefix_list
no_ip_pim_rp
no_ip_pim_rp_prefix_list
module: frr-pim-rp
augment /frr-routing:routing/frr-routing:control-plane-protocols/frr-routing:control-plane-protocol/frr-pim:pim/frr-pim:address-family:
+--rw rp
+--rw static-rp
+--rw rp-list* [rp-address]
+--rw rp-address ietf-inet-types:ip-address
+--rw (group-list-or-prefix-list)?
+--:(group-list)
| +--rw group-list* ip-multicast-group-address-prefix
+--:(prefix-list)
+--rw prefix-list? plist-ref
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
pim_register_accept_list
ip_pim_mlag
no_ip_pim_mlag
Yang Model:
augment /frr-routing:routing/frr-routing:control-plane-protocols/frr-routing:control-plane-protocol:
+--rw pim
+--rw address-family* [address-family]
+--rw address-family identityref
+--rw mlag!
| +--rw peerlink-rif? frr-interface:interface-ref
| +--rw reg-address? ietf-inet-types:ip-address
| +--rw my-role? enumeration <MLAG_ROLE_NONE>
| +--rw peer-state? boolean <false>
+--rw register-accept-list? plist-ref
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
ip_msdp_peer
no_ip_msdp_peer
ip_msdp_mesh_group_member
no_ip_msdp_mesh_group_member
ip_msdp_mesh_group_source
no_ip_msdp_mesh_group_source
no_ip_msdp_mesh_group
Yang Model:
augment /frr-routing:routing/frr-routing:control-plane-protocols/frr-routing:control-plane-protocol:
+--rw pim
+--rw address-family* [address-family]
+--rw address-family identityref
+--rw msdp-mesh-group!
| +--rw mesh-group-name? string
| +--rw member-ip* ietf-inet-types:ip-address
| +--rw source-ip? ietf-inet-types:ip-address
+--rw msdp-peer* [peer-ip]
| +--rw peer-ip ietf-inet-types:ip-address
| +--rw source-ip? ietf-inet-types:ip-address
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
ip_pim_ssm_prefix_list
no_ip_pim_ssm_prefix_list
no_ip_pim_ssm_prefix_list_name
no_ip_ssmpingd
ip_ssmpingd
Yang Model:
augment /frr-routing:routing/frr-routing:control-plane-protocols/frr-routing:control-plane-protocol:
+--rw pim
+--rw address-family* [address-family]
+--rw address-family identityref
+--rw ssm-prefix-list? plist-ref
+--rw ssm-pingd-source-ip* ietf-inet-types:ip-address
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
ip_pim_v6_secondary
no_ip_pim_v6_secondary
ip_pim_spt_switchover_infinity
ip_pim_spt_switchover_infinity_plist
no_ip_pim_spt_switchover_infinity
no_ip_pim_spt_switchover_infinity_plist
Yang Model:
augment /frr-routing:routing/frr-routing:control-plane-protocols/frr-routing:control-plane-protocol:
+--rw pim
+--rw address-family* [address-family]
+--rw address-family identityref
+--rw send-v6-secondary? boolean <true>
+--rw spt-switchover
| +--rw spt-action? enumeration <PIM_SPT_IMMEDIATE>
| +--rw spt-infinity-prefix-list? plist-ref
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
ip_pim_ecmp
no_ip_pim_ecmp
ip_pim_ecmp_rebalance
no_ip_pim_ecmp_rebalance
ip_pim_rp_keep_alive
no_ip_pim_rp_keep_alive
ip_pim_keep_alive
no_ip_pim_keep_alive
Yang Model:
augment /frr-routing:routing/frr-routing:control-plane-protocols/frr-routing:control-plane-protocol:
+--rw pim
+--rw ecmp? boolean <false>
+--rw ecmp-rebalance? boolean <false>
+--rw keep-alive-timer? uint16 <210>
+--rw rp-keep-alive-timer? uint16 <210>
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
ip_pim_joinprune_time
no_ip_pim_joinprune_time
ip_pim_register_suppress
no_ip_pim_register_suppress
ip_pim_packets
no_ip_pim_packets
Yang Model:
module: frr-pim
+--rw pim
+--rw packets? uint8 <3>
+--rw join-prune-interval? uint16 <60>
+--rw register-suppress-time? uint16 <60>
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
interface_ip_pim_boundary_oil
interface_no_ip_pim_boundary_oil
interface_ip_mroute
interface_no_ip_mroute
interface_pim_use_source
interface_no_pim_use_source
Yang Model:
augment /frr-interface:lib/frr-interface:interface:
+--rw pim!
+--rw address-family* [address-family]
+--rw address-family identityref
+--rw use-source? ietf-inet-types:ip-address
+--rw multicast-boundary-oil? plist-ref
+--rw mroute* [source-addr group-addr]
+--rw oif? frr-interface:interface-ref
+--rw source-addr ietf-inet-types:ip-address
+--rw group-addr ietf-routing-types:ip-multicast-group-address
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
ip_pim_bfd
ip_pim_bfd_param
no_ip_pim_bfd
no_ip_pim_bfd_param
Yang Model:
augment /frr-interface:lib/frr-interface:interface:
+--rw pim!
+--rw bfd!
| +--rw min-rx-interval? uint16 <300>
| +--rw min-tx-interval? uint16 <300>
| +--rw detect_mult? uint8 <3>
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
interface_ip_pim_drprio
interface_no_ip_pim_drprio
interface_ip_pim_activeactive
interface_ip_pim_hello
interface_no_ip_pim_hello
ip_pim_bsm
no_ip_pim_bsm
ip_pim_ucast_bsm
no_ip_pim_ucast_bsm
Yang Model:
augment /frr-interface:lib/frr-interface:interface:
+--rw pim!
+--rw hello-interval? uint8 <30>
+--rw hello-holdtime? uint8
+--rw bsm? boolean <false>
+--rw unicast-bsm? boolean <false>
+--rw active-active? boolean <false>
+--rw dr-priority? uint32 <1>
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
interface_ip_pim_ssm
interface_ip_pim_sm
interface_ip_pim
interface_no_ip_pim_ssm
interface_no_ip_pim_sm
interface_no_ip_pim
Yang Model:
augment /frr-interface:lib/frr-interface:interface:
+--rw pim!
+--rw pim-enable? boolean <false>
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
interface_ip_igmp
interface_no_ip_igmp
interface_ip_igmp_join
interface_no_ip_igmp_join
interface_ip_igmp_query_interval
interface_no_ip_igmp_query_interval
interface_ip_igmp_version
interface_no_ip_igmp_version
interface_ip_igmp_query_max_response_time
interface_no_ip_igmp_query_max_response_time
interface_ip_igmp_query_max_response_time_dsec
interface_no_ip_igmp_query_max_response_time_dsec
interface_ip_igmp_last_member_query_count
interface_no_ip_igmp_last_member_query_count
interface_ip_igmp_last_member_query_interval
interface_no_ip_igmp_last_member_query_interval
IGMP yang tree:
module: frr-igmp
augment /frr-interface:lib/frr-interface:interface:
+--rw igmp!
+--rw igmp-enable? boolean <false>
+--rw version? uint8
+--rw query-interval? uint16 <125>
+--rw query-max-response-time? uint8 <100>
+--rw last-member-query-interval? uint8 <10>
+--rw robustness-variable? uint8 <2>
+--rw address-family* [address-family]
+--rw address-family identityref
+--rw static-group* [group-addr source-addr]
+--rw group-addr ietf-routing-types:ip-multicast-group-address
+--rw source-addr ietf-inet-types:ip-address
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
Signed-off-by: Sarita Patra <saritap@vmware.com>
|
|
problem :
=========
When (*,G) prune received where we have SGRpt state,
ifchannel goes to NO_INFO state and doesn't get removed.
Root cause :
============
During the processing of (*,G) prune, we are not removing the
ifchannel on PruneTmp or PrunePendingTmp state.
Fix :
=====
In that scenario, stop joinExpiry timer and delete the ifchannel.
issue #7347
Co-authored-by: Saravanan K <saravanank@vmware.com>
Signed-off-by: vishaldhingra <vdhingra@vmware.com>
|
|
Pretty obvious. WE R SPELL GOOD
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
|
|
pimd: Fix pim address-of-unaligned error and use of zlog_warn
|
|
Replace all lib/thread cancel macros, use thread_cancel()
everywhere. Only the THREAD_OFF macro and thread_cancel() api are
supported. Also adjust thread_cancel_async() to NULL caller's pointer (if
present).
Signed-off-by: Mark Stapp <mjs@voltanet.io>
|
|
A pim module had a number of warnings being used instead of
debugs - use debugs.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
|
|
Use inet_ntop instead of %pI4 in one place - clang doesn't like
the struct's address being taken that way.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
|