summaryrefslogtreecommitdiffstats
path: root/vnet/vnet/l2
diff options
context:
space:
mode:
Diffstat (limited to 'vnet/vnet/l2')
-rw-r--r--vnet/vnet/l2/l2_bd.c26
-rw-r--r--vnet/vnet/l2/l2_efp_filter.c6
-rw-r--r--vnet/vnet/l2/l2_fib.c10
-rw-r--r--vnet/vnet/l2/l2_flood.c4
-rw-r--r--vnet/vnet/l2/l2_fwd.c6
-rw-r--r--vnet/vnet/l2/l2_input.c19
-rw-r--r--vnet/vnet/l2/l2_input_classify.c31
-rw-r--r--vnet/vnet/l2/l2_learn.c9
-rw-r--r--vnet/vnet/l2/l2_output.c9
-rw-r--r--vnet/vnet/l2/l2_output_acl.c4
-rw-r--r--vnet/vnet/l2/l2_output_classify.c26
-rw-r--r--vnet/vnet/l2/l2_vtr.c6
-rw-r--r--vnet/vnet/l2/l2_xcrw.c3
13 files changed, 83 insertions, 76 deletions
diff --git a/vnet/vnet/l2/l2_bd.c b/vnet/vnet/l2/l2_bd.c
index 490a08f2d03..ddbe934abeb 100644
--- a/vnet/vnet/l2/l2_bd.c
+++ b/vnet/vnet/l2/l2_bd.c
@@ -35,7 +35,7 @@
bd_main_t bd_main;
/**
- Init bridge domain if not done already
+ Init bridge domain if not done already.
For feature bitmap, set all bits except ARP termination
*/
void
@@ -175,7 +175,7 @@ VLIB_INIT_FUNCTION (l2bd_init);
/**
- Set the learn/forward/flood flags for the bridge domain
+ Set the learn/forward/flood flags for the bridge domain.
Return 0 if ok, non-zero if for an error.
*/
u32
@@ -224,7 +224,7 @@ bd_set_flags (vlib_main_t * vm, u32 bd_index, u32 flags, u32 enable)
}
/**
- set bridge-domain learn enable/disable
+ Set bridge-domain learn enable/disable.
The CLI format is:
set bridge-domain learn <bd_id> [disable]
*/
@@ -279,7 +279,7 @@ VLIB_CLI_COMMAND (bd_learn_cli, static) = {
/* *INDENT-ON* */
/**
- set bridge-domain forward enable/disable
+ Set bridge-domain forward enable/disable.
The CLI format is:
set bridge-domain forward <bd_index> [disable]
*/
@@ -333,7 +333,7 @@ VLIB_CLI_COMMAND (bd_fwd_cli, static) = {
/* *INDENT-ON* */
/**
- set bridge-domain flood enable/disable
+ Set bridge-domain flood enable/disable.
The CLI format is:
set bridge-domain flood <bd_index> [disable]
*/
@@ -388,7 +388,7 @@ VLIB_CLI_COMMAND (bd_flood_cli, static) = {
/* *INDENT-ON* */
/**
- set bridge-domain unkown-unicast flood enable/disable
+ Set bridge-domain unkown-unicast flood enable/disable.
The CLI format is:
set bridge-domain uu-flood <bd_index> [disable]
*/
@@ -443,7 +443,7 @@ VLIB_CLI_COMMAND (bd_uu_flood_cli, static) = {
/* *INDENT-ON* */
/**
- set bridge-domain arp term enable/disable
+ Set bridge-domain arp term enable/disable.
The CLI format is:
set bridge-domain arp term <bridge-domain-id> [disable]
*/
@@ -496,11 +496,15 @@ VLIB_CLI_COMMAND (bd_arp_term_cli, static) = {
/**
+ * Add/delete IP address to MAC address mapping.
+ *
* The clib hash implementation stores uword entries in the hash table.
* The hash table mac_by_ip4 is keyed via IP4 address and store the
* 6-byte MAC address directly in the hash table entry uword.
- * This only works for 64-bit processor with 8-byte uword; which means
- * this code *WILL NOT WORK* for a 32-bit prcessor with 4-byte uword.
+ *
+ * @warning This only works for 64-bit processor with 8-byte uword;
+ * which means this code *WILL NOT WORK* for a 32-bit prcessor with
+ * 4-byte uword.
*/
u32
bd_add_del_ip_mac (u32 bd_index,
@@ -573,7 +577,7 @@ bd_add_del_ip_mac (u32 bd_index,
}
/**
- set bridge-domain arp entry add/delete
+ Set bridge-domain arp entry add/delete.
The CLI format is:
set bridge-domain arp entry <bd-id> <ip-addr> <mac-addr> [del]
*/
@@ -689,7 +693,7 @@ format_vtr (u8 * s, va_list * args)
}
/**
- show bridge-domain state
+ Show bridge-domain state.
The CLI format is:
show bridge-domain [<bd_index>]
*/
diff --git a/vnet/vnet/l2/l2_efp_filter.c b/vnet/vnet/l2/l2_efp_filter.c
index 221db9abc73..2038dce2737 100644
--- a/vnet/vnet/l2/l2_efp_filter.c
+++ b/vnet/vnet/l2/l2_efp_filter.c
@@ -97,7 +97,7 @@ typedef enum
/**
* Extract fields from the packet that will be used in interface
- * classification
+ * classification.
*/
static_always_inline void
extract_keys (vnet_main_t * vnet_main,
@@ -524,7 +524,7 @@ VLIB_NODE_FUNCTION_MULTIARCH (l2_efp_filter_node, l2_efp_filter_node_fn)
VLIB_INIT_FUNCTION (l2_efp_filter_init);
-/** Enable/disable the EFP Filter check on the subinterface */
+/** Enable/disable the EFP Filter check on the subinterface. */
void
l2_efp_filter_configure (vnet_main_t * vnet_main, u32 sw_if_index, u32 enable)
{
@@ -534,7 +534,7 @@ l2_efp_filter_configure (vnet_main_t * vnet_main, u32 sw_if_index, u32 enable)
/**
- * set subinterface egress efp filter enable/disable
+ * Set subinterface egress efp filter enable/disable.
* The CLI format is:
* set interface l2 efp-filter <interface> [disable]]
*/
diff --git a/vnet/vnet/l2/l2_fib.c b/vnet/vnet/l2/l2_fib.c
index 4275e884ce0..97620bfba6b 100644
--- a/vnet/vnet/l2/l2_fib.c
+++ b/vnet/vnet/l2/l2_fib.c
@@ -97,7 +97,7 @@ l2fib_table_dump (u32 bd_index, l2fib_entry_key_t ** l2fe_key,
}
}
-/** Display the contents of the l2fib */
+/** Display the contents of the l2fib. */
static clib_error_t *
show_l2fib (vlib_main_t * vm,
unformat_input_t * input, vlib_cli_command_t * cmd)
@@ -228,8 +228,8 @@ l2fib_clear_table (uint keep_static)
l2learn_main.global_learn_count = 0;
}
-/** Clear all entries in L2FIB
- * TODO: Later we may want a way to remove only the non-static entries
+/** Clear all entries in L2FIB.
+ * @TODO: Later we may want a way to remove only the non-static entries
*/
static clib_error_t *
clear_l2fib (vlib_main_t * vm,
@@ -286,7 +286,7 @@ l2fib_add_entry (u64 mac,
}
/**
- * Add an entry to the L2FIB
+ * Add an entry to the L2FIB.
* The CLI format is:
* l2fib add <mac> <bd> <intf> [static] [bvi]
* l2fib add <mac> <bd> filter
@@ -517,7 +517,7 @@ l2fib_del_entry (u64 mac, u32 bd_index)
}
/**
- * Delete an entry from the L2FIB
+ * Delete an entry from the L2FIB.
* The CLI format is:
* l2fib del <mac> <bd-id>
*/
diff --git a/vnet/vnet/l2/l2_flood.c b/vnet/vnet/l2/l2_flood.c
index 0654fe293b8..05df2a014d9 100644
--- a/vnet/vnet/l2/l2_flood.c
+++ b/vnet/vnet/l2/l2_flood.c
@@ -490,7 +490,7 @@ VLIB_INIT_FUNCTION (l2flood_init);
-/** Add the L3 input node for this ethertype to the next nodes structure */
+/** Add the L3 input node for this ethertype to the next nodes structure. */
void
l2flood_register_input_type (vlib_main_t * vm,
ethernet_type_t type, u32 node_index)
@@ -505,7 +505,7 @@ l2flood_register_input_type (vlib_main_t * vm,
/**
- * set subinterface flood enable/disable
+ * Set subinterface flood enable/disable.
* The CLI format is:
* set interface l2 flood <interface> [disable]
*/
diff --git a/vnet/vnet/l2/l2_fwd.c b/vnet/vnet/l2/l2_fwd.c
index 4950b23a8f0..8fa355e01a0 100644
--- a/vnet/vnet/l2/l2_fwd.c
+++ b/vnet/vnet/l2/l2_fwd.c
@@ -104,7 +104,7 @@ typedef enum
L2FWD_N_NEXT,
} l2fwd_next_t;
-/** Forward one packet based on the mac table lookup result */
+/** Forward one packet based on the mac table lookup result. */
static_always_inline void
l2fwd_process (vlib_main_t * vm,
@@ -400,7 +400,7 @@ VLIB_NODE_FUNCTION_MULTIARCH (l2fwd_node, l2fwd_node_fn)
VLIB_INIT_FUNCTION (l2fwd_init);
-/** Add the L3 input node for this ethertype to the next nodes structure */
+/** Add the L3 input node for this ethertype to the next nodes structure. */
void
l2fwd_register_input_type (vlib_main_t * vm,
ethernet_type_t type, u32 node_index)
@@ -415,7 +415,7 @@ l2fwd_register_input_type (vlib_main_t * vm,
/**
- * set subinterface forward enable/disable
+ * Set subinterface forward enable/disable.
* The CLI format is:
* set interface l2 forward <interface> [disable]
*/
diff --git a/vnet/vnet/l2/l2_input.c b/vnet/vnet/l2/l2_input.c
index 5c39b797fef..24cb31fbd7c 100644
--- a/vnet/vnet/l2/l2_input.c
+++ b/vnet/vnet/l2/l2_input.c
@@ -490,7 +490,7 @@ VLIB_NODE_FUNCTION_MULTIARCH (l2input_node, l2input_node_fn)
VLIB_INIT_FUNCTION (l2input_init);
-/** Get a pointer to the config for the given interface */
+/** Get a pointer to the config for the given interface. */
l2_input_config_t *
l2input_intf_config (u32 sw_if_index)
{
@@ -500,7 +500,7 @@ l2input_intf_config (u32 sw_if_index)
return vec_elt_at_index (mp->configs, sw_if_index);
}
-/** Enable (or disable) the feature in the bitmap for the given interface */
+/** Enable (or disable) the feature in the bitmap for the given interface. */
u32
l2input_intf_bitmap_enable (u32 sw_if_index, u32 feature_bitmap, u32 enable)
{
@@ -536,10 +536,10 @@ l2input_set_bridge_features (u32 bd_index, u32 feat_mask, u32 feat_value)
/**
* Set the subinterface to run in l2 or l3 mode.
- * for L3 mode, just the sw_if_index is specified
- * for bridged mode, the bd id and bvi flag are also specified
- * for xconnect mode, the peer sw_if_index is also specified
- * Return 0 if ok, or non-0 if there was an error
+ * For L3 mode, just the sw_if_index is specified.
+ * For bridged mode, the bd id and bvi flag are also specified.
+ * For xconnect mode, the peer sw_if_index is also specified.
+ * Return 0 if ok, or non-0 if there was an error.
*/
u32
@@ -771,7 +771,7 @@ set_int_l2_mode (vlib_main_t * vm, vnet_main_t * vnet_main, u32 mode, u32 sw_if_
}
/**
- * set subinterface in bridging mode with a bridge-domain ID
+ * Set subinterface in bridging mode with a bridge-domain ID.
* The CLI format is:
* set interface l2 bridge <interface> <bd> [bvi] [split-horizon-group]
*/
@@ -847,7 +847,7 @@ VLIB_CLI_COMMAND (int_l2_bridge_cli, static) = {
/* *INDENT-ON* */
/**
- * set subinterface in xconnect mode with another interface
+ * Set subinterface in xconnect mode with another interface.
* The CLI format is:
* set interface l2 xconnect <interface> <peer interface>
*/
@@ -897,7 +897,7 @@ VLIB_CLI_COMMAND (int_l2_xc_cli, static) = {
/* *INDENT-ON* */
/**
- * set subinterface in L3 mode
+ * Set subinterface in L3 mode.
* The CLI format is:
* set interface l3 <interface>
*/
@@ -936,6 +936,7 @@ VLIB_CLI_COMMAND (int_l3_cli, static) = {
/* *INDENT-ON* */
/**
+ * Show interface mode.
* The CLI format is:
* show mode [<if-name1> <if-name2> ...]
*/
diff --git a/vnet/vnet/l2/l2_input_classify.c b/vnet/vnet/l2/l2_input_classify.c
index 1b9f911cf24..69cd113d093 100644
--- a/vnet/vnet/l2/l2_input_classify.c
+++ b/vnet/vnet/l2/l2_input_classify.c
@@ -21,13 +21,14 @@
/**
* @file
- * @brief L2 input classifier
+ * @brief L2 input classifier.
*
- * See also .../vnet/vnet/classify/vnet_classify.[ch]
+ * @sa @ref vnet/vnet/classify/vnet_classify.c
+ * @sa @ref vnet/vnet/classify/vnet_classify.h
*/
/**
- * @brief l2_input_classifier packet trace record
+ * @brief l2_input_classifier packet trace record.
*/
typedef struct
{
@@ -42,7 +43,7 @@ typedef struct
} l2_input_classify_trace_t;
/**
- * @brief vlib node runtime
+ * @brief vlib node runtime.
*/
typedef struct
{
@@ -52,7 +53,7 @@ typedef struct
l2_input_classify_main_t *l2cm;
} l2_input_classify_runtime_t;
-/** packet trace format function */
+/** Packet trace format function. */
static u8 *
format_l2_input_classify_trace (u8 * s, va_list * args)
{
@@ -66,7 +67,7 @@ format_l2_input_classify_trace (u8 * s, va_list * args)
return s;
}
-/** l2 input classifier main data structure */
+/** l2 input classifier main data structure. */
l2_input_classify_main_t l2_input_classify_main;
vlib_node_registration_t l2_input_classify_node;
@@ -106,19 +107,19 @@ static char *l2_input_classify_error_strings[] = {
* @em Uses:
* - <code>(l2_input_classify_runtime_t *)
* rt->classify_table_index_by_sw_if_index</code>
- * Head of the per-interface, perprotocol classifier table chain
- * for a specific interface. ~0 => send pkts to the next
- * feature in the L2 feature chain.
+ * - Head of the per-interface, per-protocol classifier table chain
+ * for a specific interface.
+ * - @c ~0 => send pkts to the next feature in the L2 feature chain.
* - <code>vnet_buffer(b)->sw_if_index[VLIB_RX]</code>
* - Indicates the @c sw_if_index value of the interface that the
- * packet was received on.
- * - <code>vnet_buffer (b0)->l2.feature_bitmap</code>
+ * packet was received on.
+ * - <code>vnet_buffer(b0)->l2.feature_bitmap</code>
* - Used to steer packets across l2 features enabled on the interface
* - <code>(vnet_classify_entry_t) e0->next_index</code>
* - Used to steer traffic when the classifier hits on a session
* - <code>(vnet_classify_entry_t) e0->advance</code>
* - Signed quantity applied via <code>vlib_buffer_advance</code>
- * when the classifier hits on a session
+ * when the classifier hits on a session
* - <code>(vnet_classify_table_t) t0->miss_next_index</code>
* - Used to steer traffic when the classifier misses
*
@@ -477,7 +478,7 @@ VLIB_REGISTER_NODE (l2_input_classify_node) = {
VLIB_NODE_FUNCTION_MULTIARCH (l2_input_classify_node,
l2_input_classify_node_fn);
-/** l2 input classsifier feature initialization */
+/** l2 input classsifier feature initialization. */
clib_error_t *
l2_input_classify_init (vlib_main_t * vm)
{
@@ -505,7 +506,7 @@ l2_input_classify_init (vlib_main_t * vm)
VLIB_INIT_FUNCTION (l2_input_classify_init);
-/** enable/disable l2 input classification on a specific interface */
+/** Enable/disable l2 input classification on a specific interface. */
void
vnet_l2_input_classify_enable_disable (u32 sw_if_index, int enable_disable)
{
@@ -513,7 +514,7 @@ vnet_l2_input_classify_enable_disable (u32 sw_if_index, int enable_disable)
(u32) enable_disable);
}
-/** @brief Set l2 per-protocol, per-interface input classification tables
+/** @brief Set l2 per-protocol, per-interface input classification tables.
*
* @param sw_if_index interface handle
* @param ip4_table_index ip4 classification table index, or ~0
diff --git a/vnet/vnet/l2/l2_learn.c b/vnet/vnet/l2/l2_learn.c
index 30f5617f05e..96d4816e1e6 100644
--- a/vnet/vnet/l2/l2_learn.c
+++ b/vnet/vnet/l2/l2_learn.c
@@ -29,8 +29,9 @@
#include <vppinfra/error.h>
#include <vppinfra/hash.h>
-/*
- * Ethernet bridge learning
+/**
+ * @file
+ * Ethernet bridge learning.
*
* Populate the mac table with entries mapping the packet's source mac + bridge
* domain ID to the input sw_if_index.
@@ -102,7 +103,7 @@ typedef enum
} l2learn_next_t;
-/** Perform learning on one packet based on the mac table lookup result */
+/** Perform learning on one packet based on the mac table lookup result. */
static_always_inline void
l2learn_process (vlib_node_runtime_t * node,
@@ -462,7 +463,7 @@ VLIB_INIT_FUNCTION (l2learn_init);
/**
- * set subinterface learn enable/disable
+ * Set subinterface learn enable/disable.
* The CLI format is:
* set interface l2 learn <interface> [disable]
*/
diff --git a/vnet/vnet/l2/l2_output.c b/vnet/vnet/l2/l2_output.c
index 8bc43744d9f..85678caf6b7 100644
--- a/vnet/vnet/l2/l2_output.c
+++ b/vnet/vnet/l2/l2_output.c
@@ -73,9 +73,10 @@ static char *l2output_error_strings[] = {
};
/**
- * Return 0 if split horizon check passes, otherwise return non-zero
+ * Check for split horizon violations.
+ * Return 0 if split horizon check passes, otherwise return non-zero.
* Packets should not be transmitted out an interface with the same
- * split-horizon group as the input interface, except if the shg is 0
+ * split-horizon group as the input interface, except if the @c shg is 0
* in which case the check always passes.
*/
static_always_inline u32
@@ -592,7 +593,7 @@ output_node_mapping_send_rpc (u32 node_index, u32 sw_if_index)
#endif
-/** Create a mapping in the next node mapping table for the given sw_if_index */
+/** Create a mapping in the next node mapping table for the given sw_if_index. */
u32
l2output_create_output_node_mapping (vlib_main_t * vlib_main, vnet_main_t * vnet_main, u32 node_index, /* index of current node */
u32 * output_node_index_vec,
@@ -660,7 +661,7 @@ l2output_intf_config (u32 sw_if_index)
return vec_elt_at_index (mp->configs, sw_if_index);
}
-/** Enable (or disable) the feature in the bitmap for the given interface */
+/** Enable (or disable) the feature in the bitmap for the given interface. */
void
l2output_intf_bitmap_enable (u32 sw_if_index, u32 feature_bitmap, u32 enable)
{
diff --git a/vnet/vnet/l2/l2_output_acl.c b/vnet/vnet/l2/l2_output_acl.c
index 4597d42e945..94a4d66b48f 100644
--- a/vnet/vnet/l2/l2_output_acl.c
+++ b/vnet/vnet/l2/l2_output_acl.c
@@ -306,8 +306,8 @@ VLIB_NODE_FUNCTION_MULTIARCH (l2_outacl_node, l2_outacl_node_fn)
VLIB_INIT_FUNCTION (l2_outacl_init);
#if 0
-/** @todo maybe someone will add output ACL's in the future
- * set subinterface outacl enable/disable
+/** @todo maybe someone will add output ACL's in the future.
+ * Set subinterface outacl enable/disable.
* The CLI format is:
* set interface acl output <interface> [disable]
*/
diff --git a/vnet/vnet/l2/l2_output_classify.c b/vnet/vnet/l2/l2_output_classify.c
index 1cb8b8507bf..c04df3c255b 100644
--- a/vnet/vnet/l2/l2_output_classify.c
+++ b/vnet/vnet/l2/l2_output_classify.c
@@ -12,18 +12,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-/*
- * l2_classify.c
- */
#include <vnet/l2/l2_classify.h>
#include <vnet/api_errno.h>
/**
* @file
- * @brief L2 input classifier
+ * @brief L2 input classifier.
*
- * See also .../vnet/vnet/classify/vnet_classify.[ch]
+ * @sa @ref vnet/vnet/classify/vnet_classify.c
+ * @sa @ref vnet/vnet/classify/vnet_classify.h
*/
typedef struct
@@ -46,7 +44,7 @@ typedef struct
l2_output_classify_main_t *l2cm;
} l2_output_classify_runtime_t;
-/** packet trace format function */
+/** Packet trace format function. */
static u8 *
format_l2_output_classify_trace (u8 * s, va_list * args)
{
@@ -61,7 +59,7 @@ format_l2_output_classify_trace (u8 * s, va_list * args)
return s;
}
-/** l2 output classifier main data structure */
+/** l2 output classifier main data structure. */
l2_output_classify_main_t l2_output_classify_main;
vlib_node_registration_t l2_output_classify_node;
@@ -477,7 +475,7 @@ VLIB_REGISTER_NODE (l2_output_classify_node) = {
VLIB_NODE_FUNCTION_MULTIARCH (l2_output_classify_node,
l2_output_classify_node_fn);
-/** l2 output classsifier feature initialization */
+/** l2 output classsifier feature initialization. */
clib_error_t *
l2_output_classify_init (vlib_main_t * vm)
{
@@ -507,7 +505,7 @@ l2_output_classify_init (vlib_main_t * vm)
VLIB_INIT_FUNCTION (l2_output_classify_init);
-/** enable/disable l2 input classification on a specific interface */
+/** Enable/disable l2 input classification on a specific interface. */
void
vnet_l2_output_classify_enable_disable (u32 sw_if_index, int enable_disable)
{
@@ -516,15 +514,15 @@ vnet_l2_output_classify_enable_disable (u32 sw_if_index, int enable_disable)
(u32) enable_disable);
}
-/** @brief Set l2 per-protocol, per-interface output classification tables
+/** @brief Set l2 per-protocol, per-interface output classification tables.
*
- * @param sw_if_index interface handle
- * @param ip4_table_index ip4 classification table index, or ~0
- * @param ip6_table_index ip6 classification table index, or ~0
+ * @param sw_if_index interface handle
+ * @param ip4_table_index ip4 classification table index, or ~0
+ * @param ip6_table_index ip6 classification table index, or ~0
* @param other_table_index non-ip4, non-ip6 classification table index,
* or ~0
* @returns 0 on success, VNET_API_ERROR_NO_SUCH_TABLE, TABLE2, TABLE3
- * if the indicated (non-~0) table does not exist.
+ * if the indicated (non-~0) table does not exist.
*/
int
diff --git a/vnet/vnet/l2/l2_vtr.c b/vnet/vnet/l2/l2_vtr.c
index 6250074e303..3ec8b8a7d36 100644
--- a/vnet/vnet/l2/l2_vtr.c
+++ b/vnet/vnet/l2/l2_vtr.c
@@ -30,7 +30,7 @@
#include <vlib/cli.h>
-/** Just a placeholder. Also ensures file is not eliminated by linker. */
+/** Just a placeholder; ensures file is not eliminated by linker. */
clib_error_t *
l2_vtr_init (vlib_main_t * vm)
{
@@ -254,7 +254,7 @@ done:
}
/**
- * Get vtag tag rewrite on the given interface.
+ * Get vtag tag rewrite on the given interface.
* Return 1 if there is an error, 0 if ok
*/
u32
@@ -411,7 +411,7 @@ done:
}
/**
- * set subinterface vtr enable/disable
+ * Set subinterface vtr enable/disable.
* The CLI format is:
* set interface l2 tag-rewrite <interface> [disable | pop 1 | pop 2 | push {dot1q|dot1ad} <tag> [<tag>]]
*
diff --git a/vnet/vnet/l2/l2_xcrw.c b/vnet/vnet/l2/l2_xcrw.c
index 95219e6e9f0..344a8b96506 100644
--- a/vnet/vnet/l2/l2_xcrw.c
+++ b/vnet/vnet/l2/l2_xcrw.c
@@ -14,7 +14,8 @@
*/
#include <vnet/l2/l2_xcrw.h>
-/*
+/**
+ * @file
* General L2 / L3 cross-connect, used to set up
* "L2 interface <--> your-favorite-tunnel-encap" tunnels.
*