* Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
[not found] ` <OF8B2F924F.894C6787-ON65257E03.0016A853-65257E03.0016D247@LocalDomain>
@ 2015-03-09 15:49 ` Arkajit Ghosh
2015-03-10 3:23 ` [dpdk-dev] #PERSONAL# " Arkajit Ghosh
1 sibling, 0 replies; 6+ messages in thread
From: Arkajit Ghosh @ 2015-03-09 15:49 UTC (permalink / raw)
To: Ngo Doan Lap; +Cc: dev
Hi,
Can any one please suggest how to proceed.
Thanks & Regards
Arkajit Ghosh
____________________________________________
-----Arkajit Ghosh/DEL/TCS wrote: -----
To: Ngo Doan Lap <lapngodoan@gmail.com>
From: Arkajit Ghosh/DEL/TCS
Date: 03/09/2015 09:39AM
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
Hi,
I have executed below commands:
./utilities/ovs-vsctl add-br ovsbr0
./utilities/ovs-vsctl set bridge datapath_type=netdev
./utilities/ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0 type=dpdk
./utilities/ovs-vsctl add-port ovsbr0 dpdk1 -- set Interface dpdk1 type=dpdk
./utilities/ovs-vsctl show
Please find the attachement for bridge and dpdk-port creation..
Now, If i do "ifconfig -a" the created bridge ovsbr0 is showing Broadcast Running and Multicast but ip address was not given. So i had assign an IP-address to ovsbr0 which previously Eth1 had.
So, now I try to ping this guest machine ip address from its host. Here is the output.
ping 192.168.1.7
PING 192.168.1.7 (192.168.1.7) 56(84) bytes of data.
>From 192.168.1.40 icmp_seq=1 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=5 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=6 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=7 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=8 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=9 Destination Host Unreachable
I believe it should be pinged from its host machine. Can please let me know what is the issue and how to proceed.
Thanks & Regards
Arkajit Ghosh
____________________________________________
-----Ngo Doan Lap <lapngodoan@gmail.com> wrote: -----
To: Arkajit Ghosh <arkajit.ghosh@tcs.com>
From: Ngo Doan Lap <lapngodoan@gmail.com>
Date: 03/06/2015 08:52PM
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
Hi,
Can you show the log output of OVS? and the ouput of following command
cd path/to/ovs/utilities/
./ovs-ofctl show br0
./ovs-ofctl dump-flows br0
(Assum that br0 is a bridge name that you had created)
On Fri, Mar 6, 2015 at 10:14 PM, Arkajit Ghosh <arkajit.ghosh@tcs.com> wrote:
Hi,
Can anyone please suggest how to proceed.
Thanks & Regards
Arkajit Ghosh
-----Arkajit Ghosh/DEL/TCS wrote: -----
To: dev@dpdk.org
From: Arkajit Ghosh/DEL/TCS
Date: 03/04/2015 12:39PM
Subject: Guest Machine is not Pingable from Host Machine
Hi Team,
Guest machine is not pingable from Host machine after creating a bridge with datapath_type "netdev" in the configuration database and adding dpdk ports. Can anyone please let me know what is the issue.
Thanks in advance.
Thanks & Regards
Arkajit Ghosh
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
--
Thanks and Best Regards,
Ngo Doan Lap
Mobile: 0977.833.757
[attachment "DPDK_Output_Result.odt" removed by Arkajit Ghosh/DEL/TCS]
From vladz@cloudius-systems.com Mon Mar 9 16:57:30 2015
Return-Path: <vladz@cloudius-systems.com>
Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com
[209.85.212.172]) by dpdk.org (Postfix) with ESMTP id B7A7A9A91
for <dev@dpdk.org>; Mon, 9 Mar 2015 16:57:30 +0100 (CET)
Received: by wivr20 with SMTP id r20so22085917wiv.5
for <dev@dpdk.org>; Mon, 09 Mar 2015 08:57:30 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d\x1e100.net; s 130820;
h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to
:subject:references:in-reply-to:content-type
:content-transfer-encoding;
bh=rAApmQhYXY8zgRaPBMXHOzHbKY/1Y5NCwSDf0De8OsE=;
b=RIzhxdAMpH9oPXhd/XYkN0Ix4F8UUab2+AqVnzAVeEfmqbt7ea+bj1SpJK2MQrRsBs
8iHMfcSU2eQ+d1C7mqcgXji3GXbzq2Dqq0AFHmoqB9KOtgRX0gn93LRQFqSxPKQDKqJs
DkoMNpXiN5zEwn6ONhYsPKDY6mYXakgw7Qr77HiKOdZtpk7schuwQCK5tzepMGKK1gC9
baD2rtSneeT1VMn0CGw3SQMprvGCg9+CrBIOGaj4e5FqT3PxzfmfeukU8pLA5+Rf1E7i
tIJNkX6cfH07UlISQD6lz6igCiOv8XM/nzzS3DT/7VPM4ZWrJQfMv4WBuOPY3OgzNQHB
q99A=X-Gm-Message-State: ALoCoQkLLdWc9CPV5PV3Hy/h/h6CleXK2ePyZcnwA6Po6dQezuH6d4RREQ4Tg4fjpgJW6O0qS5KU
X-Received: by 10.194.60.173 with SMTP id i13mr58070469wjr.124.1425916649774;
Mon, 09 Mar 2015 08:57:29 -0700 (PDT)
Received: from [10.0.0.2] (bzq-109-65-117-109.red.bezeqint.net.
[109.65.117.109])
by mx.google.com with ESMTPSA id bx3sm28810666wjc.21.2015.03.09.08.57.28
(version=TLSv1.2 cipherìDHE-RSA-AES128-GCM-SHA256 bits\x128/128);
Mon, 09 Mar 2015 08:57:28 -0700 (PDT)
Message-ID: <54FDC2E7.7070703@cloudius-systems.com>
Date: Mon, 09 Mar 2015 17:57:27 +0200
From: Vlad Zolotarov <vladz@cloudius-systems.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
rv:31.0) Gecko/20100101 Thunderbird/31.5.0
MIME-Version: 1.0
To: "Mcnamara, John" <john.mcnamara@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
References: <1425895968-8597-1-git-send-email-vladz@cloudius-systems.com>
<1425895968-8597-4-git-send-email-vladz@cloudius-systems.com>
<B27915DBBA3421428155699D51E4CFE2ECC42A@IRSMSX103.ger.corp.intel.com>
In-Reply-To: <B27915DBBA3421428155699D51E4CFE2ECC42A@IRSMSX103.ger.corp.intel.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Subject: Re: [dpdk-dev] [PATCH v1 3/3] ixgbe: Unify the rx_pkt_bulk callback
initialization
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
<mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
<mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Mar 2015 15:57:30 -0000
On 03/09/15 15:39, Mcnamara, John wrote:
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Vlad Zolotarov
>> Sent: Monday, March 9, 2015 10:13 AM
>> To: dev@dpdk.org
>> Subject: [dpdk-dev] [PATCH v1 3/3] ixgbe: Unify the rx_pkt_bulk callback
>> initialization
>>
>> @@ -3641,23 +3676,17 @@ ixgbe_dev_rx_init(struct rte_eth_dev *dev)
>> buf_size = (uint16_t) ((srrctl & IXGBE_SRRCTL_BSIZEPKT_MASK)
>> <<
>> IXGBE_SRRCTL_BSIZEPKT_SHIFT);
>>
>> - if (dev->data->dev_conf.rxmode.enable_scatter ||
>> - /* It adds dual VLAN length for supporting dual VLAN */
>> - (dev->data->dev_conf.rxmode.max_rx_pkt_len +
>> - 2 * IXGBE_VLAN_TAG_SIZE) > buf_size){
>> - if (!dev->data->scattered_rx)
>> - PMD_INIT_LOG(DEBUG, "forcing scatter mode");
>> + /* It adds dual VLAN length for supporting dual VLAN */
>> + if (dev->data->dev_conf.rxmode.max_rx_pkt_len +
>> + 2 * IXGBE_VLAN_TAG_SIZE > buf_size)
>> dev->data->scattered_rx = 1;
>> -#ifdef RTE_IXGBE_INC_VECTOR
>> - if (rte_is_power_of_2(rxq->nb_rx_desc))
>> - dev->rx_pkt_burst >> - ixgbe_recv_scattered_pkts_vec;
>> - else
>> -#endif
>> - dev->rx_pkt_burst = ixgbe_recv_scattered_pkts;
>> - }
>> }
>>
>> + if (rx_conf->enable_scatter)
>> + dev->data->scattered_rx = 1;
> Hi,
>
> There is a compilation issue here when this patch is applied to the current master (with previous 2 patches applied as well):
>
> make T=x86_64-native-linuxapp-gcc install CC=gcc
> ...
> == Build lib/librte_pmd_ixgbe
> CC ixgbe_rxtx.o
> /home/user/dpdk/lib/librte_pmd_ixgbe/ixgbe_rxtx.c: In function 'ixgbe_dev_rx_init':
> /home/user/dpdk/lib/librte_pmd_ixgbe/ixgbe_rxtx.c:3689:6: error: 'rx_conf' undeclared (first use in this function)
> /home/user/dpdk/lib/librte_pmd_ixgbe/ixgbe_rxtx.c:3689:6: note: each undeclared identifier is reported only once for each function it appears in
> make[5]: *** [ixgbe_rxtx.o] Error 1
>
> This is using the default DPDK linuxapp config.
Oops. I see. After all the acrobatics I've done with the patches I must
have forgotten to check the compilation of this series stand alone -
shame on me!
Let me fix it and resend the patches...
>
> John
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] #PERSONAL# Guest Machine is not Pingable from Host Machine
[not found] ` <OF8B2F924F.894C6787-ON65257E03.0016A853-65257E03.0016D247@LocalDomain>
2015-03-09 15:49 ` [dpdk-dev] Guest Machine is not Pingable from Host Machine Arkajit Ghosh
@ 2015-03-10 3:23 ` Arkajit Ghosh
2015-03-10 4:55 ` Ngo Doan Lap
2015-03-10 5:17 ` Arkajit Ghosh
1 sibling, 2 replies; 6+ messages in thread
From: Arkajit Ghosh @ 2015-03-10 3:23 UTC (permalink / raw)
To: Ngo Doan Lap; +Cc: dev
Hi,
Can any one please suggest how to proceed now.
Thanks & Regards
Arkajit Ghosh
____________________________________________
-----Arkajit Ghosh/DEL/TCS wrote: -----
To: Ngo Doan Lap <lapngodoan@gmail.com>
From: Arkajit Ghosh/DEL/TCS
Date: 03/09/2015 09:39AM
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
Hi,
I have executed below commands:
./utilities/ovs-vsctl add-br ovsbr0
./utilities/ovs-vsctl set bridge datapath_type=netdev
./utilities/ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0 type=dpdk
./utilities/ovs-vsctl add-port ovsbr0 dpdk1 -- set Interface dpdk1 type=dpdk
./utilities/ovs-vsctl show
Please find the attachement for bridge and dpdk-port creation..
Now, If i do "ifconfig -a" the created bridge ovsbr0 is showing Broadcast Running and Multicast but ip address was not given. So i had assign an IP-address to ovsbr0 which previously Eth1 had.
So, now I try to ping this guest machine ip address from its host. Here is the output.
ping 192.168.1.7
PING 192.168.1.7 (192.168.1.7) 56(84) bytes of data.
>From 192.168.1.40 icmp_seq=1 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=5 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=6 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=7 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=8 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=9 Destination Host Unreachable
I believe it should be pinged from its host machine. Can please let me know what is the issue and how to proceed.
Thanks & Regards
Arkajit Ghosh
____________________________________________
-----Ngo Doan Lap <lapngodoan@gmail.com> wrote: -----
To: Arkajit Ghosh <arkajit.ghosh@tcs.com>
From: Ngo Doan Lap <lapngodoan@gmail.com>
Date: 03/06/2015 08:52PM
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
Hi,
Can you show the log output of OVS? and the ouput of following command
cd path/to/ovs/utilities/
./ovs-ofctl show br0
./ovs-ofctl dump-flows br0
(Assum that br0 is a bridge name that you had created)
On Fri, Mar 6, 2015 at 10:14 PM, Arkajit Ghosh <arkajit.ghosh@tcs.com> wrote:
Hi,
Can anyone please suggest how to proceed.
Thanks & Regards
Arkajit Ghosh
-----Arkajit Ghosh/DEL/TCS wrote: -----
To: dev@dpdk.org
From: Arkajit Ghosh/DEL/TCS
Date: 03/04/2015 12:39PM
Subject: Guest Machine is not Pingable from Host Machine
Hi Team,
Guest machine is not pingable from Host machine after creating a bridge with datapath_type "netdev" in the configuration database and adding dpdk ports. Can anyone please let me know what is the issue.
Thanks in advance.
Thanks & Regards
Arkajit Ghosh
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
--
Thanks and Best Regards,
Ngo Doan Lap
Mobile: 0977.833.757
[attachment "DPDK_Output_Result.odt" removed by Arkajit Ghosh/DEL/TCS]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] #PERSONAL# Guest Machine is not Pingable from Host Machine
2015-03-10 3:23 ` [dpdk-dev] #PERSONAL# " Arkajit Ghosh
@ 2015-03-10 4:55 ` Ngo Doan Lap
2015-03-10 5:17 ` Arkajit Ghosh
1 sibling, 0 replies; 6+ messages in thread
From: Ngo Doan Lap @ 2015-03-10 4:55 UTC (permalink / raw)
To: Arkajit Ghosh; +Cc: dev
Hi Arkajit,
I can't find your attachment.
On Tue, Mar 10, 2015 at 10:23 AM, Arkajit Ghosh <arkajit.ghosh@tcs.com>
wrote:
>
> Hi,
>
> Can any one please suggest how to proceed now.
>
>
> Thanks & Regards
> Arkajit Ghosh
> ____________________________________________
>
> -----Arkajit Ghosh/DEL/TCS wrote: -----
> To: Ngo Doan Lap <lapngodoan@gmail.com>
> From: Arkajit Ghosh/DEL/TCS
> Date: 03/09/2015 09:39AM
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
>
>
> Hi,
>
> I have executed below commands:
>
> ./utilities/ovs-vsctl add-br ovsbr0
> ./utilities/ovs-vsctl set bridge datapath_type=netdev
> ./utilities/ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0
> type=dpdk
> ./utilities/ovs-vsctl add-port ovsbr0 dpdk1 -- set Interface dpdk1
> type=dpdk
> ./utilities/ovs-vsctl show
>
> Please find the attachement for bridge and dpdk-port creation..
>
> Now, If i do "ifconfig -a" the created bridge ovsbr0 is showing Broadcast
> Running and Multicast but ip address was not given. So i had assign an
> IP-address to ovsbr0 which previously Eth1 had.
>
> So, now I try to ping this guest machine ip address from its host. Here
> is the output.
>
> ping 192.168.1.7
> PING 192.168.1.7 (192.168.1.7) 56(84) bytes of data.
> From 192.168.1.40 icmp_seq=1 Destination Host Unreachable
> From 192.168.1.40 icmp_seq=5 Destination Host Unreachable
> From 192.168.1.40 icmp_seq=6 Destination Host Unreachable
> From 192.168.1.40 icmp_seq=7 Destination Host Unreachable
> From 192.168.1.40 icmp_seq=8 Destination Host Unreachable
> From 192.168.1.40 icmp_seq=9 Destination Host Unreachable
>
>
> *I believe it should be pinged from its host machine. Can please let me
> know what is the issue and how to proceed.*
> Thanks & Regards
> Arkajit Ghosh
> ____________________________________________
>
> -----Ngo Doan Lap <lapngodoan@gmail.com> wrote: -----
> To: Arkajit Ghosh <arkajit.ghosh@tcs.com>
> From: Ngo Doan Lap <lapngodoan@gmail.com>
> Date: 03/06/2015 08:52PM
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
>
> Hi,
> Can you show the log output of OVS? and the ouput of following command
> cd path/to/ovs/utilities/
> ./ovs-ofctl show br0
> ./ovs-ofctl dump-flows br0
> (Assum that br0 is a bridge name that you had created)
>
> On Fri, Mar 6, 2015 at 10:14 PM, Arkajit Ghosh <arkajit.ghosh@tcs.com>
> wrote:
>
>> Hi,
>>
>> Can anyone please suggest how to proceed.
>>
>>
>> Thanks & Regards
>> Arkajit Ghosh
>>
>> -----Arkajit Ghosh/DEL/TCS wrote: -----
>> To: dev@dpdk.org
>> From: Arkajit Ghosh/DEL/TCS
>> Date: 03/04/2015 12:39PM
>> Subject: Guest Machine is not Pingable from Host Machine
>>
>> Hi Team,
>>
>> Guest machine is not pingable from Host machine after creating a bridge
>> with datapath_type "netdev" in the configuration database and adding dpdk
>> ports. Can anyone please let me know what is the issue.
>>
>> Thanks in advance.
>>
>> Thanks & Regards
>> Arkajit Ghosh
>>
>>
>> =====-----=====-----=====
>> Notice: The information contained in this e-mail
>> message and/or attachments to it may contain
>> confidential or privileged information. If you are
>> not the intended recipient, any dissemination, use,
>> review, distribution, printing or copying of the
>> information contained in this e-mail message
>> and/or attachments to it are strictly prohibited. If
>> you have received this communication in error,
>> please notify us by reply e-mail or telephone and
>> immediately and permanently delete the message
>> and any attachments. Thank you
>>
>>
>>
>
>
> --
> Thanks and Best Regards,
> Ngo Doan Lap
> Mobile: 0977.833.757
>
>
> [attachment "DPDK_Output_Result.odt" removed by Arkajit Ghosh/DEL/TCS]
>
--
Thanks and Best Regards,
Ngo Doan Lap
Mobile: 0977.833.757
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] #PERSONAL# Guest Machine is not Pingable from Host Machine
2015-03-10 3:23 ` [dpdk-dev] #PERSONAL# " Arkajit Ghosh
2015-03-10 4:55 ` Ngo Doan Lap
@ 2015-03-10 5:17 ` Arkajit Ghosh
2015-03-10 8:06 ` Ngo Doan Lap
2015-03-10 9:02 ` Arkajit Ghosh
1 sibling, 2 replies; 6+ messages in thread
From: Arkajit Ghosh @ 2015-03-10 5:17 UTC (permalink / raw)
To: Ngo Doan Lap; +Cc: dev
Hi,
Please find the attachement.
Thanks & Regards
Arkajit Ghosh
____________________________________________
-----Ngo Doan Lap <lapngodoan@gmail.com> wrote: -----
To: Arkajit Ghosh <arkajit.ghosh@tcs.com>
From: Ngo Doan Lap <lapngodoan@gmail.com>
Date: 03/10/2015 10:25AM
Cc: dev@dpdk.org
Subject: Re: #PERSONAL#[dpdk-dev] Guest Machine is not Pingable from Host Machine
Hi Arkajit,
I can't find your attachment.
On Tue, Mar 10, 2015 at 10:23 AM, Arkajit Ghosh <arkajit.ghosh@tcs.com> wrote:
Hi,
Can any one please suggest how to proceed now.
Thanks & Regards
Arkajit Ghosh
____________________________________________
-----Arkajit Ghosh/DEL/TCS wrote: -----
To: Ngo Doan Lap <lapngodoan@gmail.com>
From: Arkajit Ghosh/DEL/TCS
Date: 03/09/2015 09:39AM
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
Hi,
I have executed below commands:
./utilities/ovs-vsctl add-br ovsbr0
./utilities/ovs-vsctl set bridge datapath_type=netdev
./utilities/ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0 type=dpdk
./utilities/ovs-vsctl add-port ovsbr0 dpdk1 -- set Interface dpdk1 type=dpdk
./utilities/ovs-vsctl show
Please find the attachement for bridge and dpdk-port creation..
Now, If i do "ifconfig -a" the created bridge ovsbr0 is showing Broadcast Running and Multicast but ip address was not given. So i had assign an IP-address to ovsbr0 which previously Eth1 had.
So, now I try to ping this guest machine ip address from its host. Here is the output.
ping 192.168.1.7
PING 192.168.1.7 (192.168.1.7) 56(84) bytes of data.
>From 192.168.1.40 icmp_seq=1 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=5 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=6 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=7 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=8 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=9 Destination Host Unreachable
I believe it should be pinged from its host machine. Can please let me know what is the issue and how to proceed.
Thanks & Regards
Arkajit Ghosh
____________________________________________
-----Ngo Doan Lap <lapngodoan@gmail.com> wrote: -----
To: Arkajit Ghosh <arkajit.ghosh@tcs.com>
From: Ngo Doan Lap <lapngodoan@gmail.com>
Date: 03/06/2015 08:52PM
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
Hi,
Can you show the log output of OVS? and the ouput of following command
cd path/to/ovs/utilities/
./ovs-ofctl show br0
./ovs-ofctl dump-flows br0
(Assum that br0 is a bridge name that you had created)
On Fri, Mar 6, 2015 at 10:14 PM, Arkajit Ghosh <arkajit.ghosh@tcs.com> wrote:
Hi,
Can anyone please suggest how to proceed.
Thanks & Regards
Arkajit Ghosh
-----Arkajit Ghosh/DEL/TCS wrote: -----
To: dev@dpdk.org
From: Arkajit Ghosh/DEL/TCS
Date: 03/04/2015 12:39PM
Subject: Guest Machine is not Pingable from Host Machine
Hi Team,
Guest machine is not pingable from Host machine after creating a bridge with datapath_type "netdev" in the configuration database and adding dpdk ports. Can anyone please let me know what is the issue.
Thanks in advance.
Thanks & Regards
Arkajit Ghosh
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
--
Thanks and Best Regards,
Ngo Doan Lap
Mobile: 0977.833.757
[attachment "DPDK_Output_Result.odt" removed by Arkajit Ghosh/DEL/TCS]
--
Thanks and Best Regards,
Ngo Doan Lap
Mobile: 0977.833.757
From jijiang.liu@intel.com Tue Mar 10 08:03:19 2015
Return-Path: <jijiang.liu@intel.com>
Received: from mga03.intel.com (mga03.intel.com [134.134.136.65])
by dpdk.org (Postfix) with ESMTP id 6C43B58E4
for <dev@dpdk.org>; Tue, 10 Mar 2015 08:03:18 +0100 (CET)
Received: from orsmga001.jf.intel.com ([10.7.209.18])
by orsmga103.jf.intel.com with ESMTP; 10 Mar 2015 00:00:28 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.11,373,1422950400"; d="scan'208";a="662921048"
Received: from kmsmsx151.gar.corp.intel.com ([172.21.73.86])
by orsmga001.jf.intel.com with ESMTP; 10 Mar 2015 00:03:15 -0700
Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by
KMSMSX151.gar.corp.intel.com (172.21.73.86) with Microsoft SMTP Server (TLS)
id 14.3.195.1; Tue, 10 Mar 2015 15:02:33 +0800
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.150]) by
SHSMSX103.ccr.corp.intel.com ([169.254.4.45]) with mapi id 14.03.0224.002;
Tue, 10 Mar 2015 15:02:32 +0800
From: "Liu, Jijiang" <jijiang.liu@intel.com>
To: Stephen Hemminger <stephen@networkplumber.org>, "dev@dpdk.org"
<dev@dpdk.org>
Thread-Topic: [dpdk-dev] [PATCH 1/5] xen: allow choosing dom0 support at
runtime
Thread-Index: AQHQSTOswcupOJhAwU2665gohh/CS50VbY0A
Date: Tue, 10 Mar 2015 07:02:31 +0000
Message-ID: <1ED644BD7E0A5F4091CF203DAFB8E4CC01DF0E01@SHSMSX101.ccr.corp.intel.com>
References: <1424013889-2226-1-git-send-email-shemming@brocade.com>
In-Reply-To: <1424013889-2226-1-git-send-email-shemming@brocade.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.239.127.40]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: Stephen Hemminger <shemming@brocade.com>
Subject: Re: [dpdk-dev] [PATCH 1/5] xen: allow choosing dom0 support at
runtime
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
<mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
<mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Mar 2015 07:03:19 -0000
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Stephen Hemminger
> Sent: Sunday, February 15, 2015 11:25 PM
> To: dev@dpdk.org
> Cc: Stephen Hemminger
> Subject: [dpdk-dev] [PATCH 1/5] xen: allow choosing dom0 support at runtime
>
> The previous code would only allow building library and application so that it
> ran on Xen DOM0 or not on DOM0. This changes that to a runtime flag.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> v2 -- fix i40e as well
>
> lib/librte_eal/common/include/rte_memory.h | 4 +++
> lib/librte_eal/linuxapp/eal/eal_memory.c | 7 ++++
> lib/librte_ether/rte_ethdev.c | 22 ++++++++++++
> lib/librte_ether/rte_ethdev.h | 23 ++++++++++++
> lib/librte_mempool/rte_mempool.c | 26 +++++++-------
> lib/librte_pmd_e1000/em_rxtx.c | 30 +++-------------
> lib/librte_pmd_e1000/igb_rxtx.c | 52 +++++++++------------------
> lib/librte_pmd_i40e/i40e_ethdev.c | 16 +++++----
> lib/librte_pmd_i40e/i40e_fdir.c | 8 +++--
> lib/librte_pmd_i40e/i40e_rxtx.c | 57 +++++++++++++++++------------
> lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 58 +++++++++---------------------
> 11 files changed, 156 insertions(+), 147 deletions(-)
>
> diff --git a/lib/librte_eal/common/include/rte_memory.h
> b/lib/librte_eal/common/include/rte_memory.h
> index 7f8103f..ab6c1ff 100644
> --- a/lib/librte_eal/common/include/rte_memory.h
> +++ b/lib/librte_eal/common/include/rte_memory.h
> @@ -176,6 +176,10 @@ unsigned rte_memory_get_nchannel(void); unsigned
> rte_memory_get_nrank(void);
>
> #ifdef RTE_LIBRTE_XEN_DOM0
> +
> +/**< Internal use only - should DOM0 memory mapping be used */ extern
> +int is_xen_dom0_supported(void);
> +
> /**
> * Return the physical address of elt, which is an element of the pool mp.
> *
> diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c
> b/lib/librte_eal/linuxapp/eal/eal_memory.c
> index a67a1b0..4afda2a 100644
> --- a/lib/librte_eal/linuxapp/eal/eal_memory.c
> +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
> @@ -98,6 +98,13 @@
> #include "eal_filesystem.h"
> #include "eal_hugepages.h"
>
> +#ifdef RTE_LIBRTE_XEN_DOM0
> +int is_xen_dom0_supported(void)
> +{
> + return internal_config.xen_dom0_support; } #endif
> +
> /**
> * @file
> * Huge page mapping under linux
> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index
> ea3a1fb..457e0bc 100644
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -2825,6 +2825,27 @@ _rte_eth_dev_callback_process(struct
> rte_eth_dev *dev,
> }
> rte_spinlock_unlock(&rte_eth_dev_cb_lock);
> }
> +
> +const struct rte_memzone *
> +rte_eth_dma_zone_reserve(const struct rte_eth_dev *dev, const char
> *ring_name,
> + uint16_t queue_id, size_t size, unsigned align,
> + int socket_id)
> +{
> + char z_name[RTE_MEMZONE_NAMESIZE];
> + const struct rte_memzone *mz;
> +
> + snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d",
> + dev->driver->pci_drv.name, ring_name,
> + dev->data->port_id, queue_id);
> +
> + mz = rte_memzone_lookup(z_name);
> + if (mz)
> + return mz;
> +
> + return rte_memzone_reserve_bounded(z_name, size,
> + socket_id, 0, align,
> RTE_PGSIZE_2M); }
> +
> #ifdef RTE_NIC_BYPASS
> int rte_eth_dev_bypass_init(uint8_t port_id) { @@ -3003,6 +3024,7 @@
> rte_eth_dev_bypass_wd_reset(uint8_t port_id)
> (*dev->dev_ops->bypass_wd_reset)(dev);
> return 0;
> }
> +
> #endif
>
> int
> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index
> 1200c1c..747acb5 100644
> --- a/lib/librte_ether/rte_ethdev.h
> +++ b/lib/librte_ether/rte_ethdev.h
> @@ -3664,6 +3664,29 @@ int rte_eth_dev_filter_supported(uint8_t port_id,
> enum rte_filter_type filter_ty int rte_eth_dev_filter_ctrl(uint8_t port_id, enum
> rte_filter_type filter_type,
> enum rte_filter_op filter_op, void *arg);
>
> +/**
> + * Create memzone for HW rings.
> + * malloc can't be used as the physical address is needed.
> + * If the memzone is already created, then this function returns a ptr
> + * to the old one.
> + *
> + * @param eth_dev
> + * The *eth_dev* pointer is the address of the *rte_eth_dev* structure
> + * @param name
> + * The name of the memory zone
> + * @param queue_id
> + * The index of the queue to add to name
> + * @param size
> + * The sizeof of the memory area
> + * @param align
> + * Alignment for resulting memzone. Must be a power of 2.
> + * @param socket_id
> + * The *socket_id* argument is the socket identifier in case of NUMA.
> + */
> +const struct rte_memzone *
> +rte_eth_dma_zone_reserve(const struct rte_eth_dev *eth_dev, const char
> *name,
> + uint16_t queue_id, size_t size,
> + unsigned align, int socket_id);
> #ifdef __cplusplus
> }
> #endif
> diff --git a/lib/librte_mempool/rte_mempool.c
> b/lib/librte_mempool/rte_mempool.c
> index 4cf6c25..5056a4f 100644
> --- a/lib/librte_mempool/rte_mempool.c
> +++ b/lib/librte_mempool/rte_mempool.c
> @@ -372,19 +372,21 @@ rte_mempool_create(const char *name, unsigned n,
> unsigned elt_size,
> int socket_id, unsigned flags)
> {
> #ifdef RTE_LIBRTE_XEN_DOM0
> - return (rte_dom0_mempool_create(name, n, elt_size,
> - cache_size, private_data_size,
> - mp_init, mp_init_arg,
> - obj_init, obj_init_arg,
> - socket_id, flags));
> -#else
> - return (rte_mempool_xmem_create(name, n, elt_size,
> - cache_size, private_data_size,
> - mp_init, mp_init_arg,
> - obj_init, obj_init_arg,
> - socket_id, flags,
> - NULL, NULL, MEMPOOL_PG_NUM_DEFAULT,
> MEMPOOL_PG_SHIFT_MAX));
> + if (is_xen_dom0_supported())
> + return (rte_dom0_mempool_create(name, n, elt_size,
> + cache_size, private_data_size,
> + mp_init, mp_init_arg,
> + obj_init, obj_init_arg,
> + socket_id, flags));
> + else
> #endif
> + return (rte_mempool_xmem_create(name, n, elt_size,
> + cache_size, private_data_size,
> + mp_init, mp_init_arg,
> + obj_init, obj_init_arg,
> + socket_id, flags,
> + NULL, NULL,
> MEMPOOL_PG_NUM_DEFAULT,
> + MEMPOOL_PG_SHIFT_MAX));
> }
>
> /*
> diff --git a/lib/librte_pmd_e1000/em_rxtx.c b/lib/librte_pmd_e1000/em_rxtx.c
> index aa0b88c..9e09cfa 100644
> --- a/lib/librte_pmd_e1000/em_rxtx.c
> +++ b/lib/librte_pmd_e1000/em_rxtx.c
> @@ -1104,28 +1104,6 @@ eth_em_recv_scattered_pkts(void *rx_queue,
> struct rte_mbuf **rx_pkts,
> #define EM_MAX_BUF_SIZE 16384
> #define EM_RCTL_FLXBUF_STEP 1024
>
> -static const struct rte_memzone *
> -ring_dma_zone_reserve(struct rte_eth_dev *dev, const char *ring_name,
> - uint16_t queue_id, uint32_t ring_size, int socket_id)
> -{
> - const struct rte_memzone *mz;
> - char z_name[RTE_MEMZONE_NAMESIZE];
> -
> - snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d",
> - dev->driver->pci_drv.name, ring_name, dev->data->port_id,
> - queue_id);
> -
> - if ((mz = rte_memzone_lookup(z_name)) != 0)
> - return (mz);
> -
> -#ifdef RTE_LIBRTE_XEN_DOM0
> - return rte_memzone_reserve_bounded(z_name, ring_size,
> - socket_id, 0, RTE_CACHE_LINE_SIZE, RTE_PGSIZE_2M);
> -#else
> - return rte_memzone_reserve(z_name, ring_size, socket_id, 0);
> -#endif
> -}
> -
> static void
> em_tx_queue_release_mbufs(struct em_tx_queue *txq) { @@ -1273,8
> +1251,8 @@ eth_em_tx_queue_setup(struct rte_eth_dev *dev,
> * resizing in later calls to the queue setup function.
> */
> tsize = sizeof (txq->tx_ring[0]) * EM_MAX_RING_DESC;
> - if ((tz = ring_dma_zone_reserve(dev, "tx_ring", queue_idx, tsize,
> - socket_id)) == NULL)
> + if ((tz = rte_eth_dma_zone_reserve(dev, "tx_ring", queue_idx, tsize,
> + RTE_CACHE_LINE_SIZE, socket_id))
> == NULL)
> return (-ENOMEM);
>
> /* Allocate the tx queue data structure. */ @@ -1400,8 +1378,8 @@
> eth_em_rx_queue_setup(struct rte_eth_dev *dev,
>
> /* Allocate RX ring for max possible mumber of hardware descriptors.
> */
> rsize = sizeof (rxq->rx_ring[0]) * EM_MAX_RING_DESC;
> - if ((rz = ring_dma_zone_reserve(dev, "rx_ring", queue_idx, rsize,
> - socket_id)) == NULL)
> + if ((rz = rte_eth_dma_zone_reserve(dev, "rx_ring", queue_idx, rsize,
> + RTE_CACHE_LINE_SIZE, socket_id))
> == NULL)
> return (-ENOMEM);
>
> /* Allocate the RX queue data structure. */ diff --git
> a/lib/librte_pmd_e1000/igb_rxtx.c b/lib/librte_pmd_e1000/igb_rxtx.c index
> 5c394a9..d36469b 100644
> --- a/lib/librte_pmd_e1000/igb_rxtx.c
> +++ b/lib/librte_pmd_e1000/igb_rxtx.c
> @@ -1109,29 +1109,6 @@ eth_igb_recv_scattered_pkts(void *rx_queue,
> struct rte_mbuf **rx_pkts, #define IGB_MIN_RING_DESC 32 #define
> IGB_MAX_RING_DESC 4096
>
> -static const struct rte_memzone *
> -ring_dma_zone_reserve(struct rte_eth_dev *dev, const char *ring_name,
> - uint16_t queue_id, uint32_t ring_size, int socket_id)
> -{
> - char z_name[RTE_MEMZONE_NAMESIZE];
> - const struct rte_memzone *mz;
> -
> - snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d",
> - dev->driver->pci_drv.name, ring_name,
> - dev->data->port_id, queue_id);
> - mz = rte_memzone_lookup(z_name);
> - if (mz)
> - return mz;
> -
> -#ifdef RTE_LIBRTE_XEN_DOM0
> - return rte_memzone_reserve_bounded(z_name, ring_size,
> - socket_id, 0, IGB_ALIGN, RTE_PGSIZE_2M);
> -#else
> - return rte_memzone_reserve_aligned(z_name, ring_size,
> - socket_id, 0, IGB_ALIGN);
> -#endif
> -}
> -
> static void
> igb_tx_queue_release_mbufs(struct igb_tx_queue *txq) { @@ -1265,8
> +1242,8 @@ eth_igb_tx_queue_setup(struct rte_eth_dev *dev,
> * resizing in later calls to the queue setup function.
> */
> size = sizeof(union e1000_adv_tx_desc) * IGB_MAX_RING_DESC;
> - tz = ring_dma_zone_reserve(dev, "tx_ring", queue_idx,
> - size, socket_id);
> + tz = rte_eth_dma_zone_reserve(dev, "tx_ring", queue_idx, size,
> + IGB_ALIGN, socket_id);
> if (tz == NULL) {
> igb_tx_queue_release(txq);
> return (-ENOMEM);
> @@ -1284,12 +1261,14 @@ eth_igb_tx_queue_setup(struct rte_eth_dev
> *dev,
> txq->port_id = dev->data->port_id;
>
> txq->tdt_reg_addr = E1000_PCI_REG_ADDR(hw, E1000_TDT(txq-
> >reg_idx)); -#ifndef RTE_LIBRTE_XEN_DOM0
> - txq->tx_ring_phys_addr = (uint64_t) tz->phys_addr;
> -#else
> - txq->tx_ring_phys_addr = rte_mem_phy2mch(tz->memseg_id, tz-
> >phys_addr);
> +#ifdef RTE_LIBRTE_XEN_DOM0
> + if (is_xen_dom0_supported())
> + txq->tx_ring_phys_addr = rte_mem_phy2mch(tz->memseg_id,
> tz->phys_addr);
> + else
> #endif
> - txq->tx_ring = (union e1000_adv_tx_desc *) tz->addr;
> + txq->tx_ring_phys_addr = (uint64_t) tz->phys_addr;
> +
> + txq->tx_ring = (union e1000_adv_tx_desc *) tz->addr;
> /* Allocate software ring */
> txq->sw_ring = rte_zmalloc("txq->sw_ring",
> sizeof(struct igb_tx_entry) * nb_desc, @@ -
> 1414,18 +1393,21 @@ eth_igb_rx_queue_setup(struct rte_eth_dev *dev,
> * resizing in later calls to the queue setup function.
> */
> size = sizeof(union e1000_adv_rx_desc) * IGB_MAX_RING_DESC;
> - rz = ring_dma_zone_reserve(dev, "rx_ring", queue_idx, size, socket_id);
> + rz = rte_eth_dma_zone_reserve(dev, "rx_ring", queue_idx, size,
> + IGB_ALIGN, socket_id);
> if (rz == NULL) {
> igb_rx_queue_release(rxq);
> return (-ENOMEM);
> }
> rxq->rdt_reg_addr = E1000_PCI_REG_ADDR(hw, E1000_RDT(rxq-
> >reg_idx));
> rxq->rdh_reg_addr = E1000_PCI_REG_ADDR(hw, E1000_RDH(rxq-
> >reg_idx)); -#ifndef RTE_LIBRTE_XEN_DOM0
> - rxq->rx_ring_phys_addr = (uint64_t) rz->phys_addr;
> -#else
> - rxq->rx_ring_phys_addr = rte_mem_phy2mch(rz->memseg_id, rz-
> >phys_addr);
> +#ifdef RTE_LIBRTE_XEN_DOM0
> + if (is_xen_dom0_supported())
> + rxq->rx_ring_phys_addr =
> + rte_mem_phy2mch(rz->memseg_id, rz->phys_addr);
> + else
> #endif
> + rxq->rx_ring_phys_addr = (uint64_t) rz->phys_addr;
> rxq->rx_ring = (union e1000_adv_rx_desc *) rz->addr;
>
> /* Allocate software ring. */
> diff --git a/lib/librte_pmd_i40e/i40e_ethdev.c
> b/lib/librte_pmd_i40e/i40e_ethdev.c
> index 9fa6bec..44a012f 100644
> --- a/lib/librte_pmd_i40e/i40e_ethdev.c
> +++ b/lib/librte_pmd_i40e/i40e_ethdev.c
> @@ -1979,11 +1979,12 @@
> i40e_allocate_dma_mem_d(__attribute__((unused)) struct i40e_hw *hw,
> id++;
> snprintf(z_name, sizeof(z_name), "i40e_dma_%"PRIu64, id); #ifdef
> RTE_LIBRTE_XEN_DOM0
> - mz = rte_memzone_reserve_bounded(z_name, size, 0, 0, alignment,
> - RTE_PGSIZE_2M);
> -#else
> - mz = rte_memzone_reserve_aligned(z_name, size, 0, 0, alignment);
> + if (is_xen_dom0_supported())
> + mz = rte_memzone_reserve_bounded(z_name, size, 0, 0,
> alignment,
> + RTE_PGSIZE_2M);
> + else
> #endif
> + mz = rte_memzone_reserve_aligned(z_name, size, 0, 0,
> alignment);
> if (!mz)
> return I40E_ERR_NO_MEMORY;
>
> @@ -1991,10 +1992,11 @@
> i40e_allocate_dma_mem_d(__attribute__((unused)) struct i40e_hw *hw,
> mem->size = size;
> mem->va = mz->addr;
> #ifdef RTE_LIBRTE_XEN_DOM0
> - mem->pa = rte_mem_phy2mch(mz->memseg_id, mz->phys_addr);
> -#else
> - mem->pa = mz->phys_addr;
> + if (is_xen_dom0_supported())
> + mem->pa = rte_mem_phy2mch(mz->memseg_id, mz-
> >phys_addr);
> + else
> #endif
> + mem->pa = mz->phys_addr;
>
> return I40E_SUCCESS;
> }
> diff --git a/lib/librte_pmd_i40e/i40e_fdir.c b/lib/librte_pmd_i40e/i40e_fdir.c
> index 68511c8..4c5b185 100644
> --- a/lib/librte_pmd_i40e/i40e_fdir.c
> +++ b/lib/librte_pmd_i40e/i40e_fdir.c
> @@ -274,10 +274,12 @@ i40e_fdir_setup(struct i40e_pf *pf)
> }
> pf->fdir.prg_pkt = mz->addr;
> #ifdef RTE_LIBRTE_XEN_DOM0
> - pf->fdir.dma_addr = rte_mem_phy2mch(mz->memseg_id, mz-
> >phys_addr);
> -#else
> - pf->fdir.dma_addr = (uint64_t)mz->phys_addr;
> + if (is_xen_dom0_supported())
> + pf->fdir.dma_addr = rte_mem_phy2mch(mz->memseg_id, mz-
> >phys_addr);
> + else
> #endif
> + pf->fdir.dma_addr = (uint64_t)mz->phys_addr;
> +
> pf->fdir.match_counter_index = I40E_COUNTER_INDEX_FDIR(hw-
> >pf_id);
> PMD_DRV_LOG(INFO, "FDIR setup successfully, with programming
> queue %u.",
> vsi->base_queue);
> diff --git a/lib/librte_pmd_i40e/i40e_rxtx.c b/lib/librte_pmd_i40e/i40e_rxtx.c
> index 2beae3c..bd01dc0 100644
> --- a/lib/librte_pmd_i40e/i40e_rxtx.c
> +++ b/lib/librte_pmd_i40e/i40e_rxtx.c
> @@ -1796,10 +1796,11 @@ i40e_dev_rx_queue_setup(struct rte_eth_dev
> *dev,
> memset(rz->addr, 0, ring_size);
>
> #ifdef RTE_LIBRTE_XEN_DOM0
> - rxq->rx_ring_phys_addr = rte_mem_phy2mch(rz->memseg_id, rz-
> >phys_addr);
> -#else
> - rxq->rx_ring_phys_addr = (uint64_t)rz->phys_addr;
> + if (is_xen_dom0_supported())
> + rxq->rx_ring_phys_addr = rte_mem_phy2mch(rz->memseg_id,
> rz->phys_addr);
> + else
> #endif
> + rxq->rx_ring_phys_addr = (uint64_t)rz->phys_addr;
>
> rxq->rx_ring = (union i40e_rx_desc *)rz->addr;
>
> @@ -2079,10 +2080,11 @@ i40e_dev_tx_queue_setup(struct rte_eth_dev
> *dev,
> txq->tx_deferred_start = tx_conf->tx_deferred_start;
>
> #ifdef RTE_LIBRTE_XEN_DOM0
> - txq->tx_ring_phys_addr = rte_mem_phy2mch(tz->memseg_id, tz-
> >phys_addr);
> -#else
> - txq->tx_ring_phys_addr = (uint64_t)tz->phys_addr;
> + if (is_xen_dom0_supported())
> + txq->tx_ring_phys_addr = rte_mem_phy2mch(tz->memseg_id,
> tz->phys_addr);
> + else
> #endif
> + txq->tx_ring_phys_addr = (uint64_t)tz->phys_addr;
> txq->tx_ring = (struct i40e_tx_desc *)tz->addr;
>
> /* Allocate software ring */
> @@ -2147,12 +2149,13 @@ i40e_ring_dma_zone_reserve(struct rte_eth_dev
> *dev,
> return mz;
>
> #ifdef RTE_LIBRTE_XEN_DOM0
> - return rte_memzone_reserve_bounded(z_name, ring_size,
> - socket_id, 0, I40E_ALIGN, RTE_PGSIZE_2M);
> -#else
> - return rte_memzone_reserve_aligned(z_name, ring_size,
> - socket_id, 0, I40E_ALIGN);
> -#endif
> + if (is_xen_dom0_supported())
> + return rte_memzone_reserve_bounded(z_name, ring_size,
> + socket_id, 0, I40E_ALIGN, RTE_PGSIZE_2M);
> + else
> +#endif
> + return rte_memzone_reserve_aligned(z_name, ring_size,
> + socket_id, 0, I40E_ALIGN);
> }
>
> const struct rte_memzone *
> @@ -2164,12 +2167,14 @@ i40e_memzone_reserve(const char *name,
> uint32_t len, int socket_id)
> if (mz)
> return mz;
> #ifdef RTE_LIBRTE_XEN_DOM0
> - mz = rte_memzone_reserve_bounded(name, len,
> - socket_id, 0, I40E_ALIGN, RTE_PGSIZE_2M);
> -#else
> - mz = rte_memzone_reserve_aligned(name, len,
> - socket_id, 0, I40E_ALIGN);
> + if (is_xen_dom0_supported())
> + mz = rte_memzone_reserve_bounded(name, len,
> + socket_id, 0, I40E_ALIGN, RTE_PGSIZE_2M);
> + else
> #endif
> + mz = rte_memzone_reserve_aligned(name, len,
> + socket_id, 0, I40E_ALIGN);
> +
> return mz;
> }
>
> @@ -2573,10 +2578,13 @@ i40e_fdir_setup_tx_resources(struct i40e_pf *pf)
> txq->vsi = pf->fdir.fdir_vsi;
>
> #ifdef RTE_LIBRTE_XEN_DOM0
> - txq->tx_ring_phys_addr = rte_mem_phy2mch(tz->memseg_id, tz-
> >phys_addr);
> -#else
> - txq->tx_ring_phys_addr = (uint64_t)tz->phys_addr;
> + if (is_xen_dom0_supported())
> + txq->tx_ring_phys_addr = rte_mem_phy2mch(tz->memseg_id,
> + tz->phys_addr);
> + else
> #endif
> + txq->tx_ring_phys_addr = (uint64_t)tz->phys_addr;
> +
> txq->tx_ring = (struct i40e_tx_desc *)tz->addr;
> /*
> * don't need to allocate software ring and reset for the fdir @@ -
> 2633,10 +2641,13 @@ i40e_fdir_setup_rx_resources(struct i40e_pf *pf)
> rxq->vsi = pf->fdir.fdir_vsi;
>
> #ifdef RTE_LIBRTE_XEN_DOM0
> - rxq->rx_ring_phys_addr = rte_mem_phy2mch(rz->memseg_id, rz-
> >phys_addr);
> -#else
> - rxq->rx_ring_phys_addr = (uint64_t)rz->phys_addr;
> + if (is_xen_dom0_supported())
> + rxq->rx_ring_phys_addr = rte_mem_phy2mch(rz->memseg_id,
> + rz->phys_addr);
> + else
> #endif
> + rxq->rx_ring_phys_addr = (uint64_t)rz->phys_addr;
> +
> rxq->rx_ring = (union i40e_rx_desc *)rz->addr;
>
> /*
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> index e6766b3..303144d 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> @@ -1656,35 +1656,6 @@ ixgbe_recv_scattered_pkts(void *rx_queue, struct
> rte_mbuf **rx_pkts, #define IXGBE_MIN_RING_DESC 32 #define
> IXGBE_MAX_RING_DESC 4096
>
> -/*
> - * Create memzone for HW rings. malloc can't be used as the physical address is
> - * needed. If the memzone is already created, then this function returns a ptr
> - * to the old one.
> - */
> -static const struct rte_memzone *
> -ring_dma_zone_reserve(struct rte_eth_dev *dev, const char *ring_name,
> - uint16_t queue_id, uint32_t ring_size, int socket_id)
> -{
> - char z_name[RTE_MEMZONE_NAMESIZE];
> - const struct rte_memzone *mz;
> -
> - snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d",
> - dev->driver->pci_drv.name, ring_name,
> - dev->data->port_id, queue_id);
> -
> - mz = rte_memzone_lookup(z_name);
> - if (mz)
> - return mz;
> -
> -#ifdef RTE_LIBRTE_XEN_DOM0
> - return rte_memzone_reserve_bounded(z_name, ring_size,
> - socket_id, 0, IXGBE_ALIGN, RTE_PGSIZE_2M);
> -#else
> - return rte_memzone_reserve_aligned(z_name, ring_size,
> - socket_id, 0, IXGBE_ALIGN);
> -#endif
> -}
> -
> static void
> ixgbe_tx_queue_release_mbufs(struct igb_tx_queue *txq) { @@ -1920,9
> +1891,9 @@ ixgbe_dev_tx_queue_setup(struct rte_eth_dev *dev,
> * handle the maximum ring size is allocated in order to allow for
> * resizing in later calls to the queue setup function.
> */
> - tz = ring_dma_zone_reserve(dev, "tx_ring", queue_idx,
> + tz = rte_eth_dma_zone_reserve(dev, "tx_ring", queue_idx,
> sizeof(union ixgbe_adv_tx_desc) *
> IXGBE_MAX_RING_DESC,
> - socket_id);
> + IXGBE_ALIGN, socket_id);
> if (tz == NULL) {
> ixgbe_tx_queue_release(txq);
> return (-ENOMEM);
> @@ -1950,11 +1921,14 @@ ixgbe_dev_tx_queue_setup(struct rte_eth_dev
> *dev,
> txq->tdt_reg_addr = IXGBE_PCI_REG_ADDR(hw,
> IXGBE_VFTDT(queue_idx));
> else
> txq->tdt_reg_addr = IXGBE_PCI_REG_ADDR(hw,
> IXGBE_TDT(txq->reg_idx));
> -#ifndef RTE_LIBRTE_XEN_DOM0
> - txq->tx_ring_phys_addr = (uint64_t) tz->phys_addr;
> -#else
> - txq->tx_ring_phys_addr = rte_mem_phy2mch(tz->memseg_id, tz-
> >phys_addr);
> +
> +#ifdef RTE_LIBRTE_XEN_DOM0
> + if (is_xen_dom0_supported())
> + txq->tx_ring_phys_addr =
> + rte_mem_phy2mch(tz->memseg_id, tz->phys_addr);
> + else
> #endif
> + txq->tx_ring_phys_addr = (uint64_t) tz->phys_addr;
> txq->tx_ring = (union ixgbe_adv_tx_desc *) tz->addr;
>
> /* Allocate software ring */
> @@ -2195,8 +2169,8 @@ ixgbe_dev_rx_queue_setup(struct rte_eth_dev
> *dev,
> * handle the maximum ring size is allocated in order to allow for
> * resizing in later calls to the queue setup function.
> */
> - rz = ring_dma_zone_reserve(dev, "rx_ring", queue_idx,
> - RX_RING_SZ, socket_id);
> + rz = rte_eth_dma_zone_reserve(dev, "rx_ring", queue_idx,
> + RX_RING_SZ, IXGBE_ALIGN, socket_id);
> if (rz == NULL) {
> ixgbe_rx_queue_release(rxq);
> return (-ENOMEM);
> @@ -2223,11 +2197,13 @@ ixgbe_dev_rx_queue_setup(struct rte_eth_dev
> *dev,
> rxq->rdh_reg_addr =
> IXGBE_PCI_REG_ADDR(hw, IXGBE_RDH(rxq->reg_idx));
> }
> -#ifndef RTE_LIBRTE_XEN_DOM0
> - rxq->rx_ring_phys_addr = (uint64_t) rz->phys_addr;
> -#else
> - rxq->rx_ring_phys_addr = rte_mem_phy2mch(rz->memseg_id, rz-
> >phys_addr);
> +#ifdef RTE_LIBRTE_XEN_DOM0
> + if (is_xen_dom0_supported())
> + rxq->rx_ring_phys_addr =
> + rte_mem_phy2mch(rz->memseg_id, rz->phys_addr);
> + else
> #endif
> + rxq->rx_ring_phys_addr = (uint64_t) rz->phys_addr;
> rxq->rx_ring = (union ixgbe_adv_rx_desc *) rz->addr;
>
> /*
> --
> 2.1.4
Acked-by: Jijiang Liu <Jijiang.liu@intel.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] #PERSONAL# Guest Machine is not Pingable from Host Machine
2015-03-10 5:17 ` Arkajit Ghosh
@ 2015-03-10 8:06 ` Ngo Doan Lap
2015-03-10 9:02 ` Arkajit Ghosh
1 sibling, 0 replies; 6+ messages in thread
From: Ngo Doan Lap @ 2015-03-10 8:06 UTC (permalink / raw)
To: Arkajit Ghosh; +Cc: dev
Hi,
You need use dpdkvhost port for VM, not dpdk port.
For example, here is the log
9029690c-9544-4ad0-aa41-b018c1a755e2
Bridge "br1"
Port "dpdkvhost1"
Interface "dpdkvhost1"
type: dpdkvhost
Port "br1"
Interface "br1"
type: internal
Port "dpdk0"
Interface "dpdk0"
type: dpdk
Port "dpdk1"
Interface "dpdk1"
type: dpdk
Port "dpdkvhost0"
Interface "dpdkvhost0"
type: dpdkvhost
Please refer to this link
https://01.org/sites/default/files/page/intel_onp_server_release_1.2_benchmark_test_report_v1.0.pdf
(Page 40,41,...53..)
It will help you to setup OVS correctly.
On Tue, Mar 10, 2015 at 12:17 PM, Arkajit Ghosh <arkajit.ghosh@tcs.com>
wrote:
>
> Hi,
>
> Please find the attachement.
>
>
> Thanks & Regards
> Arkajit Ghosh
>
> ____________________________________________
>
> -----Ngo Doan Lap <lapngodoan@gmail.com> wrote: -----
> To: Arkajit Ghosh <arkajit.ghosh@tcs.com>
> From: Ngo Doan Lap <lapngodoan@gmail.com>
> Date: 03/10/2015 10:25AM
> Cc: dev@dpdk.org
> Subject: Re: #PERSONAL#[dpdk-dev] Guest Machine is not Pingable from Host
> Machine
>
>
> Hi Arkajit,
> I can't find your attachment.
>
> On Tue, Mar 10, 2015 at 10:23 AM, Arkajit Ghosh <arkajit.ghosh@tcs.com>
> wrote:
>
>>
>> Hi,
>>
>> Can any one please suggest how to proceed now.
>>
>>
>> Thanks & Regards
>> Arkajit Ghosh
>> ____________________________________________
>>
>> -----Arkajit Ghosh/DEL/TCS wrote: -----
>> To: Ngo Doan Lap <lapngodoan@gmail.com>
>> From: Arkajit Ghosh/DEL/TCS
>> Date: 03/09/2015 09:39AM
>> Cc: dev@dpdk.org
>> Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
>>
>>
>> Hi,
>>
>> I have executed below commands:
>>
>> ./utilities/ovs-vsctl add-br ovsbr0
>> ./utilities/ovs-vsctl set bridge datapath_type=netdev
>> ./utilities/ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0
>> type=dpdk
>> ./utilities/ovs-vsctl add-port ovsbr0 dpdk1 -- set Interface dpdk1
>> type=dpdk
>> ./utilities/ovs-vsctl show
>>
>> Please find the attachement for bridge and dpdk-port creation..
>>
>> Now, If i do "ifconfig -a" the created bridge ovsbr0 is showing Broadcast
>> Running and Multicast but ip address was not given. So i had assign an
>> IP-address to ovsbr0 which previously Eth1 had.
>>
>> So, now I try to ping this guest machine ip address from its host. Here
>> is the output.
>>
>> ping 192.168.1.7
>> PING 192.168.1.7 (192.168.1.7) 56(84) bytes of data.
>> From 192.168.1.40 icmp_seq=1 Destination Host Unreachable
>> From 192.168.1.40 icmp_seq=5 Destination Host Unreachable
>> From 192.168.1.40 icmp_seq=6 Destination Host Unreachable
>> From 192.168.1.40 icmp_seq=7 Destination Host Unreachable
>> From 192.168.1.40 icmp_seq=8 Destination Host Unreachable
>> From 192.168.1.40 icmp_seq=9 Destination Host Unreachable
>>
>>
>> *I believe it should be pinged from its host machine. Can please let me
>> know what is the issue and how to proceed.*
>> Thanks & Regards
>> Arkajit Ghosh
>> ____________________________________________
>>
>> -----Ngo Doan Lap <lapngodoan@gmail.com> wrote: -----
>> To: Arkajit Ghosh <arkajit.ghosh@tcs.com>
>> From: Ngo Doan Lap <lapngodoan@gmail.com>
>> Date: 03/06/2015 08:52PM
>> Cc: dev@dpdk.org
>> Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
>>
>> Hi,
>> Can you show the log output of OVS? and the ouput of following command
>> cd path/to/ovs/utilities/
>> ./ovs-ofctl show br0
>> ./ovs-ofctl dump-flows br0
>> (Assum that br0 is a bridge name that you had created)
>>
>> On Fri, Mar 6, 2015 at 10:14 PM, Arkajit Ghosh <arkajit.ghosh@tcs.com>
>> wrote:
>>
>>> Hi,
>>>
>>> Can anyone please suggest how to proceed.
>>>
>>>
>>> Thanks & Regards
>>> Arkajit Ghosh
>>>
>>> -----Arkajit Ghosh/DEL/TCS wrote: -----
>>> To: dev@dpdk.org
>>> From: Arkajit Ghosh/DEL/TCS
>>> Date: 03/04/2015 12:39PM
>>> Subject: Guest Machine is not Pingable from Host Machine
>>>
>>> Hi Team,
>>>
>>> Guest machine is not pingable from Host machine after creating a bridge
>>> with datapath_type "netdev" in the configuration database and adding dpdk
>>> ports. Can anyone please let me know what is the issue.
>>>
>>> Thanks in advance.
>>>
>>> Thanks & Regards
>>> Arkajit Ghosh
>>>
>>>
>>> =====-----=====-----=====
>>> Notice: The information contained in this e-mail
>>> message and/or attachments to it may contain
>>> confidential or privileged information. If you are
>>> not the intended recipient, any dissemination, use,
>>> review, distribution, printing or copying of the
>>> information contained in this e-mail message
>>> and/or attachments to it are strictly prohibited. If
>>> you have received this communication in error,
>>> please notify us by reply e-mail or telephone and
>>> immediately and permanently delete the message
>>> and any attachments. Thank you
>>>
>>>
>>>
>>
>>
>> --
>> Thanks and Best Regards,
>> Ngo Doan Lap
>> Mobile: 0977.833.757
>>
>>
>> [attachment "DPDK_Output_Result.odt" removed by Arkajit Ghosh/DEL/TCS]
>>
>
>
>
> --
> Thanks and Best Regards,
> Ngo Doan Lap
> Mobile: 0977.833.757
>
--
Thanks and Best Regards,
Ngo Doan Lap
Mobile: 0977.833.757
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] #PERSONAL# Guest Machine is not Pingable from Host Machine
2015-03-10 5:17 ` Arkajit Ghosh
2015-03-10 8:06 ` Ngo Doan Lap
@ 2015-03-10 9:02 ` Arkajit Ghosh
1 sibling, 0 replies; 6+ messages in thread
From: Arkajit Ghosh @ 2015-03-10 9:02 UTC (permalink / raw)
To: Ngo Doan Lap; +Cc: dev
Hi,
Ok. Thanks a lot. Give me some time. I will go through the .pdf file page numbers as you mentioned. Once done I will let you know.
Once a again thanks a lot for your support and quick response.
Thanks & Regards
Arkajit Ghosh
____________________________________________
-----Ngo Doan Lap <lapngodoan@gmail.com> wrote: -----
To: Arkajit Ghosh <arkajit.ghosh@tcs.com>
From: Ngo Doan Lap <lapngodoan@gmail.com>
Date: 03/10/2015 01:36PM
Cc: dev@dpdk.org
Subject: Re: #PERSONAL#[dpdk-dev] Guest Machine is not Pingable from Host Machine
Hi,
You need use dpdkvhost port for VM, not dpdk port.
For example, here is the log
9029690c-9544-4ad0-aa41-b018c1a755e2
Bridge "br1"
Port "dpdkvhost1"
Interface "dpdkvhost1"
type: dpdkvhost
Port "br1"
Interface "br1"
type: internal
Port "dpdk0"
Interface "dpdk0"
type: dpdk
Port "dpdk1"
Interface "dpdk1"
type: dpdk
Port "dpdkvhost0"
Interface "dpdkvhost0"
type: dpdkvhost
Please refer to this link https://01.org/sites/default/files/page/intel_onp_server_release_1.2_benchmark_test_report_v1.0.pdf
(Page 40,41,...53..)
It will help you to setup OVS correctly.
On Tue, Mar 10, 2015 at 12:17 PM, Arkajit Ghosh <arkajit.ghosh@tcs.com> wrote:
Hi,
Please find the attachement.
Thanks & Regards
Arkajit Ghosh
____________________________________________
-----Ngo Doan Lap <lapngodoan@gmail.com> wrote: -----
To: Arkajit Ghosh <arkajit.ghosh@tcs.com>
From: Ngo Doan Lap <lapngodoan@gmail.com>
Date: 03/10/2015 10:25AM
Cc: dev@dpdk.org
Subject: Re: #PERSONAL#[dpdk-dev] Guest Machine is not Pingable from Host Machine
Hi Arkajit,
I can't find your attachment.
On Tue, Mar 10, 2015 at 10:23 AM, Arkajit Ghosh <arkajit.ghosh@tcs.com> wrote:
Hi,
Can any one please suggest how to proceed now.
Thanks & Regards
Arkajit Ghosh
____________________________________________
-----Arkajit Ghosh/DEL/TCS wrote: -----
To: Ngo Doan Lap <lapngodoan@gmail.com>
From: Arkajit Ghosh/DEL/TCS
Date: 03/09/2015 09:39AM
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
Hi,
I have executed below commands:
./utilities/ovs-vsctl add-br ovsbr0
./utilities/ovs-vsctl set bridge datapath_type=netdev
./utilities/ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0 type=dpdk
./utilities/ovs-vsctl add-port ovsbr0 dpdk1 -- set Interface dpdk1 type=dpdk
./utilities/ovs-vsctl show
Please find the attachement for bridge and dpdk-port creation..
Now, If i do "ifconfig -a" the created bridge ovsbr0 is showing Broadcast Running and Multicast but ip address was not given. So i had assign an IP-address to ovsbr0 which previously Eth1 had.
So, now I try to ping this guest machine ip address from its host. Here is the output.
ping 192.168.1.7
PING 192.168.1.7 (192.168.1.7) 56(84) bytes of data.
>From 192.168.1.40 icmp_seq=1 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=5 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=6 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=7 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=8 Destination Host Unreachable
>From 192.168.1.40 icmp_seq=9 Destination Host Unreachable
I believe it should be pinged from its host machine. Can please let me know what is the issue and how to proceed.
Thanks & Regards
Arkajit Ghosh
____________________________________________
-----Ngo Doan Lap <lapngodoan@gmail.com> wrote: -----
To: Arkajit Ghosh <arkajit.ghosh@tcs.com>
From: Ngo Doan Lap <lapngodoan@gmail.com>
Date: 03/06/2015 08:52PM
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Guest Machine is not Pingable from Host Machine
Hi,
Can you show the log output of OVS? and the ouput of following command
cd path/to/ovs/utilities/
./ovs-ofctl show br0
./ovs-ofctl dump-flows br0
(Assum that br0 is a bridge name that you had created)
On Fri, Mar 6, 2015 at 10:14 PM, Arkajit Ghosh <arkajit.ghosh@tcs.com> wrote:
Hi,
Can anyone please suggest how to proceed.
Thanks & Regards
Arkajit Ghosh
-----Arkajit Ghosh/DEL/TCS wrote: -----
To: dev@dpdk.org
From: Arkajit Ghosh/DEL/TCS
Date: 03/04/2015 12:39PM
Subject: Guest Machine is not Pingable from Host Machine
Hi Team,
Guest machine is not pingable from Host machine after creating a bridge with datapath_type "netdev" in the configuration database and adding dpdk ports. Can anyone please let me know what is the issue.
Thanks in advance.
Thanks & Regards
Arkajit Ghosh
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
--
Thanks and Best Regards,
Ngo Doan Lap
Mobile: 0977.833.757
[attachment "DPDK_Output_Result.odt" removed by Arkajit Ghosh/DEL/TCS]
--
Thanks and Best Regards,
Ngo Doan Lap
Mobile: 0977.833.757
--
Thanks and Best Regards,
Ngo Doan Lap
Mobile: 0977.833.757
From david.marchand@6wind.com Tue Mar 10 10:08:25 2015
Return-Path: <david.marchand@6wind.com>
Received: from mail-ob0-f179.google.com (mail-ob0-f179.google.com
[209.85.214.179]) by dpdk.org (Postfix) with ESMTP id 3F83C683D
for <dev@dpdk.org>; Tue, 10 Mar 2015 10:08:25 +0100 (CET)
Received: by obcwp18 with SMTP id wp18so206595obc.1
for <dev@dpdk.org>; Tue, 10 Mar 2015 02:08:24 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d\x1e100.net; s 130820;
h=x-gm-message-state:mime-version:in-reply-to:references:date
:message-id:subject:from:to:cc:content-type;
bh=2s67r5LvFijGyGxIoW1y/VSxjaaAYg0Et+v6tKCHhQc=;
b=J22zUxZIbEmpQJF21aEnzjEd6eJcGB96eWJgnvlByw4PJAoeH0rduyecYeixDmi6Eq
lD4Ii8HVIEcXclOz+GVjq7JpOBcL8m6XUeqe+7kuHKy8TXR4jq3qUp8WU+h9XoEXz/oQ
FrA8mCUH6jqu/7p1npmfApor2QXMfJLtaDmPTO0GEERpk4vE8mIpFGMPku5B4ZQk0s2f
fhPu3slfTwSdtdSZzW44+dl9b5ZSy/JWBa5aLHg/DJMn7gQonkq7WSkEQB/iZMC1j7b+
b4DjnsISYaRwKA7sgu8p2D7sCzp5ie9S8M831kYkLCWpeJWXtz2S6p21bXdLPxNnGrwM
I+/g=X-Gm-Message-State: ALoCoQlzYhrT9UpuHf7IC+5soZWs50KwFY+gIl8Ak6A8JK4toarcJa29pGOTYMQ/Bc5gu+b0rSko
MIME-Version: 1.0
X-Received: by 10.202.108.137 with SMTP id h131mr23718734oic.90.1425978504561;
Tue, 10 Mar 2015 02:08:24 -0700 (PDT)
Received: by 10.76.34.35 with HTTP; Tue, 10 Mar 2015 02:08:24 -0700 (PDT)
In-Reply-To: <20150309152106.GA24326@hmsreliant.think-freely.org>
References: <CALwxeUuQtv685KnbmpZKCPkrAqmjLs558xeCW7c=-TPTsB423w@mail.gmail.com>
<1425912999-13118-1-git-send-email-david.marchand@6wind.com>
<1425912999-13118-2-git-send-email-david.marchand@6wind.com>
<20150309152106.GA24326@hmsreliant.think-freely.org>
Date: Tue, 10 Mar 2015 10:08:24 +0100
Message-ID: <CALwxeUs4hPbYDPBUfz9u2AoiCoj_wwTsAyj=_1xxzuT6LLW6nw@mail.gmail.com>
From: David Marchand <david.marchand@6wind.com>
To: Neil Horman <nhorman@tuxdriver.com>
Content-Type: text/plain; charset=UTF-8
X-Content-Filtered-By: Mailman/MimeDel 2.1.15
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH 1/2] eal/linux: move plugin load to very
start of eal init
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
<mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
<mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Mar 2015 09:08:25 -0000
Hello Neil,
On Mon, Mar 9, 2015 at 4:21 PM, Neil Horman <nhorman@tuxdriver.com> wrote:
> On Mon, Mar 09, 2015 at 03:56:38PM +0100, David Marchand wrote:
> > Loading shared libraries should be done at the very start of eal init so
> that
> > the code statically built in dpdk and the code loaded from shared
> objects is
> > handled (almost) the same way wrt to call to rte_eal_init().
> > The only thing that must be done before is filling the solib_list which
> is done
> > by eal_parse_args().
> >
>
>
> I don't see anything explicitly wrong with this, but at the same time it
> doesn't
> seem to fix anything. Is there a particular bug that you're fixing in
> relation
> to your cover letter here? Or is there some expectation that PMD's loaded
> in
> this fashion expect the dpdk to be completely uninitalized? That would
> seem
> like a strange operational requirement to me.
>
Well, at first, I wanted to fix the virtio pmd init issue (iopl() not
called at the right place wrt to other pthreads created in rte_eal_init()).
With next patch, this issue is fixed for statically builtin virtio pmd, but
for virtio pmd as a shared object, the dlopen comes too late.
So, yes, I moved the dlopen() for this reason.
>From a more general point of view, since we support both static and dso
pmds, I would say that this is more logical to have dlopen comes very
early, since static code is "loaded" even earlier : if the current pmds
needed more than just register to the driver list, they would already have
triggered segfaults and/or bugs.
I know this change comes really late for 2.0.
I am open to other ideas but I don't want to see more #ifdef <some feature>
in eal.c (especially for a pmd), this is a non sense.
I would say that at least the patch 2 is needed for 2.0 : it fixes the
static case, but without patch 1 virtio pmd triggers a segfault on
interrupt receipt when built as a dso.
--
David Marchand
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-03-10 9:02 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <OF1BFC3766.0052894D-ON65257E03.0056F422-65257E03.0056F426@LocalDomain>
[not found] ` <OF8B2F924F.894C6787-ON65257E03.0016A853-65257E03.0016D247@LocalDomain>
2015-03-09 15:49 ` [dpdk-dev] Guest Machine is not Pingable from Host Machine Arkajit Ghosh
2015-03-10 3:23 ` [dpdk-dev] #PERSONAL# " Arkajit Ghosh
2015-03-10 4:55 ` Ngo Doan Lap
2015-03-10 5:17 ` Arkajit Ghosh
2015-03-10 8:06 ` Ngo Doan Lap
2015-03-10 9:02 ` Arkajit Ghosh
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).