X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fadj%2Fadj_midchain.h;h=65892314f409a8edb03b43556da17b814642ee92;hb=2ca200501e3e58a8f7d2497ff9ba5a39f2f47014;hp=ae414aea6dc7114b4063accf6f6cb59329118c59;hpb=7cd468a3d7dee7d6c92f69a0bb7061ae208ec727;p=vpp.git diff --git a/src/vnet/adj/adj_midchain.h b/src/vnet/adj/adj_midchain.h index ae414aea6dc..65892314f40 100644 --- a/src/vnet/adj/adj_midchain.h +++ b/src/vnet/adj/adj_midchain.h @@ -24,26 +24,6 @@ #include -/** - * @brief Flags controlling the midchain adjacency - */ -typedef enum adj_midchain_flag_t_ -{ - /** - * No flags - */ - ADJ_MIDCHAIN_FLAG_NONE = 0, - - /** - * Packets TX through the midchain do not increment the interface - * counters. This should be used when the adj is associated with an L2 - * interface and that L2 interface is in a bridege domain. In that case - * the packet will have traversed the interface's TX node, and hence have - * been counted, before it traverses ths midchain - */ - ADJ_MIDCHAIN_FLAG_NO_COUNT = (1 << 0), -} adj_midchain_flag_t; - /** * @brief * Convert an existing neighbour adjacency into a midchain @@ -51,16 +31,23 @@ typedef enum adj_midchain_flag_t_ * @param adj_index * The index of the neighbour adjacency. * - * @param post_rewrite_node - * The VLIB graph node that provides the post-encap fixup. - * where 'fixup' is e.g., correcting chksum, length, etc. + * @param fixup + * The function that will be invoked at paket switch time to 'fixup' + * the rewrite applied with necessary per-packet info (i.e. length, checksums). + * @param fixup_data + * Context data set by the caller that is provided as an argument in the + * fixup function. + * + * @param flags + * Flags controlling the adjacency behaviour * * @param rewrite * The rewrite. */ extern void adj_nbr_midchain_update_rewrite(adj_index_t adj_index, adj_midchain_fixup_t fixup, - adj_midchain_flag_t flags, + const void *fixup_data, + adj_flags_t flags, u8 *rewrite); /**