* instances.
*/
+// clang-format off
+
#ifndef __DPO_H__
#define __DPO_H__
*/
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
*/
*/
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
* 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
*/
if ((YESNO)) vlib_worker_thread_barrier_release((VM));
#endif
+
+// clang-format on