From: Stephen Hemminger <shemminger@vyatta.com>
To: Kumar Sanghvi <divinekumar@gmail.com>
Cc: netdev@vger.kernel.org
Subject: Re: Query on Linux Kernel Network - Transmission Path
Date: Tue, 27 Jul 2010 15:50:41 -0700 [thread overview]
Message-ID: <20100727155041.7f841e24@nehalam> (raw)
In-Reply-To: <20100727221555.GC17237@kumar.broadband.vsnl.com>
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.
--
prev parent reply other threads:[~2010-07-27 22:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-27 22:15 Query on Linux Kernel Network - Transmission Path Kumar Sanghvi
2010-07-27 22:50 ` Stephen Hemminger [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=20100727155041.7f841e24@nehalam \
--to=shemminger@vyatta.com \
--cc=divinekumar@gmail.com \
--cc=netdev@vger.kernel.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