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@xxxxxxxxxxxxxx _______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/