Donald Sharp
7344eb1f62
Merge pull request #10739 from LabNConsulting/chopps/fixgrpc-reorg
...
grpc, lib: grpc cleanup/reorg
2022-03-15 09:10:03 -04:00
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
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
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
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
Donatas Abraitis
23f60ffd52
bgpd: Remove dead code for [un]register_zebra_rnh
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-03-12 21:48:18 +02:00
Donatas Abraitis
3b3b5ab350
Merge pull request #10783 from donaldsharp/bgp_zebra_nht
...
Bgp zebra nht
2022-03-12 21:46:13 +02:00
Donald Sharp
b74f72c1fb
zebra: prefixlen is not afi/safi dependant in encoding nexthops
...
When encoding a response to the upper level protocol the
prefixlen is not something that needs to be part of the
switch statement for handling of a prefix.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-03-12 11:18:45 -05:00
Donald Sharp
06e4e90132
*: When matching against a nexthop send and process what it matched against
...
Currently the nexthop tracking code is only sending to the requestor
what it was requested to match against. When the nexthop tracking
code was simplified to not need an import check and a nexthop check
in b8210849b8
for bgpd. It was not
noticed that a longer prefix could match but it would be seen
as a match because FRR was not sending up both the resolved
route prefix and the route FRR was asked to match against.
This code change causes the nexthop tracking code to pass
back up the matched requested route (so that the calling
protocol can figure out which one it is being told about )
as well as the actual prefix that was matched to.
Fixes : #10766
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-03-12 11:18:45 -05:00
David Lamparter
30d408e6c7
Merge pull request #10781 from donaldsharp/remove_unused_function
2022-03-12 16:40:48 +01:00
Balaji Gurudoss
023d3e4af8
pim6d: pim6d socket changes
...
socket changes to support IPv6 PIM
Signed-off-by: Balaji Gurudoss <G_Balaji1@dell.com>
[DL: cleaned up & refactored a whole bunch more.]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-03-12 15:59:01 +01:00
Donald Sharp
5c7861fe35
zebra: Remove unused ZEBRA_NHT_EXACT_MATCH
...
This usage was removed in an earlier bit of code
do some final cleanup
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-03-12 08:27:22 -05:00