All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Martin A. Brown" <mabrown-lartc@securepipe.com>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] forwarding in tcng
Date: Fri, 05 Dec 2003 06:36:56 +0000	[thread overview]
Message-ID: <marc-lartc-107060627529999@msgid-missing> (raw)
In-Reply-To: <marc-lartc-107039661212864@msgid-missing>

Johan,

 : I am learning tcng without having experiance of tc and I am trying to
 : build something that shall schedule traffic dependent on the value in
 : the IPv4 packets ip_ttl field.
 :
 : I have read the tcng reference manual and cannot find information about
 : forwarding. Is it possible to farward packets from ingress to egress
 : without sending them upwards in layers?
 :
 : NIC---->ingress---->forward----->egress---->

The reason you find no information about forwarding in the tcng manual, is
that forwarding doesn't happen in the traffic control layer of the Linux
IP stack.  As far as I know, there's no way to prevent a packet from being
passed up to the kernel bridge or routing code.  So, since you are
probably using this machine as a router, you'll want to take a look at the
KPTD at Stef's site [0].

 : In ingress I do some metering and in egress: classifying and Queuing.

Makes sense.

 : dev eth1 {
 : 	$P = bucket(rate 1Mbps, burst 2kB, mpu 64B);
 : 	ingress {
 :     		class (<>)
 : 			if ((ip_ttl & 0x81) = 0x81) &&
 : 			(conform $p && count $P);

Did you really mean to "confirm $p && count $P"?  I'd think that was meant
to be "conform $P && count $P".

 :     		drop if 1;
 : 	}
 :
 : 	egress {
 : 		class (<$high>) if (((ip_ttl & 0x1E) >> 1) <= 0x0F) &&
 : 			(((ip_ttl & 0x1E) >> 1) >= 0x0C);

Neat bit math (here and above).  I'm going to stick this one in my bag of
tricks.

[ snip ]

 : If forwarding is not possible can I use hash table with tcindex to store
 : information at ingress, and use this information at egress?

I'm not completely certain what your intent is with this hash table, but I
think the answer to your general question is yes.  One of the points of
tcindex is that you don't need to run through the same sets of tests on
ingress and egress; tcindex is designed to be reusable packet metadata
during a packet's lifetime on a given host.  You may find that Leonardo
Balliache's DiffServ pages can help you with the Linux DiffServ
architecture, in particular, tcindex [1].

If this is not helpful, try the LARTC HOWTO [2] on DSMARK (and tcindex),
and then try a few of Werner's papers [3].

Failing all of that, you might try asking this list again, or checking out
the (fairly inactive) Linux-DiffServ mailing list [4].

-Martin

 [0] http://www.docum.org/stef.coene/qos/kptd/
 [1] http://opalsoft.net/qos/DS.htm
     http://opalsoft.net/qos/DS-210.htm
 [2] http://lartc.org/howto/lartc.adv-qdisc.dsmark.html
 [3] http://www.almesberger.net/cv/papers.html
     http://www.almesberger.net/cv/papers/dsid-01.ps.gz
 [4] http://diffserv.sourceforge.net/#list

-- 
Martin A. Brown --- SecurePipe, Inc. --- mabrown@securepipe.com

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

  reply	other threads:[~2003-12-05  6:36 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-02 20:02 [LARTC] forwarding in tcng Johan Cimen
2003-12-05  6:36 ` Martin A. Brown [this message]
2003-12-05  8:25 ` Johan Cimen

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=marc-lartc-107060627529999@msgid-missing \
    --to=mabrown-lartc@securepipe.com \
    --cc=lartc@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.