1. Configure initial mtu. 2. Message to userspace for mtu change Signed-off-by: Hemant Agrawal <hemant.agra...@nxp.com> --- lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h | 1 + lib/librte_eal/linuxapp/kni/kni_misc.c | 2 ++ lib/librte_kni/rte_kni.c | 1 + lib/librte_kni/rte_kni.h | 1 + 4 files changed, 5 insertions(+)
diff --git a/lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h b/lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h index c04fefd..2cd7d9a 100644 --- a/lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h +++ b/lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h @@ -172,6 +172,7 @@ struct rte_kni_device_info { /* mbuf size */ unsigned mbuf_size; + unsigned int mtu; /**< MTU */ char macaddr[6]; /**< Mac Address */ }; diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c index 90879fa..4f99a5e 100644 --- a/lib/librte_eal/linuxapp/kni/kni_misc.c +++ b/lib/librte_eal/linuxapp/kni/kni_misc.c @@ -469,6 +469,8 @@ struct kni_net { memcpy(net_dev->dev_addr, dev_info.macaddr, ETH_ALEN); } + net_dev->mtu = dev_info.mtu; + ret = register_netdev(net_dev); if (ret) { pr_err("error %i registering device \"%s\"\n", diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c index 8ae632f..a3aab9d 100644 --- a/lib/librte_kni/rte_kni.c +++ b/lib/librte_kni/rte_kni.c @@ -373,6 +373,7 @@ struct rte_kni * dev_info.mbuf_size = conf->mbuf_size; memcpy(dev_info.macaddr, conf->macaddr, ETH_ADDR_LEN); + dev_info.mtu = conf->mtu; snprintf(ctx->name, RTE_KNI_NAMESIZE, "%s", intf_name); snprintf(dev_info.name, RTE_KNI_NAMESIZE, "%s", intf_name); diff --git a/lib/librte_kni/rte_kni.h b/lib/librte_kni/rte_kni.h index 488db4b..3156e33 100644 --- a/lib/librte_kni/rte_kni.h +++ b/lib/librte_kni/rte_kni.h @@ -98,6 +98,7 @@ struct rte_kni_conf { struct rte_pci_addr addr; struct rte_pci_id id; char macaddr[ETH_ADDR_LEN]; /* MAC address assigned to KNI */ + uint16_t mtu; /* Maximum transmission Unit of KNI*/ __extension__ uint8_t force_bind : 1; /* Flag to bind kernel thread */ -- 1.9.1