The code to collect the sg stats was written for linux.
Abstract the call to allow it to work on all platforms.
I have not implemented the call for non-linux systems.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
void kernel_init (struct zebra_ns *zns) { return; }
void kernel_terminate (struct zebra_ns *zns) { return; }
void route_read (struct zebra_ns *zns) { return; }
+
+int kernel_get_ipmr_sg_stats (void *m) { return 0; }
extern int kernel_del_lsp (zebra_lsp_t *);
extern int mpls_kernel_init (void);
+extern int kernel_get_ipmr_sg_stats (void *mroute);
#endif /* _ZEBRA_RT_H */
}
int
-netlink_get_ipmr_sg_stats (void *in)
+kernel_get_ipmr_sg_stats (void *in)
{
int suc = 0;
struct mcast_route_data *mr = (struct mcast_route_data *)in;
ns_id_t ns_id);
extern int netlink_route_read (struct zebra_ns *zns);
-extern int netlink_get_ipmr_sg_stats (void *mroute);
#endif /* HAVE_NETLINK */
#endif /* _ZEBRA_RT_NETLINK_H */
/* TODO */
return 0;
}
+
+extern void
+kernel_get_ipmr_sg_stats (void *mroute)
+{
+ return;
+}
#include "zebra/zserv.h"
#include "zebra/zebra_vrf.h"
#include "zebra/zebra_mroute.h"
-#include "zebra/rt_netlink.h"
+#include "zebra/rt.h"
int
zebra_ipmr_route_stats (struct zserv *client, int fd, u_short length, struct zebra_vrf *zvrf)
strcpy (sbuf, inet_ntoa (mroute.sg.src));
strcpy (gbuf, inet_ntoa (mroute.sg.grp));
- suc = netlink_get_ipmr_sg_stats (&mroute);
+ suc = kernel_get_ipmr_sg_stats (&mroute);
s = client->obuf;