* Query on Linux Kernel Network - Transmission Path
@ 2010-07-27 22:15 Kumar Sanghvi
2010-07-27 22:50 ` Stephen Hemminger
0 siblings, 1 reply; 2+ messages in thread
From: Kumar Sanghvi @ 2010-07-27 22:15 UTC (permalink / raw)
To: netdev
Hi All,
I have a query on the Transmission Path for the Linux Kernel Network
stack.
I understand that Qdisc/Traffic control can be used to prioritize
traffic on a per net_device basis.
However, I would like to know how to prioritize traffic between the
net_device(s) ?
Assume the below scenario:
-A Linux server has two net_device.
-One net_device -eth0, deals with IPv4 traffic over Ethernet
This eth0 net_device is heavily loaded and there is a continuous
network activity going on.
-2nd net_device -ph0, deals with Phonet traffic.
It occassionally transmits Voice traffic. It is required that traffic
over net_device ph0 should not suffer any delay.
Now as I understand, for the transmission path, the function
"__netif_schedule" will queue a net_device on the output_queue of
sofnet_data.
Also, the net_tx_action will pick up the net_device from output_queue
of softnet_data on last-in--first-out basis.
So, since eth0 has always IPv4 traffic to be sent, it will get queued
up continously in the output_queue of softnet_data. In this scenario,
what would happen to the ph0 device carrying the Phonet traffic? Will
the ph0 device get a chance to queue up on the output_queue of
softnet_data in the middle of continously coming IPv4 traffic from
eth0?
Or will the ph0 get starved in this case? Or the ph0 will suffer a
delay in getting scheduled for transmission?
In short, is there any way to prioritize the transmission among the
net_device eth0 and ph0 i.e. is it possible to queue up ph0 carrying
Phonet traffic on output_queue of softnet_data first in comparison to
eth0 carrying IPv4 data, so that ph0 traffic does not suffer any delay?
Pardon me if I have misunderstood anything or if my knowledge is
outdated in this regards.
I would really appreciate some pointers related to this priority among
net_device(s) for transmission.
Thanks & Regards,
Kumar.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Query on Linux Kernel Network - Transmission Path
2010-07-27 22:15 Query on Linux Kernel Network - Transmission Path Kumar Sanghvi
@ 2010-07-27 22:50 ` Stephen Hemminger
0 siblings, 0 replies; 2+ messages in thread
From: Stephen Hemminger @ 2010-07-27 22:50 UTC (permalink / raw)
To: Kumar Sanghvi; +Cc: netdev
On Wed, 28 Jul 2010 03:45:55 +0530
Kumar Sanghvi <divinekumar@gmail.com> wrote:
> Hi All,
>
> I have a query on the Transmission Path for the Linux Kernel Network
> stack.
> I understand that Qdisc/Traffic control can be used to prioritize
> traffic on a per net_device basis.
>
> However, I would like to know how to prioritize traffic between the
> net_device(s) ?
>
> Assume the below scenario:
> -A Linux server has two net_device.
> -One net_device -eth0, deals with IPv4 traffic over Ethernet
> This eth0 net_device is heavily loaded and there is a continuous
> network activity going on.
>
> -2nd net_device -ph0, deals with Phonet traffic.
> It occassionally transmits Voice traffic. It is required that traffic
> over net_device ph0 should not suffer any delay.
>
> Now as I understand, for the transmission path, the function
> "__netif_schedule" will queue a net_device on the output_queue of
> sofnet_data.
> Also, the net_tx_action will pick up the net_device from output_queue
> of softnet_data on last-in--first-out basis.
>
> So, since eth0 has always IPv4 traffic to be sent, it will get queued
> up continously in the output_queue of softnet_data. In this scenario,
> what would happen to the ph0 device carrying the Phonet traffic? Will
> the ph0 device get a chance to queue up on the output_queue of
> softnet_data in the middle of continously coming IPv4 traffic from
> eth0?
> Or will the ph0 get starved in this case? Or the ph0 will suffer a
> delay in getting scheduled for transmission?
>
> In short, is there any way to prioritize the transmission among the
> net_device eth0 and ph0 i.e. is it possible to queue up ph0 carrying
> Phonet traffic on output_queue of softnet_data first in comparison to
> eth0 carrying IPv4 data, so that ph0 traffic does not suffer any delay?
>
> Pardon me if I have misunderstood anything or if my knowledge is
> outdated in this regards.
> I would really appreciate some pointers related to this priority among
> net_device(s) for transmission.
>
> Thanks & Regards,
> Kumar.
No, there is no way to coordinate between devices.
The second device (if it is on the same physical network), is unlikely
to solve your problem.
The more common way is to use a single device and prioritize traffic
using a qdisc like HTB or HFSC which can guarantee bandwidth for
a class of traffic.
--
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-07-27 22:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-27 22:15 Query on Linux Kernel Network - Transmission Path Kumar Sanghvi
2010-07-27 22:50 ` Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox