Commit Graph

29152 Commits

Author SHA1 Message Date
Donatas Abraitis
e1a05dd410 bgpd: Return enum RPKI_NOT_BEING_USED instead of 0
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-04-06 10:35:37 +03:00
Donatas Abraitis
9ca44fc8ef bgpd: Reuse is_stopping() in RPKI code same as with is_running()
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-04-06 10:35:37 +03:00
Donatas Abraitis
01fcc18982 bgpd: Reuse is_running() function in RPKI code for rtr_is_running
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-04-06 10:35:37 +03:00
Donatas Abraitis
cb48ec5fa1
Merge pull request #10973 from mobash-rasool/fixes
pimd: Remove pim_channel_oil_change_iif from header file
2022-04-06 10:32:02 +03:00
Mobashshera Rasool
969e751921 pimd: Remove pim_channel_oil_change_iif from header file
pim_channel_oil_change_iif is sitting idly in .h file with no
definition.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-04-05 21:54:01 -07:00
Nobuhiro MIKI
1c21a23453 bgpd: refactor type of srv6_locator_chunks list
Since additional information such as block_bits_length is needed to
generate SIDs properly, the type of elements in srv6_locator_chunks
list is extended from "struct prefix_ipv6 *" to
"struct srv6_locator_chunk *". Even in terms of variable name,
"struct srv6_locator_chunk *" is appropriate.

Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
2022-04-06 13:40:14 +09:00
mobash-rasool
25ddb686ca
Merge pull request #10965 from opensourcerouting/fix/pim_igmp_group_delete
pimd: Replace ALL_LIST_ELEMENTS_RO to ALL_LIST_ELEMENTS group_list it…
2022-04-06 04:07:30 +05:30
Donald Sharp
c416dd8298
Merge pull request #10966 from opensourcerouting/fix/memory_leak_rpki
bgpd: RPKI changes
2022-04-05 18:27:52 -04:00
David Lamparter
8996a815b5
Merge pull request #10365 from SaiGomathiN/ipv6-config-cmd 2022-04-05 21:07:15 +02:00
Russ White
9fc31ddbd5
Merge pull request #10849 from anlancs/bgpd-cleanup-2
bgpd: remove unnecessary checkings for bgp_evpn_es_new()
2022-04-05 11:40:12 -04:00
Russ White
3e66928ba7
Merge pull request #10968 from opensourcerouting/fix/gr_ordering
bgpd: Use proper debug msg for graceful restart commands
2022-04-05 10:20:15 -04:00
Donald Sharp
2c38c8ad35
Merge pull request #10928 from anlancs/zebra-cleanup-1
zebra: use "assert" instead of unnecessary check
2022-04-05 09:49:00 -04:00
Donald Sharp
0e3aad23de
Merge pull request #10940 from opensourcerouting/pim-5549-clarify
pimd: clarify RFC5549 nexthop handling (& fix for pim6d)
2022-04-05 09:43:39 -04:00
Donald Sharp
95e6a352d8
Merge pull request #10959 from patrasar/pim_coverity
pimd: Fixing pim coverity issues
2022-04-05 09:38:42 -04:00
Russ White
977405eeac
Merge pull request #10938 from anlancs/fix-zebra-vxlan-change-vrfid
zebra: fix missing vrf change of l2vni on vxlan interface
2022-04-05 08:55:42 -04:00
Russ White
563b609cbc
Merge pull request #10948 from anlancs/bgpd-cleanup-4
bgpd : use "assert" for one check on evpn-mh
2022-04-05 08:54:00 -04:00
Donatas Abraitis
b6e410f7ed bgpd: Use proper debug msg for graceful restart commands
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-04-05 13:57:35 +03:00
mobash-rasool
37cfc612fc
Merge pull request #10960 from opensourcerouting/pim-unmacro-1
pimd: remove useless PIM_IF_* macros
2022-04-05 15:17:25 +05:30
Donatas Abraitis
c41a3cc528 bgpd: No need to check for NULL before calling XFREE() in RPKI code
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-04-05 11:14:34 +03:00
Donatas Abraitis
94ff78a7e3 bgpd: Track RTRLib memory allocations separately
With fast `rpki reset`, seems that RTRLib related memory allocations leak
the memory. Need to figure this out later.

```
$ vtysh -c 'show memory | include RPKI'
BGP RPKI Cache server         :       12 variable       576       12       576
BGP RPKI Cache server group   :        0     48           0        1        56
BGP RPKI RTRLib               :   849657 variable  34453096   849662  41293504

$ for x in $(seq 1 60); do vtysh -c 'con' -c 'rpki' -c 'rpki reset'; sleep 1; done

$ vtysh -c 'show memory | include RPKI'
BGP RPKI Cache server         :       12 variable       576       12       576
BGP RPKI Cache server group   :        0     48           0        1        56
BGP RPKI RTRLib               :   849699 variable  69490616   849701  76323832
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-04-05 11:14:34 +03:00
Donatas Abraitis
5c13cb9dc5 pimd: Replace ALL_LIST_ELEMENTS_RO to ALL_LIST_ELEMENTS group_list iteration
To reproduce:
```
ip pim ssm prefix-list pim-ssm-group
ip prefix-list pim-ssm-group seq 10 permit 238.4.0.0/16 ge 32 le 32
```

Assert:
```
pimd[645545]: pimd/pim_igmp.c:148: igmp_source_forward_reevaluate_all(): assertion ((srcnode)->data != NULL) failed
PIM[645545]: Received signal 6 at 1649140750 (si_addr 0x6e0009d9a9, PC 0x7fe5e3f95ce1); aborting...
PIM[645545]: /usr/local/lib/libfrr.so.0(zlog_backtrace_sigsafe+0x5e) [0x7fe5e41f2d7e]
PIM[645545]: /usr/local/lib/libfrr.so.0(zlog_signal+0xe6) [0x7fe5e41f2f56]
PIM[645545]: /usr/local/lib/libfrr.so.0(+0xc9412) [0x7fe5e421d412]
PIM[645545]: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7fe5e4133140]
PIM[645545]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x141) [0x7fe5e3f95ce1]
PIM[645545]: /lib/x86_64-linux-gnu/libc.so.6(abort+0x123) [0x7fe5e3f7f537]
PIM[645545]: /usr/local/lib/libfrr.so.0(_zlog_assert_failed+0xd7) [0x7fe5e4246c37]
PIM[645545]: /usr/lib/frr/pimd(igmp_source_forward_reevaluate_all+0x230) [0x5638c65e3d90]
PIM[645545]: /usr/lib/frr/pimd(pim_prefix_list_update+0x53) [0x5638c65cbbf3]
PIM[645545]: /usr/local/lib/libfrr.so.0(prefix_list_entry_update_start+0x82) [0x7fe5e420a0a2]
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-04-05 10:48:56 +03:00
Sai Gomathi N
1881b5c0ca pim6d: Adding ipv6 mld watermark-warn CLI
Adding the config mode command

ipv6 mld watermark-warn <1-65535>
This command can be use to warn the user
when more than the desired limit of groups gets configured.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-05 00:00:10 -07:00
Sai Gomathi N
25e1db4246 pimd: Moving the common function from pim_cmd.h file
Moving the PIM_DECLVAR_CONTEXT function to the
common file pim_cmd_common.h file

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-05 00:00:10 -07:00
Sai Gomathi N
e7ec758dff pim6d: Adding "ipv6 mld last-member-query-interval" CLI
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-05 00:00:10 -07:00
Sai Gomathi N
c889adcb26 pim6d: Adding ipv6 mld last-member-query-count CLI
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-05 00:00:10 -07:00
Sai Gomathi N
c8b3d45de2 pim6d: Adding "ipv6 mld query-max-response-time" CLI
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-05 00:00:01 -07:00
Donatas Abraitis
4e35ece397
Merge pull request #10953 from leonshaw/fix/bgp-rm-leak
bgpd: Fix memory leak in subgroup_announce_check
2022-04-05 09:09:35 +03:00
Jafar Al-Gharaibeh
eeeed628a3
Merge pull request #10946 from donaldsharp/pim_fhr_lhr_same_pimreg
pimd: Send immediate join( with possible SG RPT prune bit set
2022-04-04 14:00:49 -05:00
David Lamparter
3f115705d3 build: enable -fms-extensions
This eases incorporating fields from/"subclassing" another struct.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-04-04 18:33:10 +02:00
David Lamparter
5b4f4e626f build: first header *must* be zebra.h or config.h
This has already been a requirement for Solaris, it is still a
requirement for some of the autoconf feature checks to work correctly,
and it will be a requirement for `-fms-extensions`.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-04-04 18:33:10 +02:00
David Lamparter
f11bc92554 pim6d: fix mis-printed nexthop
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-04-04 14:48:54 +02:00
David Lamparter
c13a82352b pimd, pim6d: clarify RFC5549 MRIB nexthop handling
The entire `case NEXTHOP_TYPE_IPV6_IFINDEX:` block here was a bit of a
tripwire to stumble over, since there was no indication at all that this
concerns RFC5549 nexthop handling.  So it got mis-adapted for PIM IPv6
support.

Clarify this a whole bunch that this is for v4-over-v6 nexthop mangling,
and nothing else.

This should really also use neighbor's secondary address lists for the
lookup, but that is probably going to break compatibility with other
boxes that don't include v6 addrs in v4 hellos and needs further
machinery to do properly, so for now just leave a breadcrumb.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-04-04 14:48:54 +02:00
David Lamparter
92d930ede5
Merge pull request #10710 from SaiGomathiN/pimv6-showcli 2022-04-04 14:42:27 +02:00
sarita patra
75a5ac751a pimd: fix pim_instance NULL deference in zclient_lookup_read_pipe
Fixing the below coverity issue.
>>>     CID 1515546:  Null pointer dereferences  (NULL_RETURNS)
>>>     Dereferencing a pointer that might be "NULL" "pim" when calling "zclient_lookup_nexthop_once".
391             zclient_lookup_nexthop_once(pim, nexthop_tab, 10, l);

Signed-off-by: sarita patra <saritap@vmware.com>
2022-04-04 05:27:59 -07:00
sarita patra
e2067d591b pimd: fix pim_instance NULL deference in pim_zebra_if_address_add
Signed-off-by: sarita patra <saritap@vmware.com>
2022-04-04 05:27:59 -07:00
sarita patra
e2116917e5 pimd: fix pim_instance NULL deference in pim_vxlan_mlag_update
Fixing the below coverity issue.
>>>     CID 1515545:    (NULL_RETURNS)
>>>     Dereferencing a pointer that might be "NULL" "pim" when calling "pim_vxlan_set_peerlink_rif".
902                     pim_vxlan_set_peerlink_rif(pim, NULL);

Signed-off-by: sarita patra <saritap@vmware.com>
2022-04-04 05:27:57 -07:00
David Lamparter
b6fcc0b7a6 pimd: remove useless PIM_IF_* macros
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-04-04 14:11:29 +02:00
Sai Gomathi N
9d6d027011 pim6d: Adding show ipv6 pim nexthop and nexthop-lookup commands
Adding new show commands to display pim nexthops and
pim nexthop lookups received from zebra.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-04 00:52:03 -07:00
Sai Gomathi N
1295dbebe8 pim6d: Adding "show ipv6 [vrf|vrf ALL] pim neighbor" command
Adding new show CLI to display regarding pim neighbors.
Changing DEFUN to DEFPY for "show ip pim neighbor" command.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-04 00:52:03 -07:00
Sai Gomathi N
de11054ed0 pim6d: Adding "show ipv6 pim local-membership"
Adding the new cli to display pim local membership information.
Changing DEFUN to DEPFY for "show ip pim local-membership"

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-04 00:52:03 -07:00
Sai Gomathi N
be2232396a pim6d: Adding "show ipv6 pim jp-agg" command
Adding new show CLI to display pim join prune aggregate information.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-04 00:52:03 -07:00
Sai Gomathi N
24de75a254 pim6d: Adding "show ipv6 pim [vrf|vrf all] join" command
Adding show ipv6 pim join and show ipv6 pim vrf all join
CLIs to display pim join related information and
formatted the json output for "show ip pim join" and
"show ip pim vrf all join" commands.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-04 00:52:02 -07:00
Sai Gomathi N
44f99d2232 pim6d: Adding "show ipv6 pim [vrf|vrf all] interface" command
Adding show ipv6 pim interface and show ipv6 pim vrf all interface
CLIs to display pim enabled interface informations and
formatted the json output for "show ip pim interface" and
"show ip pim vrf all interface" commands.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-04 00:52:02 -07:00
Sai Gomathi N
bf083b3a66 pim6d: Adding "show ipv6 pim channel" command
Adding new CLI to display pim channel informations.
Changing DEFUN to DEPFY for ""show ip pim channel"

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
2022-04-04 00:52:02 -07:00
Sai Gomathi N
e2b601e8e1 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-04-04 00:52:02 -07:00
Donatas Abraitis
96322c148b
Merge pull request #10831 from anlancs/doc-mh-esi-type0
doc: add mh type-0 ESI support
2022-04-04 08:47:01 +03:00
Jafar Al-Gharaibeh
a46dd803b6
Merge pull request #10954 from donaldsharp/speell
Speell
2022-04-02 19:08:30 -05:00
Donald Sharp
94202742fb lib, yang: Fix spellinig of miliseconds
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-04-02 07:48:18 -04:00
Donald Sharp
61879cab13 *: Fix spelling of Inteface
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-04-02 07:46:19 -04:00
Donald Sharp
581776faa1 *: Fix spelling of ojbect
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-04-02 07:46:19 -04:00