LCOV - code coverage report
Current view: top level - disco/netlink - fd_netlink_tile_private.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 0 4 0.0 %
Date: 2026-08-13 04:56:22 Functions: 0 0 -

          Line data    Source code
       1             : #ifndef HEADER_fd_src_disco_netlink_fd_netlink_tile_private_h
       2             : #define HEADER_fd_src_disco_netlink_fd_netlink_tile_private_h
       3             : 
       4             : #include "../../waltz/ip/fd_netlink1.h"
       5             : #include "../metrics/generated/fd_metrics_netlnk.h"
       6             : #include "../../waltz/mib/fd_netdev_tbl.h"
       7             : #include "../../waltz/neigh/fd_neigh4_map.h"
       8             : #include "../../waltz/neigh/fd_neigh4_probe.h"
       9             : 
      10             : /* FD_NETLINK_TILE_CTX_MAGIC uniquely identifies a fd_netlink_tile_ctx_t.
      11             :    CHange this whenever the fd_netlink_tile_ctx_t struct changes. */
      12             : 
      13           0 : #define FD_NETLINK_TILE_CTX_MAGIC (0xb86244c543ddca5fUL) /* random */
      14             : 
      15             : struct fd_netlink_tile_ctx {
      16             :   ulong magic; /* ==FD_NETLINK_TILE_CTX_MAGIC */
      17             : 
      18             :   fd_netlink_t nl_monitor[1];
      19             :   fd_netlink_t nl_req[1];
      20             : 
      21             :   /* Pending actions */
      22             :   ulong action;
      23           0 : # define FD_NET_TILE_ACTION_ROUTE4_UPDATE (1UL<<0)
      24           0 : # define FD_NET_TILE_ACTION_LINK_UPDATE   (1UL<<1)
      25           0 : # define FD_NET_TILE_ACTION_NEIGH_UPDATE  (1UL<<2)
      26             : 
      27             :   /* Rate limit link and route table changes (in ticks) */
      28             :   long update_backoff;
      29             :   long route4_update_ts;
      30             :   long link_update_ts;
      31             : 
      32             :   /* Link table (shared, seqlock protected) */
      33             :   fd_netdev_tbl_join_t netdev_tbl[1];
      34             : 
      35             :   /* Route update output */
      36             :   void * out_mem;
      37             :   ulong  out_chunk;
      38             :   ulong  out_chunk0;
      39             :   ulong  out_wmark;
      40             :   ulong  route_max;
      41             :   ulong  route_peer_max;
      42             :   ulong  dump_route_cnt[2];
      43             :   ulong  dump_peer_cnt[2];
      44             :   int    dump_overflow;
      45             :   uint   dump_table_id;
      46             :   int    dump_active;
      47             :   int    dump_advance;
      48             :   int    dump_intr;
      49             :   fd_netlink_iter_t dump_iter[1];
      50             :   uchar             dump_buf[4096];
      51             : 
      52             :   /* A netlink datagram can contain multiple messages.  Retain the
      53             :      unprocessed suffix when a route publication consumes the last
      54             :      available Stem credit. */
      55             :   uchar monitor_buf[16384];
      56             :   long  monitor_buf_sz;
      57             :   long  monitor_buf_off;
      58             : 
      59             :   /* Neighbor table */
      60             :   fd_neigh4_hmap_t neigh4[1];   /* join to global map */
      61             :   uint             neigh4_ifidx;
      62             :   long             idle_cnt;
      63             : 
      64             :   /* Neighbor table prober */
      65             :   fd_neigh4_prober_t prober[1];
      66             : 
      67             :   struct {
      68             :     ulong link_full_syncs;
      69             :     ulong route_full_syncs;
      70             :     ulong update_cnt[ FD_METRICS_COUNTER_NETLNK_UPDATE_PROCESSED_CNT ];
      71             :     ulong neigh_solicits_sent;
      72             :     ulong neigh_solicits_fails;
      73             :   } metrics;
      74             : };
      75             : 
      76             : typedef struct fd_netlink_tile_ctx fd_netlink_tile_ctx_t;
      77             : 
      78             : #endif /* HEADER_fd_src_disco_netlink_fd_netlink_tile_private_h */

Generated by: LCOV version 1.14