Re: [mpls-linux-general] Better to use nfmark vs tc_index?
Status: Beta
Brought to you by:
jleu
From: Steven V. d. B. <ste...@in...> - 2001-11-30 08:20:45
|
OK, it seems it's time for a change in terminology: when i say bypass IPv4 routing, i mean it in an engineering way, not a conceptional way. The basic scheme we want from a linux ingress box is: +------------------+ +----------+ +--------------+ |MF Classification +-->+Forwarding+-->+get ip nexthop| |Policing/Shaping | |selection ++ +------------+-+ +------------------+ +----------+ \ \ (MF=multifield) (MPLS or ip) \ +----------+ \ +--+ +>+push label+--+->+TC| +----------+ +--+ (1) (2) (3) e.g. 1 classification in phase (1), to be used wherever needed. Now what i would like (personal opinion) is to have to go through only one of the two phases in (2). So i don't want to harm the hybrid mpls/ip approach, i just want to limit the amount of processing and interference with the IP path. Now, about TC:In the core, normally (1) is absent, since no complex multi-field classifications are needed, just a dscp lookup, which can be done in (3). cheers, Steven PS: anybody feels like hacking together an ascii-art drawing plugin for mailclients. Would be a great help :) On Fri, 2001-11-30 at 04:32, James R. Leu wrote: > I want to make sure I've got your opinion correct: > > On an ingress LER your think iptables -> nfmark is sufficient. > On a transit LSR and egress LER tc_index is needed (to augment dsmask and > scheduling). > > In addition you would like the option of using iptables to do all > marking/classifing AND bypass normal routing lookups, but it may be possible > to use the existing mechanisms (aux_proto on a FIB entry or a MPLS tunnel > interface) to achive the same functionality, but not necessarily the same > level of efficiency. > > Jim > > On Thu, Nov 29, 2001 at 08:50:56AM +0100, Steven Van den Berghe wrote: > > On Thu, 2001-11-29 at 05:20, James R. Leu wrote: > > > After looking at iptable a bit more I see that it can set a nfmark via > > > the MARK rule. Should I use this as oppsed to tc_index to influence the > > > LSP and EXP? (note that DSCP will still be an options) > > Would be a clean choice (note: you'll still need part of Olivier's patch > > to implement a FEC like behavior per iptables result). > > > > > > I think I now understand what Olivier did, he created something similar > > > to MARK but for MPLS. If we are going to continue to use that I would > > > like to change it alittle. Instead of storing the mpls_index, I think it > > > should build a dst and store it with the rule. This dst will direct the > > > skb to mpls_output() and will have the outgoung label info attached. > > > When it gets to mpls_output() MPLS processing will occur like normal. > > > The dst will be slapped on to any packet that matches the rule. > > Iptables has hooks in several places along the forwarding path: before, > > in or after the "routing". Is there no possibility that dev will be > > overwritten by the ip-code? I still feel, we should be able to bypass > > routing completely (i'm searching what can be done to handle > > fragmentation etc.) > > > > > > Do you think that by using nfmark we can accomplish the same thing? > > > We would have to relay upon another mean of getting data to mpls_output() > > > like a MPLS tunnel interface or a entry in the FIB that has been marked > > > for MPLS. Once it gets to mpls_output() the nfmark could be used to influence > > > the LSP or EXP. > > > > > first guess (warning: statistically proven it's mostly wrong): possible > > approach. > > > > > Ofcourse maybe it's just safer to have both options availble :-) > > > > > > Now to the matter of tc_index. It seems that nfmark can be used by a > > > scheduling classifier, but it looks like the classifier for tc_index is > > > better. So it might be that nfmark (or a MPLS mark) is used to influence > > > LSP and EXP descisions (note that DSCP will still be option) and that > > > tc_index is used to influence scheduling. > > > > > tc_index is indeed no "must". There are other solutions possible to get > > the same effect, especially in the ingress (in the core, we don't want > > to use iptables for anything). The only thing from the original diffserv > > for ip the sch_dsmark + tc_index combination offers you is: > > > > 1 you can read the (ip) dscp and put it in tc_index (enqueue operation) > > 2 you can classify based on tc_index > > 3 you can modify the value of tc_index during the traffic control > > 4 you can re-write the dscp based on tc_index in the ip-header when > > exiting sch_dsmark (dequeue operation) > > > > 1 and 2 can be done using iptables and fw_mark classifier > > 3 and 4 need more study. At first sight, i'd say we can do this either > > in ingress policing or add it to iptables (configuration would be > > something like: if offered load <1Mbps set fwmark 2, if offered load > > <2Mbps set fwmark 1, else set fwmark 0). > > > > just a personal opinion: i would keep the sch_dsmark approach in LSR and > > egress, but for ingress (where the more complex TC functions should be > > performed, to achieve scaleability), forgetting about sch_dsmark and > > tc_index would be just fine. > > > > > > Does that make any sense? It's late. I'm going to sleep and think about > > > it some more. > > > > > why, i've just woken up :) > > > > > > cheers, > > Steven > > -- > > -- > > Steven Van den Berghe > > ste...@in... > > Workgroup Broadband Communication Networks > > Department Information Technology > > Ghent University - Belgium > > Phone: +32 (0)9 267 35 86 | Fax : +32 (0)9 267 35 99 > > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > > DiffServ over MPLS for Linux: http://dsmpls.atlantis.rug.ac.be > > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > > A computer is like an Old Testament god, with a lot of > > rules and no mercy. - Joseph Campbell > > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > > > > > > _______________________________________________ > > mpls-linux-general mailing list > > mpl...@li... > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > -- > James R. Leu > jl...@mi... > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > -- -- Steven Van den Berghe ste...@in... Workgroup Broadband Communication Networks Department Information Technology Ghent University - Belgium Phone: +32 (0)9 267 35 86 | Fax : +32 (0)9 267 35 99 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* DiffServ over MPLS for Linux: http://dsmpls.atlantis.rug.ac.be *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* A computer is like an Old Testament god, with a lot of rules and no mercy. - Joseph Campbell *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |