DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] sending and receiving packets
@ 2013-10-16 14:42 Gopi Krishna B
  2013-10-17 11:36 ` Prashant Upadhyaya
  0 siblings, 1 reply; 8+ messages in thread
From: Gopi Krishna B @ 2013-10-16 14:42 UTC (permalink / raw)
  To: dev

Hi,
I have DPDK 1.5 configured on my machine, I have also configured the rump
kernel tcpip stack.

Now, to check whether the setup works, I started *TCP Server
application*on another machine and connected the LAN cable to the port
which is
controlled by DPDK.
And I am running *TCP client application* on the machine having DPDK and
rumpkernel tcpip stack.

The tcp client and server cannot communicate, is there some other
configuration to be taken care for the traffic to flow appropriately on the
machine running DPDK.
I have checked similar posts on the mailing list, but didnot get clue on
how to debug the issue I am facing.
Any pointer/suggestions would be really of great help.

-- 
Regards
Gopi Krishna

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] sending and receiving packets
  2013-10-16 14:42 [dpdk-dev] sending and receiving packets Gopi Krishna B
@ 2013-10-17 11:36 ` Prashant Upadhyaya
  2013-10-17 12:01   ` Gal Sagie
  0 siblings, 1 reply; 8+ messages in thread
From: Prashant Upadhyaya @ 2013-10-17 11:36 UTC (permalink / raw)
  To: Gopi Krishna B, dev

Hi Gopi,

I have not worked with rumpkernel tcpip stack.
Does it run 'with' the DPDK in the userspace and is your tcp client application interacting over sockets to that tcpip stack in user space ?

If your stack is running in the kernel, then ofcourse you have to use a tap interface to interface with the kernel.

Can you describe your usecase in more details eg. what is the dpdk app, is the tcp client itself the dpdk app and so forth.

Normally, I use tcpclient/server as a normal linux kernel interfacing apps. I run a DPDK app and use a tap interface to switch packets in an out of the kernel. The kernel interacts over sockets with tcpclient/server as usual.

Regards
-Prashant


-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Gopi Krishna B
Sent: Wednesday, October 16, 2013 8:13 PM
To: dev@dpdk.org
Subject: [dpdk-dev] sending and receiving packets

Hi,
I have DPDK 1.5 configured on my machine, I have also configured the rump kernel tcpip stack.

Now, to check whether the setup works, I started *TCP Server application*on another machine and connected the LAN cable to the port which is controlled by DPDK.
And I am running *TCP client application* on the machine having DPDK and rumpkernel tcpip stack.

The tcp client and server cannot communicate, is there some other configuration to be taken care for the traffic to flow appropriately on the machine running DPDK.
I have checked similar posts on the mailing list, but didnot get clue on how to debug the issue I am facing.
Any pointer/suggestions would be really of great help.

--
Regards
Gopi Krishna




===============================================================================
Please refer to http://www.aricent.com/legal/email_disclaimer.html
for important disclosures regarding this electronic communication.
===============================================================================

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] sending and receiving packets
  2013-10-17 11:36 ` Prashant Upadhyaya
@ 2013-10-17 12:01   ` Gal Sagie
  2013-10-17 13:26     ` Gopi Krishna B
  0 siblings, 1 reply; 8+ messages in thread
From: Gal Sagie @ 2013-10-17 12:01 UTC (permalink / raw)
  To: Prashant Upadhyaya; +Cc: dev

Rump kernels is a flexible kernel architecture which runs in user space and
is a very interesting project, you can read more about it
here => http://www.netbsd.org/docs/rump/#rump-about
It is currently part of the NetBSD source tree.

A project was made to integrate Intel DPDK inside Rump kernel networking
layer. (in order to provide a networking stack and user space on top of
DPDK)
You can read more about it here =>
https://github.com/anttikantee/dpdk-rumptcpip

By using this you can run TCP Server inside rump kernel client and
interface with the physical port using DPDK.

Gopi, you didnt give enough information what exactly you are trying to do,
you can look at the examples in the dpdk-rumptcpip
maybe its best you first try to run them and see everything works.
In order to write a TCP server application on top of Rump kernel you either
need to use the rump system call API's (starts with rump_..) or
use the libhijack  (You can read more about it in the rump kernels page)

Gal


On Thu, Oct 17, 2013 at 2:36 PM, Prashant Upadhyaya <
prashant.upadhyaya@aricent.com> wrote:

> Hi Gopi,
>
> I have not worked with rumpkernel tcpip stack.
> Does it run 'with' the DPDK in the userspace and is your tcp client
> application interacting over sockets to that tcpip stack in user space ?
>
> If your stack is running in the kernel, then ofcourse you have to use a
> tap interface to interface with the kernel.
>
> Can you describe your usecase in more details eg. what is the dpdk app, is
> the tcp client itself the dpdk app and so forth.
>
> Normally, I use tcpclient/server as a normal linux kernel interfacing
> apps. I run a DPDK app and use a tap interface to switch packets in an out
> of the kernel. The kernel interacts over sockets with tcpclient/server as
> usual.
>
> Regards
> -Prashant
>
>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Gopi Krishna B
> Sent: Wednesday, October 16, 2013 8:13 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] sending and receiving packets
>
> Hi,
> I have DPDK 1.5 configured on my machine, I have also configured the rump
> kernel tcpip stack.
>
> Now, to check whether the setup works, I started *TCP Server
> application*on another machine and connected the LAN cable to the port
> which is controlled by DPDK.
> And I am running *TCP client application* on the machine having DPDK and
> rumpkernel tcpip stack.
>
> The tcp client and server cannot communicate, is there some other
> configuration to be taken care for the traffic to flow appropriately on the
> machine running DPDK.
> I have checked similar posts on the mailing list, but didnot get clue on
> how to debug the issue I am facing.
> Any pointer/suggestions would be really of great help.
>
> --
> Regards
> Gopi Krishna
>
>
>
>
>
> ===============================================================================
> Please refer to http://www.aricent.com/legal/email_disclaimer.html
> for important disclosures regarding this electronic communication.
>
> ===============================================================================
>



-- 
Best Regards ,

The G.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] sending and receiving packets
  2013-10-17 12:01   ` Gal Sagie
@ 2013-10-17 13:26     ` Gopi Krishna B
  2013-10-17 15:27       ` Gal Sagie
  0 siblings, 1 reply; 8+ messages in thread
From: Gopi Krishna B @ 2013-10-17 13:26 UTC (permalink / raw)
  To: Gal Sagie; +Cc: dev

On Thu, Oct 17, 2013 at 3:01 PM, Gal Sagie <gal.sagie@gmail.com> wrote:

> Rump kernels is a flexible kernel architecture which runs in user space
> and is a very interesting project, you can read more about it
> here => http://www.netbsd.org/docs/rump/#rump-about
> It is currently part of the NetBSD source tree.
>
> A project was made to integrate Intel DPDK inside Rump kernel networking
> layer. (in order to provide a networking stack and user space on top of
> DPDK)
> You can read more about it here =>
> https://github.com/anttikantee/dpdk-rumptcpip
>
> By using this you can run TCP Server inside rump kernel client and
> interface with the physical port using DPDK.
>
> Gopi, you didnt give enough information what exactly you are trying to do,
> you can look at the examples in the dpdk-rumptcpip
> maybe its best you first try to run them and see everything works.
> In order to write a TCP server application on top of Rump kernel you
> either need to use the rump system call API's (starts with rump_..) or
> use the libhijack  (You can read more about it in the rump kernels page)
>
> Gal
>
>>
>> Hi
I realized that there are some sample examples available in dpdk-rumptcpip,
and am currently trying the tcp_http_get example.

But the basic question still remains for me, without assigning an IPaddress
to the NIC which DPDK is controlling, how does the communication happen. In
more detail, what is the src_ipaddr in the packet being sent out.

-- 
Regards
Gopi Krishna

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] sending and receiving packets
  2013-10-17 13:26     ` Gopi Krishna B
@ 2013-10-17 15:27       ` Gal Sagie
  2013-10-18 10:11         ` Gopi Krishna B
  0 siblings, 1 reply; 8+ messages in thread
From: Gal Sagie @ 2013-10-17 15:27 UTC (permalink / raw)
  To: Gopi Krishna B; +Cc: dev

Assigning an IP is a function of the network stack, DPDK and the NIC does
not need to be aware of that.
DPDK is just used to poll packets from the NIC and insert them into the
network stack start point inside rump kernels

In the tcp_http_get example it is assumed you are connected to a DHCP
server , this call is used to obtain an IP for the interface
using DHCP :
 if ((e = rump_pub_netconfig_dhcp_ipv4_oneshot("dpdk0")) != 0)

If you look at the udp echo server example, you can see how to set the IP
address statically using this call:

if (rump_pub_netconfig_ipv4_ifaddr(IFNAME,
            IF_ADDR, "255.255.255.0") != 0)




On Thu, Oct 17, 2013 at 4:26 PM, Gopi Krishna B <gopi97468@gmail.com> wrote:

>
>
> On Thu, Oct 17, 2013 at 3:01 PM, Gal Sagie <gal.sagie@gmail.com> wrote:
>
>> Rump kernels is a flexible kernel architecture which runs in user space
>> and is a very interesting project, you can read more about it
>> here => http://www.netbsd.org/docs/rump/#rump-about
>> It is currently part of the NetBSD source tree.
>>
>> A project was made to integrate Intel DPDK inside Rump kernel networking
>> layer. (in order to provide a networking stack and user space on top of
>> DPDK)
>> You can read more about it here =>
>> https://github.com/anttikantee/dpdk-rumptcpip
>>
>> By using this you can run TCP Server inside rump kernel client and
>> interface with the physical port using DPDK.
>>
>> Gopi, you didnt give enough information what exactly you are trying to
>> do, you can look at the examples in the dpdk-rumptcpip
>> maybe its best you first try to run them and see everything works.
>>  In order to write a TCP server application on top of Rump kernel you
>> either need to use the rump system call API's (starts with rump_..) or
>> use the libhijack  (You can read more about it in the rump kernels page)
>>
>> Gal
>>
>>>
>>> Hi
> I realized that there are some sample examples available in
> dpdk-rumptcpip, and am currently trying the tcp_http_get example.
>
> But the basic question still remains for me, without assigning an
> IPaddress to the NIC which DPDK is controlling, how does the communication
> happen. In more detail, what is the src_ipaddr in the packet being sent out.
>
> --
> Regards
> Gopi Krishna
>
>
>
>


-- 
Best Regards ,

The G.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] sending and receiving packets
  2013-10-17 15:27       ` Gal Sagie
@ 2013-10-18 10:11         ` Gopi Krishna B
  2013-10-18 10:40           ` Gal Sagie
  0 siblings, 1 reply; 8+ messages in thread
From: Gopi Krishna B @ 2013-10-18 10:11 UTC (permalink / raw)
  To: Gal Sagie; +Cc: dev

On Thu, Oct 17, 2013 at 6:27 PM, Gal Sagie <gal.sagie@gmail.com> wrote:

> Assigning an IP is a function of the network stack, DPDK and the NIC does
> not need to be aware of that.
> DPDK is just used to poll packets from the NIC and insert them into the
> network stack start point inside rump kernels
>
> In the tcp_http_get example it is assumed you are connected to a DHCP
> server , this call is used to obtain an IP for the interface
> using DHCP :
>  if ((e = rump_pub_netconfig_dhcp_ipv4_oneshot("dpdk0")) != 0)
>
> If you look at the udp echo server example, you can see how to set the IP
> address statically using this call:
>
> if (rump_pub_netconfig_ipv4_ifaddr(IFNAME,
>             IF_ADDR, "255.255.255.0") != 0)
>
>
>
>
> Hi
Thank you for the explanation.
I am observing some problems now. Whenever I execute the ./webbrowser , I
am loosing the SSH connection to the HP server. Why is this happening ? ,
what could be the possible reasons ? I am clueless on this problem.

The setup I have is as below:

HP Server (one nic is for SSH connection (10.127.x.x) , another nic is
controlled by DPDK (192.168.x.x))

Linuxmachine (one nic is for SSH connection(10.127.x.x) , another
nic(192.168.x.x) is directly connected with a LAN cable to the NIC on HP
server controlled by DPDK)

-- 
Regards
Gopi Krishna

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] sending and receiving packets
  2013-10-18 10:11         ` Gopi Krishna B
@ 2013-10-18 10:40           ` Gal Sagie
  2013-10-18 10:58             ` Gopi Krishna B
  0 siblings, 1 reply; 8+ messages in thread
From: Gal Sagie @ 2013-10-18 10:40 UTC (permalink / raw)
  To: Gopi Krishna B; +Cc: dev

You need to make sure you don't bind the ssh interface to DPDK
(If you are using version prior to DPDK1.4 you need to blacklist your ssh
interface before running the example
you can see how here =>
https://github.com/anttikantee/dpdk-rumptcpip/wiki/DPDK-important-points)


Gal.


On Fri, Oct 18, 2013 at 1:11 PM, Gopi Krishna B <gopi97468@gmail.com> wrote:

>
>
>
> On Thu, Oct 17, 2013 at 6:27 PM, Gal Sagie <gal.sagie@gmail.com> wrote:
>
>> Assigning an IP is a function of the network stack, DPDK and the NIC does
>> not need to be aware of that.
>> DPDK is just used to poll packets from the NIC and insert them into the
>> network stack start point inside rump kernels
>>
>> In the tcp_http_get example it is assumed you are connected to a DHCP
>> server , this call is used to obtain an IP for the interface
>> using DHCP :
>>  if ((e = rump_pub_netconfig_dhcp_ipv4_oneshot("dpdk0")) != 0)
>>
>> If you look at the udp echo server example, you can see how to set the IP
>> address statically using this call:
>>
>> if (rump_pub_netconfig_ipv4_ifaddr(IFNAME,
>>             IF_ADDR, "255.255.255.0") != 0)
>>
>>
>>
>>
>>
>> Hi
> Thank you for the explanation.
> I am observing some problems now. Whenever I execute the ./webbrowser , I
> am loosing the SSH connection to the HP server. Why is this happening ? ,
> what could be the possible reasons ? I am clueless on this problem.
>
> The setup I have is as below:
>
> HP Server (one nic is for SSH connection (10.127.x.x) , another nic is
> controlled by DPDK (192.168.x.x))
>
> Linuxmachine (one nic is for SSH connection(10.127.x.x) , another
> nic(192.168.x.x) is directly connected with a LAN cable to the NIC on HP
> server controlled by DPDK)
>
> --
> Regards
> Gopi Krishna
>
>
>


-- 
Best Regards ,

The G.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] sending and receiving packets
  2013-10-18 10:40           ` Gal Sagie
@ 2013-10-18 10:58             ` Gopi Krishna B
  0 siblings, 0 replies; 8+ messages in thread
From: Gopi Krishna B @ 2013-10-18 10:58 UTC (permalink / raw)
  To: Gal Sagie; +Cc: dev

On Fri, Oct 18, 2013 at 1:40 PM, Gal Sagie <gal.sagie@gmail.com> wrote:

> You need to make sure you don't bind the ssh interface to DPDK
> (If you are using version prior to DPDK1.4 you need to blacklist your ssh
> interface before running the example
> you can see how here =>
> https://github.com/anttikantee/dpdk-rumptcpip/wiki/DPDK-important-points)
>
>
> Gal.
>
>
>
>
> Hi Gal
Yes, I took care of this bind in the file, but still I am observing the
problem.
dpdk-rumptcpip-master/src/libdpdkif/rumpcomp_user.c

/* change blacklist parameters (-b) if necessary */
static const char *ealargs[] = {
        "if_dpdk",
        "-b 0000:02:00.0",     --> edited this line.


*lspci output *
0000:02:00.0   --> ssh connection
0000:02:00.1   --> DPDK
-- 
Regards
Gopi Krishna

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-10-18 10:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-16 14:42 [dpdk-dev] sending and receiving packets Gopi Krishna B
2013-10-17 11:36 ` Prashant Upadhyaya
2013-10-17 12:01   ` Gal Sagie
2013-10-17 13:26     ` Gopi Krishna B
2013-10-17 15:27       ` Gal Sagie
2013-10-18 10:11         ` Gopi Krishna B
2013-10-18 10:40           ` Gal Sagie
2013-10-18 10:58             ` Gopi Krishna B

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).