DPDK patches and discussions
 help / color / mirror / Atom feed
From: Aziz Hajee <aziz@saisei.com>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] KNI interface operational state UP issue
Date: Wed, 14 Jan 2015 16:59:53 -0800	[thread overview]
Message-ID: <CAFGSfkkiu7NY5aQCT329K3WTA8cOaCYB8qd4w79aogrUtywGGA@mail.gmail.com> (raw)
In-Reply-To: <20150112112443.GB13136@bricha3-MOBL3>

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
>

      reply	other threads:[~2015-01-15  0:59 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-10  1:20 Aziz Hajee
2015-01-12 11:24 ` Bruce Richardson
2015-01-15  0:59   ` Aziz Hajee [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFGSfkkiu7NY5aQCT329K3WTA8cOaCYB8qd4w79aogrUtywGGA@mail.gmail.com \
    --to=aziz@saisei.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).