bgpd: Add tracepoints for bgp_dest_lock_node/bgp_dest_unlock_node
static inline functions cannot be probed, let's add USDT.
This will help catching memory leaks regarding lock/unlock in the future,
I believe.
```
global locks;
probe begin
{
ansi_clear_screen();
println("Starting...");
}
probe process("/usr/lib/frr/bgpd").mark("bgp_dest_lock")
{
prefix = @cast($arg1, "bgp_node")->p->u->val;
locks[prefix]++;
printf("---> %s %d (lock count: %d)\n", probefunc(),
prefix, @cast($arg1, "bgp_node")->lock);
}
probe process("/usr/lib/frr/bgpd").mark("bgp_dest_unlock")
{
prefix = @cast($arg1, "bgp_node")->p->u->val;
if (locks[prefix] > 0) {
locks[prefix]--;
}
printf("<--- %s %d (lock count: %d)\n", probefunc(),
prefix, @cast($arg1, "bgp_node")->lock);
}
```
Some outputs:
```
<--- adj_free
94283113939304 (lock count: 2)
<--- adj_free
94283114099240 (lock count: 3)
<--- adj_free
94283114099752 (lock count: 3)
---> bgp_clear_route_table
94283113936008 (lock count: 4)
---> bgp_clear_route_table
94283113932664 (lock count: 4)
---> bgp_clear_route_table
94283114099240 (lock count: 3)
---> bgp_clear_route_table
94283114099752 (lock count: 3)
<--- adj_free
94283113795608 (lock count: 2)
<--- adj_free
94283113797112 (lock count: 2)
<--- adj_free
94283113796456 (lock count: 2)
---> bgp_clear_route_table
94283113936008 (lock count: 5)
---> bgp_clear_route_table
94283113932664 (lock count: 5)
---> bgp_clear_route_table
94283114099240 (lock count: 4)
---> bgp_clear_route_table
94283114099752 (lock count: 4)
---> bgp_process
94283113936008 (lock count: 5)
<--- bgp_clear_node_queue_del
94283113936008 (lock count: 6)
---> bgp_process
94283113932664 (lock count: 5)
<--- bgp_clear_node_queue_del
94283113932664 (lock count: 6)
---> bgp_process
94283114099240 (lock count: 4)
<--- bgp_clear_node_queue_del
94283114099240 (lock count: 5)
---> bgp_process
94283114099752 (lock count: 4)
<--- bgp_clear_node_queue_del
94283114099752 (lock count: 5)
<--- bgp_clear_node_queue_del
94283113936008 (lock count: 5)
<--- bgp_clear_node_queue_del
94283113932664 (lock count: 5)
<--- bgp_clear_node_queue_del
94283114099240 (lock count: 4)
<--- bgp_clear_node_queue_del
94283114099752 (lock count: 4)
<--- bgp_path_info_reap
94283113936008 (lock count: 4)
<--- bgp_path_info_reap
94283113936008 (lock count: 3)
```
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>