Re: [mpls-linux-general] bug: mpls/tc and mpls/netfilter, the same problem ?
Status: Beta
Brought to you by:
jleu
From: Vincent J. <ja...@en...> - 2001-07-06 10:56:12
|
> I look to the tc code examples, and i'm a doubt. TC expect after the > flowid a CLASSID > value. But, CLASSID is of form X:Y where X and Y are unsigned short. > Moreover, CLASSID represent a cbq where the packet is enqueue, and > flowid tell tc to put the packet into the CLASSID class if it's > accepted. Finally, i'm serious doubt about the mpls README.ingress > example. Look again to the source, let me know that tc_index is setup > when you specify the keyword "set_tc_index" in the tc command line. So, > i'm totally confused with the tc behaviour. Have some doc about tc in > addition to the "2.4 Advance Routing HOWTO" ? see http://snafu.freedom.org/linux2.2/docs/howto-qos/ 2 months ago, I had started to write one from a user point of view. I will post it this afternoon or next week. But I do not think that it will answer to your question. > I just finish a new patch for mpls+netfilter (i send it to the mailing > list this afternoon). Great, I will not test it for a long time, I am going back home in Bretagne. > Now we use nfmark+fwmark (aka > CONFIG_IP_ROUTE_FWMARK) to setup the label or mpls_index+fwmpls (same > behaviour than fwmark but only for mpls). So, you can put a mark (nfmark > or mpls_index) to a packet with iptables and then use this mark as a > filter for tc. My test (both on atm and eth) work for iptables but not > with tc. Again, i'm a doubt about tc and i don't know (in the packet > processing) when the ip stack call the sched stuff. Do you know that ? It is called by the enqueue function of the main interface. And then according to a QoS hierachy on this interface (the classifiers), the specifique enqueue function is called. Then it is this function that chooses to enqueue or to drop the packet. see http://snafu.freedom.org/linux2.2/docs/howto-qos/node3.html The dequeuing process is controlled by the main interface too. When the interface is ready to send a new packet, it calls its dequeue function that looks for the right packet to dequeue in order to provide bandwidth limitation and/or delay support. > I'm afraid that mpls stuff strap the sched stuff. Everything is always possible ;-) Vincent |