netdev
[Top] [All Lists]

[Linux Diffserv] Need to be root to setsockopt() for EF?

To: diffserv-general@xxxxxxxxxxxxxxxxxxxxx
Subject: [Linux Diffserv] Need to be root to setsockopt() for EF?
From: Craig Rodrigues <crodrigu@xxxxxxx>
Date: Tue, 2 Oct 2001 14:02:08 -0400
List-archive: <https://lists.sourceforge.net/archives//diffserv-general/>
List-help: <mailto:diffserv-general-request@lists.sourceforge.net?subject=help>
List-id: General discussion of Differentiated Services on Linux <diffserv-general.lists.sourceforge.net>
List-post: <mailto:diffserv-general@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/diffserv-general>, <mailto:diffserv-general-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/diffserv-general>, <mailto:diffserv-general-request@lists.sourceforge.net?subject=unsubscribe>
Sender: owner-netdev@xxxxxxxxxxx
User-agent: Mutt/1.2.5i
Hi,

I am using Linux kernel 2.4.2 on a Redhat 7.1
system.

I wrote a test program which sends out UDP
packets and toggles the IP Diffserv byte
using the setsockopt() call.

In my test, I found that if I used
setsockopt(IPPROTO_IP, IPTOS, ......) with the
following DSCP values:
Expedited Forwarding, DSCP = 0x2E

CS5, DSCP = 0x28
CS6, DSCP = 0x30
CS7, DSCP = 0x38


setsockopt() would return -1, and errno would be set
to "Operation not permitted".

If I ran the program again as root, this did not happen.

I ran the same program under FreeBSD, and did not
get this error.

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?

Thanks.
-- 
Craig Rodrigues        Distributed Systems and Logistics, Office 6/304
crodrigu@xxxxxxx       BBN Technologies
                       Cambridge, MA

_______________________________________________
Diffserv-general mailing list
Diffserv-general@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/diffserv-general

<Prev in Thread] Current Thread [Next in Thread>