X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fvnet%2Fdpo%2Fdpo.h;h=e9976c2dd87dc7b35e12cb1c231c89557714aa56;hb=8f5fef2c7;hp=ee4990d005825b82bfda895614c0dbf4672ab723;hpb=54be0cc044f445853fae7b8995c477605250af16;p=vpp.git diff --git a/src/vnet/dpo/dpo.h b/src/vnet/dpo/dpo.h index ee4990d0058..e9976c2dd87 100644 --- a/src/vnet/dpo/dpo.h +++ b/src/vnet/dpo/dpo.h @@ -24,6 +24,8 @@ * instances. */ +// clang-format off + #ifndef __DPO_H__ #define __DPO_H__ @@ -361,6 +363,16 @@ extern void dpo_stack_from_node(u32 child_node, */ extern u32 dpo_get_urpf(const dpo_id_t *dpo); +/** + * Get the MTU DPO + * + * @param dpo + * The DPO from which to get the MTU + * + * @return MTU (0xffff if something more usefull was unavailable) + */ +extern u16 dpo_get_mtu(const dpo_id_t *dpo); + /** * @brief A lock function registered for a DPO type */ @@ -388,6 +400,11 @@ typedef u32* (*dpo_get_next_node_t)(const dpo_id_t *dpo); */ typedef u32 (*dpo_get_urpf_t)(const dpo_id_t *dpo); +/** + * @brief Given a DPO instance return the MTU + */ +typedef u16 (*dpo_get_mtu_t)(const dpo_id_t *dpo); + /** * @brief Called during FIB interposition when the originally * registered DPO is used to 'clone' an instance for interposition @@ -432,6 +449,10 @@ typedef struct dpo_vft_t_ * Get uRPF interface */ dpo_get_urpf_t dv_get_urpf; + /** + * Get MTU + */ + dpo_get_mtu_t dv_get_mtu; /** * Signal on an interposed child that the parent has changed */ @@ -548,3 +569,5 @@ do { \ if ((YESNO)) vlib_worker_thread_barrier_release((VM)); #endif + +// clang-format on