[mpls-linux-general] MPLS and scheduling for QoS
Status: Beta
Brought to you by:
jleu
From: lucapilosu\@libero\.it <luc...@li...> - 2008-05-13 12:22:01
|
Hi, I'm testing MPLS with linux schedulers in order to do some reservation and shaping in case of congestion on the default routes. Now I'm working on a in-line testbed (just to get familiar with schedulers), belonging to the bigger one of MPLS Linux Lab examples by Irina Dumitrascu and Adrian Popa. It is like this: A3----------E1----------E3----------E4----------A2 (LER) (LSR) (LER) I've made the first tries with only one HTB scheduler on E1, sending 3 flows from A3 to A2 marked differently in the DSCP field. My configuration is the following: key_1=`mpls nhlfe add key 0 instructions ds2exp 0xf 0x06 0x3 exp2tc 0x3 0x1 push gen 500 nexthop ath1 ipv4 10.0.5.3|grep key|cut -c 17-26` key_2=`mpls nhlfe add key 0 instructions ds2exp 0xf 0x07 0x6 exp2tc 0x6 0x2 push gen 500 nexthop ath1 ipv4 10.0.5.3|grep key|cut -c 17-26` key_3=`mpls nhlfe add key 0 instructions exp2tc 0x0 0x3 push gen 500 nexthop ath1 ipv4 10.0.5.3|grep key|cut -c 17-26` iptables -t mangle -A FORWARD -s 172.16.30.0/24 -m dscp --dscp 0x06 -j mpls --nhlfe $key_1 iptables -t mangle -A FORWARD -s 172.16.30.0/24 -m dscp --dscp 0x07 -j mpls --nhlfe $key_2 iptables -t mangle -A FORWARD -s 172.16.30.0/24 -m dscp --dscp 0x00 -j mpls --nhlfe $key_3 ip route add 172.16.20.0/24 via 10.0.5.3 mpls $key_1 ip route append 172.16.20.0/24 via 10.0.5.3 mpls $key_2 It seems to work fine. Now I want to use schedulers also in E3 and E4, but I wonder if I have to do all the matching from DSCP to EXP to TC, or if, after that matching on E1, the following routers can avoid doing that. The same question in about iptables and iproute, can I do only the MPLS XC and then enable qdiscs on E3 and E4? My goal would be avoiding reading the IP header information (DSCP in this case) in the core of the network, I would like to exploit the information extracted at the ingress LER. I hope I have been clear. Thank you for help, Luca |