Update the READMEs, and give example of a full parallel topotest run with
result extraction for analyze.py
Signed-off-by: Christian Hopps <chopps@labn.net>
When shutting down the main pthread was first closing
the sockets associated with the dplane pthread and
then telling it to shutdown the pthread at a later point
in time. This caused the dplane to crash because the nl
data has been freed already. Change the shutdown order
to stop the dplane pthread *and* then close the sockets.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This is a good way to run a per-test background helper process. Here the
helper object is created before the test function requesting it (through param
name match), and then cleaned up after the test function exits (pass or failed).
A context manager is used to further guarantee the cleanup is done.
Signed-off-by: Christian Hopps <chopps@labn.net>
- Remove use of bespoke socat
- Use ipv6 support in mcast-tester.py
- do not run processes in the background behind munet/micronet's
back with `&` (ever) -- use popen or the helper class
Signed-off-by: Christian Hopps <chopps@labn.net>
Problem:
-------
The cli "show ipv6 pim state" is not displaying when outgoing
interface list is empty.
This is fixed now.
Before Fix:
----------
frr# show ipv6 pim state json
{
"ffaa::5":{
"1100::10":{
"ens224":{
},
"installed":1,
"isRpt":false,
"refCount":1,
"oilListSize":0,
"oilRescan":0,
"lastUsed":0,
"packetCount":40,
"byteCount":3080,
"wrongInterface":1
}
}
}
frr# show 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
After fix:
---------
Case 1:
- "show ipv6 pim state" output for 1 mroute with 1 oil.
frr# show 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
1 1100::10 ffaa::5 n ens224 ens256( J )
Case 2:
- "show ipv6 pim state" output for 1 mroute with multiple oil.
frr# show 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
1 1100::10 ffaa::5 n ens224 ens192( J )
ens256( J )
Case 3:
- "show ipv6 pim state" output for 1 mroute with no oil
frr# show 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
1 1100::10 ffaa::5 n ens224
Case 4:
- "show ipv6 pim state" output for multiple mroute with multiple oil
frr# show 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
1 * ff05::2 y ens224 pim6reg(I )
ens192(I )
1 * ffaa::5 y ens224 pim6reg(I )
ens192(I )
Issue: #13070
Signed-off-by: Sarita Patra <saritap@vmware.com>
The vrf name should be separated when it is displayed. And remove
unnecessary space after number.
Before:
```
pim_upstream_sg_running: (100.100.1.100,232.100.100.100)x is not installed in mroute
pim_upstream_del(pim_ifchannel_delete): Delete (100.100.1.100,232.100.100.100)[x] ref count: 1 , flags: 1048585 c_oil ref count 2 (Pre decrement)
```
After:
```
pim_upstream_sg_running: (100.100.1.100,232.100.100.100)[x] is not installed in mroute
pim_upstream_del(pim_ifchannel_delete): Delete (100.100.1.100,232.100.100.100)[x] ref count: 1, flags: 1048585 c_oil ref count 2 (Pre decrement)
```
Signed-off-by: anlan_cs <vic.lan@pica8.com>
When using `addpath-tx-all` BGP announces all known paths instead of announcing
only an arbitrary number of best paths.
With this new command we can send N best paths to the neighbor. That means, we
send the best path, then send the second best path excluding the previous one,
and so on. In other words, we run best path selection algorithm N times before
we finish.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Consider LHR in `SSM` case, and its `oif` goes from up to down.
As the `oif` changes down, the `channel_oil` is still wrongly reserved
with `PIM_OIF_FLAG_PROTO_STAR` protocol.
The mechanism of adding `STAR` protocol for <S,G> entry without `oif`
is introduced by commit `2164ed5`, which should be only used for ASM.
PR #13699 wants to clean this `STAR` protocol after the `oif` becomes up
again. That case is for SSM, as the `oif` changes down, the `channel_oil`
should be removed, so the fix of that PR is wrong.
In `pim_ifchannel_delete()` we should check the `ch->parent` before that
mechanism of adding `STAR` protocol. If `ch->parent` is NULL, we should
skip that mechanism with SSM.
Fixes#13696
Signed-off-by: anlan_cs <vic.lan@pica8.com>
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>
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>
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>
I believe coverity can't tell the length of the return value from strftime based
on the format string (like we can), so it allows `n` to be larger than it could
be which then allows `sz - n` to be negative which is size_t positive and very
large so it thinks an overrun is possible.
CID#1563211
Signed-off-by: Christian Hopps <chopps@labn.net>
Looks like people don't find what does it mean (Policy) at first shot, let's
try giving more hints here.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>