From d723161e038d00e59766aa67a6a0dcc350227e4b Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Thu, 7 Jun 2018 10:17:57 +0200 Subject: 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 --- src/plugins/dpdk/device/init.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index b5eb9de444f..461bae0ba62 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -747,8 +747,8 @@ dpdk_lib_init (dpdk_main_t * dm) } if (hi) - hi->max_l3_packet_bytes[VLIB_RX] = hi->max_l3_packet_bytes[VLIB_TX] = - xd->port_conf.rxmode.max_rx_pkt_len - sizeof (ethernet_header_t); + hi->max_packet_bytes = xd->port_conf.rxmode.max_rx_pkt_len + - sizeof (ethernet_header_t); else clib_warning ("hi NULL"); @@ -1640,9 +1640,6 @@ dpdk_process (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f) /* Init l3 packet size allowed on bonded interface */ bhi->max_packet_bytes = ETHERNET_MAX_PACKET_BYTES; - bhi->max_l3_packet_bytes[VLIB_RX] = - bhi->max_l3_packet_bytes[VLIB_TX] = - ETHERNET_MAX_PACKET_BYTES - sizeof (ethernet_header_t); while (nlink >= 1) { /* for all slave links */ int slave = slink[--nlink]; @@ -1681,11 +1678,9 @@ dpdk_process (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f) clib_memcpy (shi->hw_address, addr, 6); clib_memcpy (sei->address, addr, 6); /* Set l3 packet size allowed as the lowest of slave */ - if (bhi->max_l3_packet_bytes[VLIB_RX] > - shi->max_l3_packet_bytes[VLIB_RX]) - bhi->max_l3_packet_bytes[VLIB_RX] = - bhi->max_l3_packet_bytes[VLIB_TX] = - shi->max_l3_packet_bytes[VLIB_RX]; + if (bhi->max_packet_bytes > shi->max_packet_bytes) + bhi->max_packet_bytes = bhi->max_packet_bytes; + /* Set max packet size allowed as the lowest of slave */ if (bhi->max_packet_bytes > shi->max_packet_bytes) bhi->max_packet_bytes = shi->max_packet_bytes; -- cgit 1.2.3-korg