Linux notes =========== Under Linux kernel 2.4, the following DSCP values could not be set with the setsockopt call unless you run as root: EF, CS5, CS6, CS7 Also, under Linux 2.4.2 kernel, if I could successfully set the 2 bits reserved for ECN in the Diffserv Field to 0x00 or 0x02. However, the setsockopt call would fail if it was set to 0x01 or 0x03. According to the Linux Diffserv mailing list: http://diffserv.sourceforge.net http://www.geocrawler.com/archives/3/11111/2001/10/0/6761099/ =========================================================================== On Fri, Oct 05, 2001 at 08:18:06AM +0300, Pekka Savola wrote: > On Tue, 2 Oct 2001, Craig Rodrigues wrote: > > Can someone shed some light as to why I got this > > error under Linux? Is it configuration problem, > > or is there some sort of policy decision in the kernel that > > requires the process to be run as root when setting > > those DSCP values? > > A part of DSCP field was previously Precedence. > > Linux has required that in order to use 'Critical' or higher Precedence, > one must have CAP_NET_ADMIN capability, in most cases, root. > > I'm not one to say whether this restriction should be removed. Perhaps. > > -- > Pekka Savola "Tell me of difficulties surmounted, > Netcore Oy not those you stumble over and fall" > Systems. Networks. Security. -- Robert Jordan: A Crown of Swords > =========================================================================== FreeBSD notes ============= Under FreeBSD 4.3, I encountered no problems setting DSCP or ECN values, and I could set all these values without being root. However, FreeBSD seems to be more fussy about the size of the parameter you pass into the setsockopt call. Make sure you get the size right, and cast it properly, ie. don't cast a short, or some other size. Solaris notes ============= No problems setting DSCP or ECN values.