From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-la0-f46.google.com (mail-la0-f46.google.com [209.85.215.46]) by dpdk.org (Postfix) with ESMTP id DD537234 for ; Thu, 15 Jan 2015 01:59:53 +0100 (CET) Received: by mail-la0-f46.google.com with SMTP id ge10so1363817lab.5 for ; Wed, 14 Jan 2015 16:59:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=wiObjlScpdARA+YHjO59XssUqO6MxnU4pg8JBuDJONE=; b=c3qlDNmu+xrYE98Z2tQg8SJBHQKWxxSq7kUSl085SCijGsC04llPfC2SJc+IsB98XE NJc0QtvI1tPcOpyCUN9rCKio1+iug/oL9C4E4lTuEw6ejGFJTQ4PVpgm8Zi/oDioZcxn 2qX1tJyCJsf+jKQ3Pk5UeXmLpO+/0yq0hoxisnXFK76LDVs6ILqLhQKr661lCjWMcpep t3ldXRIgAiz942pxv0V2UbvJrPxNTr2YOzRuLiWAgA/TMWiemuWtlpk6De9QTYoUYPsC zuHaUaIPJ5/czlsDyq8OWq46vyEDIQgviStR1WYBOBrZz1CZtUbOK6dDH8a9TaT/YoLB x3nA== X-Gm-Message-State: ALoCoQnBrnn1Ixx67nDtH6kpSHDstTLJFkjgABWAGv5QEixFsWqE/5PqUGBHZTafNvMsN1kxIRJg MIME-Version: 1.0 X-Received: by 10.152.115.146 with SMTP id jo18mr7084535lab.9.1421283593529; Wed, 14 Jan 2015 16:59:53 -0800 (PST) Received: by 10.112.26.136 with HTTP; Wed, 14 Jan 2015 16:59:53 -0800 (PST) In-Reply-To: <20150112112443.GB13136@bricha3-MOBL3> References: <20150112112443.GB13136@bricha3-MOBL3> Date: Wed, 14 Jan 2015 16:59:53 -0800 Message-ID: From: Aziz Hajee To: Bruce Richardson Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] KNI interface operational state UP issue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Jan 2015 00:59:54 -0000 Yes, the DPDK reports port is UP. By the following change in the registered callback function to comment out stop/start the dpdk interface, I can bring the KNI vEthX interfaces up: (I guess, the reason is the ret value is now the default ret = 0, and no error from stop/start. ) kni_config_network_interface(uint8_t port_id, uint8_t if_up) { int ret = 0; if (port_id >= rte_eth_dev_count() || port_id >= RTE_MAX_ETHPORTS) { RTE_LOG(ERR, KNI, "Invalid port id %d\n", port_id); return -EINVAL; } RTE_LOG(INFO, KNI, "Configure network interface of %d %s\n", port_id, if_up ? "up" : "down"); // if (if_up != 0) { /* Configure network interface up */ // rte_eth_dev_stop(port_id); // ret = rte_eth_dev_start(port_id); // } else /* Configure network interface down */ // rte_eth_dev_stop(port_id); if (ret < 0) RTE_LOG(ERR, KNI, "Failed to start port %d\n", port_id); Question: 1. Where does the vEth0 ifname given to the ifconfig command, gets mapped to the dpdk port_id 0 in the callback thanks. -aziz =================================== # ifconfig vEth0 vEth0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:13 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3186 (3.1 KB) TX bytes:0 (0.0 B) # ifconfig vEth0 192.16.1.1 # ifconfig vEth0 vEth0 Link encap:Ethernet HWaddr 90:e2:ba:5f:1a:64 inet addr:192.16.1.1 Bcast:192.16.1.255 Mask:255.255.255.0 inet6 addr: fe80::92e2:baff:fe5f:1a64/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:13 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:37 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3186 (3.1 KB) TX bytes:0 (0.0 B) On Mon, Jan 12, 2015 at 3:24 AM, Bruce Richardson < bruce.richardson@intel.com> wrote: > On Fri, Jan 09, 2015 at 05:20:26PM -0800, Aziz Hajee wrote: > > I am using the dpdk1.6.0r1 > > The rte_kni.lo is loaded: > > lsmod | grep kni > > rte_kni 279134 1 > > > > however, the ifconfig vEth0, and vEth1 does not show link up ? > > How do i get the operational state up for these interfaces. > > $ sudo tcpdump -i vEth0 > > tcpdump: vEth0: That device is not up > > > > ifconfig vEth0 > > vEth0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 > > BROADCAST MULTICAST MTU:1500 Metric:1 > > RX packets:12 errors:0 dropped:0 overruns:0 frame:0 > > TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 > > collisions:0 txqueuelen:1000 > > RX bytes:3388 (3.3 KB) TX bytes:0 (0.0 B) > > > > ifconfig vEth1 > > vEth1 Link encap:Ethernet HWaddr 00:00:00:00:00:00 > > BROADCAST MULTICAST MTU:1500 Metric:1 > > RX packets:60 errors:0 dropped:0 overruns:0 frame:0 > > TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 > > collisions:0 txqueuelen:1000 > > RX bytes:10252 (10.2 KB) TX bytes:0 (0.0 B) > > > > These KNI interfaces are created as per dmeg below from the CREATE IOCTL. > > sudo ifconfig vEth0 192.168.0.11 netmask 255.255.0.0 > > SIOCSIFFLAGS: Timer expired > > aziz@fast-1 > :~/stm15-0108/stm/dpdk/dpdk-1.6.0r1_ss/lib/librte_eal/linuxapp/kni$ > > ifconfig vEth0 > > vEth0 Link encap:Ethernet HWaddr 90:e2:ba:5f:1a:64 > > inet addr:192.168.0.11 Bcast:192.168.255.255 Mask:255.255.0.0 > > BROADCAST MULTICAST MTU:1500 Metric:1 > > RX packets:50 errors:0 dropped:0 overruns:0 frame:0 > > TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 > > collisions:0 txqueuelen:1000 > > RX bytes:14488 (14.4 KB) TX bytes:0 (0.0 B) > > > > Trying to set the vEth0 up, looks like it is doing the callback in the > dpdk > > to the corresponding PMD NIC interface, and not the vEth0 kernel > interface. > > > With KNI, the actual underlying NIC interface is still under the control > of the > DPDK application. What happens is that any ethtool requests that go to the > kernel > driver, get passed into the userspace DPDK application to make the actual > changes > to the hardware port. Does DPDK itself report the port as being up? > > /Bruce >