Donald Sharp
d09a7c82c9
Merge pull request #10565 from lyq140/patch-thread
...
lib: not thread off when schedule
2022-03-15 08:40:41 -04:00
Donatas Abraitis
baa57b7282
Merge pull request #10583 from donaldsharp/pim_upstream_timers
...
pimd: Ensure timers are stopped on instance shutdown
2022-03-15 14:35:30 +02:00
Donald Sharp
052b0eee2a
Merge pull request #10693 from anlancs/bgpd-add-check-ns
...
zebra: use "assert" instead of unnecessary check
2022-03-15 08:27:44 -04:00
Donatas Abraitis
3e5d8665f6
pimd: Add additional IGMP stats (peak number of groups)
...
```
exit1-debian-11# sh ip igmp statistics interface eth2
IGMP statistics
Interface : eth2
V1 query : 0
V2 query : 0
V3 query : 25
V2 leave : 0
V1 report : 0
V2 report : 0
V3 report : 34
mtrace response : 0
mtrace request : 0
unsupported : 0
joins failed : 0
joins sent : 13
general queries sent : 2
group queries sent : 24
peak groups : 9
total groups : 4
total source groups : 1
exit1-debian-11# sh ip igmp statistics interface eth2 json
{
"eth2":{
"name":"eth2",
"queryV1":0,
"queryV2":0,
"queryV3":25,
"leaveV2":0,
"reportV1":0,
"reportV2":0,
"reportV3":34,
"mtraceResponse":0,
"mtraceRequest":0,
"unsupported":0,
"peakGroups":9,
"totalGroups":4,
"totalSourceGroups":1,
"joinsFailed":0,
"joinsSent":13,
"generalQueriesSent":2,
"groupQueriesSent":24
}
}
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-03-15 14:08:35 +02:00
Donald Sharp
cde5655bf4
Merge pull request #10793 from opensourcerouting/feature/igmp_stats_total_received_messages
...
pimd: Show total received messages IGMP stats
2022-03-15 07:56:00 -04:00
Donald Sharp
6ec6186af9
Merge pull request #10012 from AbhishekNR/upstream
...
pimd : Handling of Exclude mode IGMPv3 report messages for SSM aware group.
2022-03-15 07:54:04 -04:00
Abhishek N R
5795b17cc3
pim6d: Adding "ipv6 mld query-interval" CLI
...
Adding the Interface level config command
ipv6 mld query-interval <1-65535>
This command can be use to tune the timing for the general queries sent by the querier.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-03-14 23:11:21 -07:00
Abhishek N R
47d4af36d8
pim6d: Adding "ipv6 mld version" CLI
...
Adding the Interface level config command
ipv6 mld version <1-2>
This command can be use to configure MLD version on the interface.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-03-14 23:11:14 -07:00
Abhishek N R
eaa7d656bb
pim6d: Adding "ipv6 mld" CLI
...
Adding the Interface level config command
ipv6 mld
To enable MLD on the interface.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-03-14 23:10:41 -07:00
Abhishek N R
fe2df4f7ba
pim6d: Adding "ipv6 mld join" CLI
...
Adding the Interface level config command
ipv6 mld join
This command can be used to configure the static MLD join
for IPv6 group addresses on the interfaces.
Signed-off-by: Abhishek N R <abnr@vmware.com>
2022-03-14 23:00:38 -07:00
Kuldeep Kashyap
cbeda33d01
tests: Adding EVPN-GR scenario to evpn_type5 suite
...
1. Adding EVPN-GR scenario to evpn_type5 suite
Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2022-03-15 07:10:18 +05:30
Donatas Abraitis
ca3e7807f6
pimd: Show total received messages IGMP stats
...
```
exit1-debian-11# do sh ip igmp statistics
IGMP statistics
Interface : global
V1 query : 0
V2 query : 0
V3 query : 3
V2 leave : 0
V1 report : 0
V2 report : 0
V3 report : 18
mtrace response : 0
mtrace request : 0
unsupported : 0
total received messages : 21
joins failed : 0
joins sent : 16
general queries sent : 6
group queries sent : 3
total groups : 4
total source groups : 1
exit1-debian-11# do sh ip igmp statistics json
{
"global":{
"name":"global",
"queryV1":0,
"queryV2":0,
"queryV3":4,
"leaveV2":0,
"reportV1":0,
"reportV2":0,
"reportV3":18,
"mtraceResponse":0,
"mtraceRequest":0,
"unsupported":0,
"totalReceivedMessage":22,
"totalGroups":3,
"totalSourceGroups":1,
"joinsFailed":0,
"joinsSent":16,
"generalQueriesSent":6,
"groupQueriesSent":4
}
}
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-03-14 22:49:23 +02:00
Christian Hopps
48c93061f5
lib: grpc: rework RPC handlers improve code clarity
...
- split NewRpcState object into 2, a Unary and a Streaming variant, which
then allows for the next.
- move all state machine details inside these new state objects
- use a template arg to allow for Streaming state tracking object
creation and deletion w/o requiring this in each specific RPC
hander.
- Code is more rugged by design now.
Thanks to Rafael Zalamena <rzalamena@opensourcerouting.org> for the cleanup
ideas/motivation.
Signed-off-by: Christian Hopps <chopps@labn.net>
2022-03-14 15:54:25 -04:00
Donald Sharp
1aa3f6b199
pimd: A wrong address family means the register-stop receive fails
...
The current code in pim_register_stop_recv would never fail as
that the code was always returning 0 in all cases, but
if the code parses an incorrect afi then it has failed and
should return as much
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-03-14 15:52:37 -04:00
saravanank
03f9d812f9
pimd: FRR-PIM sending register packet even after receiving (*,G) register stop
...
RCA: (*,G) register stop was not handled
Fix: Loop through all (S,G) under the (*,G) and apply reg stop
Authored-by- Saravanan K <saravanank@vmware.com>
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2022-03-14 15:48:07 -04:00
Donald Sharp
341e1d6e0a
Merge pull request #10738 from LabNConsulting/chopps/fixgrpc
...
fixes for grpc module
2022-03-14 14:57:59 -04:00
Christian Hopps
d3074a5207
lib: grpc: use candiate ID to delete rather than pointer to candiate
...
- also be consistent in candidate IDs being uint64_t
Signed-off-by: Christian Hopps <chopps@labn.net>
2022-03-14 11:14:12 -04:00
Rafael Zalamena
79c681952e
lib: call protobuf clean up on exit
...
Let's clean up the valgrind output even more by calling the protobuf
shutdown function that deallocates all library used memory.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2022-03-14 11:14:12 -04:00
Christian Hopps
e00241ad9f
tests: new grpc topotest
...
Signed-off-by: Christian Hopps <chopps@labn.net>
2022-03-14 11:14:12 -04:00
Christian Hopps
3f264d54f9
tests: analyze should also check /tmp/topotests/topotests.xml
...
Signed-off-by: Christian Hopps <chopps@labn.net>
2022-03-14 11:14:12 -04:00
Christian Hopps
c451c0296c
tests: lib: fix grpc unit-test
...
Signed-off-by: Christian Hopps <chopps@labn.net>
2022-03-14 11:14:12 -04:00
Donald Sharp
7a382e16e6
Merge pull request #10786 from opensourcerouting/pim6-pim-prep
...
pim6d: prepare for sending & receiving actual PIM packets
2022-03-14 09:35:37 -04:00
Donald Sharp
2283482882
Merge pull request #10788 from opensourcerouting/feature/igmp_stats_queries_sent
...
pimd: Add additional IGMP stats (generic/group specific queries sent)
2022-03-14 08:28:29 -04:00
Donald Sharp
6c72dd869e
Merge pull request #10725 from opensourcerouting/zebra-fpm-crash-fix
...
zebra: don't enqueue data with FPM socket closed
2022-03-14 08:27:10 -04:00
Donatas Abraitis
a9321141fc
Merge pull request #10731 from donaldsharp/multipath_output_in_zebra
...
zebra: Multipath output
2022-03-14 13:38:08 +02:00
Rafael Zalamena
3b1caddd34
zebra: don't enqueue data with FPM socket closed
...
It will trigger an assert while trying to schedule the next write.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2022-03-14 07:14:36 -03:00
Donatas Abraitis
278912eabf
pimd: Add additional IGMP stats (generic/group specific queries sent)
...
```
exit1-debian-11# sh ip igmp statistics
IGMP statistics
Interface : global
V1 query : 0
V2 query : 0
V3 query : 6
V2 leave : 0
V1 report : 0
V2 report : 0
V3 report : 14
mtrace response : 0
mtrace request : 0
unsupported : 0
joins failed : 0
joins sent : 16
general queries sent : 6
group queries sent : 4
total groups : 5
total source groups : 1
exit1-debian-11# sh ip igmp statistics json
{
"global":{
"name":"global",
"queryV1":0,
"queryV2":0,
"queryV3":6,
"leaveV2":0,
"reportV1":0,
"reportV2":0,
"reportV3":18,
"mtraceResponse":0,
"mtraceRequest":0,
"unsupported":0,
"totalGroups":5,
"totalSourceGroups":1,
"joinsFailed":0,
"joinsSent":16,
"generalQueriesSent":6,
"groupQueriesSent":4
}
}
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-03-14 10:50:28 +02:00
Donatas Abraitis
7665a2e1cd
pimd: Fix indentation for struct igmp_stats
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-03-14 09:24:49 +02:00
Donald Sharp
7baebfb715
Merge pull request #10447 from ton31337/fix/json_with_whitespaces
...
*: Fix JSON keys with whitespaces and PascalCase
2022-03-13 18:19:33 -04:00
Donald Sharp
964240dab9
Merge pull request #10768 from opensourcerouting/feature/add_join_stats_per_interface_for_igmp
...
pimd: Add IGMP join sent/failed statistics
2022-03-13 18:17:57 -04:00
Donatas Abraitis
f2058cb425
pimd: Add IGMP join sent/failed statistics
...
```
exit1-debian-11# sh ip igmp statistics
IGMP statistics
Interface : global
V1 query : 0
V2 query : 0
V3 query : 0
V2 leave : 0
V1 report : 0
V2 report : 0
V3 report : 16
mtrace response : 0
mtrace request : 0
unsupported : 0
joins failed : 0
joins sent : 11
total groups : 4
total source groups : 0
exit1-debian-11# sh ip igmp statistics json
{
"global":{
"name":"global",
"queryV1":0,
"queryV2":0,
"queryV3":0,
"leaveV3":0,
"reportV1":0,
"reportV2":0,
"reportV3":16,
"mtraceResponse":0,
"mtraceRequest":0,
"unsupported":0,
"totalGroups":4,
"totalSourceGroups":0,
"joinsFailed":0,
"joinsSent":11
}
}
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-03-13 19:31:34 +02:00
Donald Sharp
7547d5288e
Merge pull request #10704 from anlancs/zebra-remove-check
...
zebra: Remove unnecessary check
2022-03-13 10:17:13 -04:00
Donald Sharp
804013b1f9
Merge pull request #10724 from opensourcerouting/lib-rotate-logs
...
lib: rotate log file supplied by command line
2022-03-13 10:09:48 -04:00
David Lamparter
32addf8f7a
Merge pull request #10716 from donaldsharp/routemap_rbtree_nonuniq
2022-03-13 15:08:36 +01:00
Donald Sharp
baf7afa223
Merge pull request #10729 from scop/build/include-frr@-in-deb
...
debian: include frr@.service in deb
2022-03-13 10:04:42 -04:00
Donald Sharp
6ea4244514
Merge pull request #10399 from g-balaji1/pimv6-sock
...
pim6d: PIMv6 socket related changes
2022-03-13 10:03:45 -04:00
Donald Sharp
3e553c80ba
Merge pull request #10779 from opensourcerouting/typesafe-backflip
...
lib: typesafe container reverse iterators
2022-03-13 09:26:26 -04:00
Donald Sharp
a0cd0ce4a8
Merge pull request #10772 from opensourcerouting/pim6-mld-prep
...
pim6d: address management & MLD preparation
2022-03-13 09:09:09 -04:00
Donald Sharp
b22c93996e
Merge pull request #10785 from ton31337/fix/remove_dead_code
...
bgpd: Remove dead code for [un]register_zebra_rnh
2022-03-12 19:40:52 -05:00
David Lamparter
ccc3ccd38c
pim6d: decode IPv6 source addresses
...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-03-12 22:57:34 +01:00
David Lamparter
042a754146
pim6d: encode PIM joins correctly
...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-03-12 22:57:34 +01:00
David Lamparter
334326ed39
pim6d: reenable pim_init()
...
... so we have `qpim_all_pim_routers_addr` initialized.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-03-12 22:57:34 +01:00
David Lamparter
185754fe7c
pimd: be more informative about missing neighbors
...
Much more useful to know what we were trying to find a neighbor for.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-03-12 22:57:28 +01:00
David Lamparter
516b97fe4d
pimd: log interface name for send errors
...
Not very helpful to be told only the fd number.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-03-12 22:57:17 +01:00
David Lamparter
97feb13f0f
pim6d: reenable address management code
...
A few more pieces that should now work reasonably well for IPv6.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-03-12 22:47:13 +01:00
David Lamparter
cfef61553f
pim6d: rework interface address tracking/selection
...
We only care about link-local addresses for IPv6 operation. Also, MLD
needs the lowest while PIM needs the highest...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-03-12 22:47:13 +01:00
David Lamparter
cd6d285855
pimd: refactor/split IGMP integration
...
Try to untangle some spaghetti...
This is an 1:1 change that should not result in any functional
difference.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-03-12 22:47:08 +01:00
David Lamparter
d6890c49b2
pimd: add safety check to OIL add/del
...
These will corrupt memory if mroute_vif_index is -1 (e.g. interface not
operating.) That shouldn't happen, but it does while doing development
work, so trip an assert rather than corrupting memory.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-03-12 22:47:08 +01:00
Donald Sharp
e576475723
Merge pull request #10744 from opensourcerouting/igmp-json-leave-typo
...
pimd: fix typo in IGMP interface statistics JSON output.
2022-03-12 16:09:58 -05:00
Donald Sharp
d7ffe67b0c
Merge pull request #10746 from ton31337/feature/show_group_type_under_rp_info_cli
...
pimd: Show group-type under `show ip pim rp-info`
2022-03-12 15:28:28 -05:00