Hi Desh Actually KNI provide a path to exchange info/actions between user space and kernel space. You can read kni example application and KNI kernel module and KNI library for more details. It already supports setting MTU, link up/down the port, etc.
Regards, Helin > -----Original Message----- > From: Deshvanth Mirle Jayaprakash (dmirleja) [mailto:dmirleja at cisco.com] > Sent: Monday, October 13, 2014 3:39 PM > To: Zhang, Helin; dev at dpdk.org > Subject: Re: Issues running Ethtool on KNI interfaces > > Thanks Helin, have been trying this for some time, Is there any other way I > can > pass IOCTLs to IGB-UIO interfaces. Can I use /dev/uio0 and /dev/uio1 ? Can I > use IOCTLS on these references in Kernel to gather interface statistics, set > MTU or bring up/down UIO interfaces. > > /Desh > > On 10/13/14 12:34 AM, "Zhang, Helin" <helin.zhang at intel.com> wrote: > > >Hi Desh > > > >You tried to use ethtool for KNI interfaces in VM, right? I don't think > >it is supported in VM. > >Currently it just supports ethtool for KNI interfaces in host for some > >igb and ixgbe NICs. > > > >Regards, > >Helin > > > >> -----Original Message----- > >> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Deshvanth Mirle > >> Jayaprakash (dmirleja) > >> Sent: Monday, October 13, 2014 3:21 PM > >> To: dev at dpdk.org > >> Subject: [dpdk-dev] Issues running Ethtool on KNI interfaces > >> > >> Hi, > >> > >> Hypervisor: KVM > >> > >> VM: Linux OS with 2.6.32 Kernel > >> > >> VM Settings: > >> > >> 8 vCPUs, 8192 MB of memory, CPU Configuration: Copy Host CPU Config > >> (SandyBridge), Manually set CPU topology: Sockets=2, Cores=4, > >> Threads=1 > >> > >> 10Gigi Passthrough Interfaces attached to VM: Intel X520 > >> > >> > >> DPDK settings: > >> > >> > >> DPDK Version: 1.6R2 > >> > >> > >> echo 512 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages > >> > >> rmmod ixgbe > >> > >> insmod igb_uio.ko > >> > >> mkdir /mnt/hugepages > >> > >> mount -t hugetlbfs nodev /mnt/hugepages > >> > >> #./igb_uio_bind.py --status > >> > >> #./igb_uio_bind.py --bind=igb_uio 03:01.0 > >> > >> #./igb_uio_bind.py --bind=igb_uio 03:02.0 > >> > >> #./igb_uio_bind.py --status > >> > >> modprobe hwmon > >> > >> insmod rte_kni.ko > >> > >> ./kni -c 0x1E -n 2 --socket-mem 512 -- -p 0x3 > >>--config="(0,1,3),(1,2,4)" & > >> > >> > >> Having KNI process running in the background, creates two KNI > >>interfaces called vEth0 and vEth1 which corresponds to IGB-UIO > >>interfaces attached to the Userspace. The issue is that the Ethtool > >>doesn't work with KNI interfaces. > >> Is there anything that I am missing, How can I get Ethtool to work > >>with KNI interfaces? Also, If I do not use --socket-mem OR -m EAL > >>option, KNI application consumes all the huge pages(It doesn't mater > >>512/4096) assigned in the very first step.Is that expected behavior? > >>Can I get KNI to work without assigning any Hugepages? > >> > >> > >> > >> Also, I have attached screen shots of KNI log file. Please take a look. > >> > >> > >> Thanks, > >> > >> Desh