diff options
| author | Donald Sharp <sharpd@cumulusnetwroks.com> | 2016-02-05 21:17:08 -0500 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-09-16 18:24:08 -0400 |
| commit | 78860b9f454804ae6026955fbe1ffa7181dd39d0 (patch) | |
| tree | 11040c4fd2a62e545ad79aeb5b7623c3c46b08b4 /zebra/interface.c | |
| parent | 2ae26387131aab068450f9fb9761f1f41c4cf4de (diff) | |
zebra: Refactor interface statistic calling
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra/interface.c')
| -rw-r--r-- | zebra/interface.c | 49 |
1 files changed, 17 insertions, 32 deletions
diff --git a/zebra/interface.c b/zebra/interface.c index 2b1e6f4ac6..af1aa08a6d 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -1255,6 +1255,19 @@ ALIAS (zebra_interface, "Interface's name\n" VRF_CMD_HELP_STR) +static void +interface_update_stats (void) +{ +#ifdef HAVE_PROC_NET_DEV + /* If system has interface statistics via proc file system, update + statistics. */ + ifstat_update_proc (); +#endif /* HAVE_PROC_NET_DEV */ +#ifdef HAVE_NET_RT_IFLIST + ifstat_update_sysctl (); +#endif /* HAVE_NET_RT_IFLIST */ +} + struct cmd_node interface_node = { INTERFACE_NODE, @@ -1300,14 +1313,7 @@ DEFUN (show_interface, show_interface_cmd, struct interface *ifp; vrf_id_t vrf_id = VRF_DEFAULT; -#ifdef HAVE_PROC_NET_DEV - /* If system has interface statistics via proc file system, update - statistics. */ - ifstat_update_proc (); -#endif /* HAVE_PROC_NET_DEV */ -#ifdef HAVE_NET_RT_IFLIST - ifstat_update_sysctl (); -#endif /* HAVE_NET_RT_IFLIST */ + interface_update_stats (); if (argc > 0) VRF_GET_ID (vrf_id, argv[0]); @@ -1337,14 +1343,7 @@ DEFUN (show_interface_vrf_all, show_interface_vrf_all_cmd, struct interface *ifp; vrf_iter_t iter; -#ifdef HAVE_PROC_NET_DEV - /* If system has interface statistics via proc file system, update - statistics. */ - ifstat_update_proc (); -#endif /* HAVE_PROC_NET_DEV */ -#ifdef HAVE_NET_RT_IFLIST - ifstat_update_sysctl (); -#endif /* HAVE_NET_RT_IFLIST */ + interface_update_stats (); /* All interface print. */ for (iter = vrf_first (); iter != VRF_ITER_INVALID; iter = vrf_next (iter)) @@ -1367,14 +1366,7 @@ DEFUN (show_interface_name_vrf, struct interface *ifp; vrf_id_t vrf_id = VRF_DEFAULT; -#ifdef HAVE_PROC_NET_DEV - /* If system has interface statistics via proc file system, update - statistics. */ - ifstat_update_proc (); -#endif /* HAVE_PROC_NET_DEV */ -#ifdef HAVE_NET_RT_IFLIST - ifstat_update_sysctl (); -#endif /* HAVE_NET_RT_IFLIST */ + interface_update_stats (); if (argc > 1) VRF_GET_ID (vrf_id, argv[1]); @@ -1404,14 +1396,7 @@ DEFUN (show_interface_name_vrf_all, show_interface_name_vrf_all_cmd, vrf_iter_t iter; int found = 0; -#ifdef HAVE_PROC_NET_DEV - /* If system has interface statistics via proc file system, update - statistics. */ - ifstat_update_proc (); -#endif /* HAVE_PROC_NET_DEV */ -#ifdef HAVE_NET_RT_IFLIST - ifstat_update_sysctl (); -#endif /* HAVE_NET_RT_IFLIST */ + interface_update_stats (); /* All interface print. */ for (iter = vrf_first (); iter != VRF_ITER_INVALID; iter = vrf_next (iter)) |
