Re: [mpls-linux-general] mpls beta 1.127 - Diffserv
Status: Beta
Brought to you by:
jleu
From: James R. L. <jl...@mi...> - 2002-02-07 14:27:34
|
Hello, On Mon, Feb 04, 2002 at 06:02:35PM -0500, ncc49a wrote: > Hi James, > > I am trying out the diffserv functionality for the latest mpls patch. > > When I input this instruction: > > $MPLSADM -v -A -O gen:37:eth0 -o > ds2exp:0xff:0x1a:0x1:push:gen:37:set:eth0:ipv4:192.168.1.161 > > I get the errors saying: > 1) Mask for ds2exp is too large, must be less then 0x40 > 2) Out Instr: No such device or address. > > I must be using the above instruction wrongly. Can u provide me some > pointers on this? :-) Opps. grab 1.128 from CVS, it fixes a couple of mask/bounds checking bugs. > Next, for the above mask... is it applied to the DS code point or the entire > DS field? I am not sure, but I think "tc" from iproute2 applies the mask to > the whole field..., such that a mask of 0x3 and a DS field of 0x6b will give > a DS Code Point of 0x1a, which is AF. Good question. I think it is applied to just the DSCP. In the kernel I grab the DS field, shift 2 to the right then 'and' it with the mask. (take a look a mpls_output.c search for 'ipv4_get_dsfield' and you can see what I'm doing. You could add a printk (use just like printf) and add some debugging to help see if it is being done right. > > Thanks a lot! > > Paul > > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- James R. Leu |