X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fadj%2Fadj.h;h=1a841ed2892466edf879d21c1be0fd874051c75d;hb=cbe25aab3be72154f2c706c39eeba6a77f34450f;hp=4c38b041b61187702f6e0d55315e86b1aaf0cabc;hpb=138c37af5291e2045075052a4db036be03be4a85;p=vpp.git diff --git a/src/vnet/adj/adj.h b/src/vnet/adj/adj.h index 4c38b041b61..1a841ed2892 100644 --- a/src/vnet/adj/adj.h +++ b/src/vnet/adj/adj.h @@ -150,7 +150,7 @@ struct ip_adjacency_t_; * @brief A function type for post-rewrite fixups on midchain adjacency */ typedef void (*adj_midchain_fixup_t) (vlib_main_t * vm, - struct ip_adjacency_t_ * adj, + const struct ip_adjacency_t_ * adj, vlib_buffer_t * b0, const void *data); @@ -216,14 +216,14 @@ extern u8* format_adj_flags(u8 * s, va_list * args); * @brief IP unicast adjacency. * @note cache aligned. * - * An adjacency is a represenation of a peer on a particular link. + * An adjacency is a representation of a peer on a particular link. */ typedef struct ip_adjacency_t_ { CLIB_CACHE_LINE_ALIGN_MARK (cacheline0); /** - * Linkage into the FIB node grpah. First member since this type + * Linkage into the FIB node graph. First member since this type * has 8 byte alignment requirements. */ fib_node_t ia_node; @@ -243,7 +243,7 @@ typedef struct ip_adjacency_t_ /** * The protocol of the neighbor/peer. i.e. the protocol with - * which to interpret the 'next-hop' attirbutes of the sub-types. + * which to interpret the 'next-hop' attributes of the sub-types. * 1-btyes */ fib_protocol_t ia_nh_proto; @@ -316,7 +316,7 @@ typedef struct ip_adjacency_t_ CLIB_CACHE_LINE_ALIGN_MARK (cacheline1); /* Rewrite in second/third cache lines */ - vnet_declare_rewrite (VLIB_BUFFER_PRE_DATA_SIZE); + VNET_DECLARE_REWRITE; /** * more control plane members that do not fit on the first cacheline @@ -326,13 +326,17 @@ typedef struct ip_adjacency_t_ */ struct adj_delegate_t_ *ia_delegates; + /** + * The VLIB node in which this adj is used to forward packets + */ + u32 ia_node_index; } ip_adjacency_t; STATIC_ASSERT ((STRUCT_OFFSET_OF (ip_adjacency_t, cacheline0) == 0), - "IP adjacency cachline 0 is not offset"); + "IP adjacency cacheline 0 is not offset"); STATIC_ASSERT ((STRUCT_OFFSET_OF (ip_adjacency_t, cacheline1) == CLIB_CACHE_LINE_BYTES), - "IP adjacency cachline 1 is more than one cachline size offset"); + "IP adjacency cacheline 1 is more than one cacheline size offset"); /** * @brief @@ -389,12 +393,6 @@ extern int adj_is_up (adj_index_t ai); */ extern const u8* adj_get_rewrite (adj_index_t ai); -/** - * @brief Notify the adjacency subsystem that the features settings for - * an interface have changed - */ -extern void adj_feature_update (u32 sw_if_index, u8 arc_index, u8 is_enable); - /** * @brief descend the FIB graph looking for loops * @@ -409,7 +407,7 @@ extern int adj_recursive_loop_detect (adj_index_t ai, /** * @brief - * The global adjacnecy pool. Exposed for fast/inline data-plane access + * The global adjacency pool. Exposed for fast/inline data-plane access */ extern ip_adjacency_t *adj_pool;