summaryrefslogtreecommitdiffstats
path: root/src/vnet/interface_format.c
diff options
context:
space:
mode:
authorOle Troan <ot@cisco.com>2018-06-07 10:17:57 +0200
committerDamjan Marion <dmarion@me.com>2018-06-11 10:25:59 +0000
commitd723161e038d00e59766aa67a6a0dcc350227e4b (patch)
tree24f5a1d87ebdc0012f28d42aa80a9f5d760073bf /src/vnet/interface_format.c
parentf4fd0d4217ab6c41fe6b093871bd40ac130e6486 (diff)
MTU: Software interface / Per-protocol MTU support
This patch separates setting of hardware interfaec and software interface MTU. Software MTU is L2 payload MTU (i.e. not including L2 header). Per-protocol MTU for IPv4, IPv6 and MPLS can also be set. Currently only IP4, IP6 are enabled in adjacency / rewrite code. Documentation in src/vnet/MTU.md Change-Id: Iee2fd6f0bbc8210748dd8e073ab9fab87d323690 Signed-off-by: Ole Troan <ot@cisco.com>
Diffstat (limited to 'src/vnet/interface_format.c')
-rw-r--r--src/vnet/interface_format.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/vnet/interface_format.c b/src/vnet/interface_format.c
index 7e94092b52e..631120b96ac 100644
--- a/src/vnet/interface_format.c
+++ b/src/vnet/interface_format.c
@@ -291,6 +291,16 @@ format_vnet_sw_interface_cntrs (u8 * s, vnet_interface_main_t * im,
return s;
}
+static u8 *
+format_vnet_sw_interface_mtu (u8 * s, va_list * args)
+{
+ vnet_sw_interface_t *si = va_arg (*args, vnet_sw_interface_t *);
+
+ return format (s, "%d/%d/%d/%d", si->mtu[VNET_MTU_L3],
+ si->mtu[VNET_MTU_IP4],
+ si->mtu[VNET_MTU_IP6], si->mtu[VNET_MTU_MPLS]);
+}
+
u8 *
format_vnet_sw_interface (u8 * s, va_list * args)
{
@@ -299,12 +309,14 @@ format_vnet_sw_interface (u8 * s, va_list * args)
vnet_interface_main_t *im = &vnm->interface_main;
if (!si)
- return format (s, "%=32s%=5s%=16s%=16s%=16s",
- "Name", "Idx", "State", "Counter", "Count");
+ return format (s, "%=32s%=5s%=10s%=21s%=16s%=16s",
+ "Name", "Idx", "State", "MTU (L3/IP4/IP6/MPLS)", "Counter",
+ "Count");
- s = format (s, "%-32U%=5d%=16U",
+ s = format (s, "%-32U%=5d%=10U%=21U",
format_vnet_sw_interface_name, vnm, si, si->sw_if_index,
- format_vnet_sw_interface_flags, si->flags);
+ format_vnet_sw_interface_flags, si->flags,
+ format_vnet_sw_interface_mtu, si);
s = format_vnet_sw_interface_cntrs (s, im, si);