diff options
Diffstat (limited to 'src/plugins/linux-cp/lcp.c')
-rw-r--r-- | src/plugins/linux-cp/lcp.c | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/src/plugins/linux-cp/lcp.c b/src/plugins/linux-cp/lcp.c index a4d3faf081a..34e8550a13f 100644 --- a/src/plugins/linux-cp/lcp.c +++ b/src/plugins/linux-cp/lcp.c @@ -20,6 +20,7 @@ #include <net/if.h> #include <plugins/linux-cp/lcp.h> +#include <plugins/linux-cp/lcp_interface.h> lcp_main_t lcp_main; @@ -76,6 +77,112 @@ lcp_set_default_ns (u8 *ns) return 0; } +void +lcp_set_sync (u8 is_auto) +{ + lcp_main_t *lcpm = &lcp_main; + + lcpm->lcp_sync = (is_auto != 0); + + // If we set to 'on', do a one-off sync of LCP interfaces + if (is_auto) + lcp_itf_pair_sync_state_all (); +} + +int +lcp_sync (void) +{ + lcp_main_t *lcpm = &lcp_main; + + return lcpm->lcp_sync; +} + +void +lcp_set_auto_subint (u8 is_auto) +{ + lcp_main_t *lcpm = &lcp_main; + + lcpm->lcp_auto_subint = (is_auto != 0); +} + +int +lcp_auto_subint (void) +{ + lcp_main_t *lcpm = &lcp_main; + + return lcpm->lcp_auto_subint; +} + +void +lcp_set_del_static_on_link_down (u8 is_del) +{ + lcp_main_t *lcpm = &lcp_main; + + lcpm->del_static_on_link_down = (is_del != 0); +} + +u8 +lcp_get_del_static_on_link_down (void) +{ + lcp_main_t *lcpm = &lcp_main; + + return lcpm->del_static_on_link_down; +} + +void +lcp_set_del_dynamic_on_link_down (u8 is_del) +{ + lcp_main_t *lcpm = &lcp_main; + + lcpm->del_dynamic_on_link_down = (is_del != 0); +} + +u8 +lcp_get_del_dynamic_on_link_down (void) +{ + lcp_main_t *lcpm = &lcp_main; + + return lcpm->del_dynamic_on_link_down; +} + +void +lcp_set_netlink_processing_active (u8 is_processing) +{ + lcp_main_t *lcpm = &lcp_main; + + lcpm->netlink_processing_active = (is_processing != 0); +} + +u8 +lcp_get_netlink_processing_active (void) +{ + lcp_main_t *lcpm = &lcp_main; + + return lcpm->netlink_processing_active; +} + +void +lcp_set_default_num_queues (u16 num_queues, u8 is_tx) +{ + lcp_main_t *lcpm = &lcp_main; + + if (is_tx) + lcpm->num_tx_queues = num_queues; + else + lcpm->num_rx_queues = num_queues; +} + +u16 +lcp_get_default_num_queues (u8 is_tx) +{ + lcp_main_t *lcpm = &lcp_main; + + if (is_tx) + return lcpm->num_tx_queues; + + return lcpm->num_rx_queues ?: vlib_num_workers (); +} + /* * fd.io coding-style-patch-verification: ON * |