lkml.org 
[lkml]   [1996]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subjectone more small fix
Date
Hello!

IP_TOS was broken. It is interesting when we will learn
that RFCs use "big-endian" bit numbering 8)8)

Alexey Kuznetsov.


--- linux/net/ipv4/ip_sockglue.c Sat May 18 20:06:00 1996
+++ linux-obj/net/ipv4/ip_sockglue.c Mon Jul 8 16:05:39 1996
@@ -179,16 +179,17 @@
return 0;
}
case IP_TOS: /* This sets both TOS and Precedence */
- if (val<0 || val>63) /* Reject setting of unused bits */
+ if (val&0xFE) /* Reject setting of unused bits */
return -EINVAL;
- if ((val&7) > 4 && !suser()) /* Only root can set Prec>4 */
+ if ((val>>5) > 4 && !suser()) /* Only root can set Prec>4 */
return -EPERM;
sk->ip_tos=val;
- switch (val & 0x38) {
+ switch (val & 0x1E) {
case IPTOS_LOWDELAY:
sk->priority=SOPRI_INTERACTIVE;
break;
case IPTOS_THROUGHPUT:
+ case IPTOS_MINCOST:
sk->priority=SOPRI_BACKGROUND;
break;
default:
@@ -270,7 +271,6 @@
* FIXME: Add/Del membership should have a semaphore protecting them from re-entry
*/
struct ip_mreq mreq;
- __u32 route_src;
struct rtable *rt;
struct device *dev=NULL;

@@ -295,9 +295,8 @@
*/
if((rt=ip_rt_route(mreq.imr_multiaddr.s_addr,0))!=NULL)
{
- dev=rt->rt_dev;
- route_src = rt->rt_src;
- atomic_dec(&rt->rt_use);
+ dev=rt->u.dst.dev;
+ atomic_dec(&rt->u.dst.use);
ip_rt_put(rt);
}
}
@@ -328,7 +327,6 @@
{
struct ip_mreq mreq;
struct rtable *rt;
- __u32 route_src;
struct device *dev=NULL;

/*
@@ -349,9 +347,8 @@
{
if((rt=ip_rt_route(mreq.imr_multiaddr.s_addr,0))!=NULL)
{
- dev=rt->rt_dev;
- atomic_dec(&rt->rt_use);
- route_src = rt->rt_src;
+ dev=rt->u.dst.dev;
+ atomic_dec(&rt->u.dst.use);
ip_rt_put(rt);
}
}
--- linux/include/linux/socket.h Tue May 28 16:44:49 1996
+++ linux-obj/include/linux/socket.h Mon Jul 8 16:05:39 1996
@@ -102,6 +107,7 @@
#define IPTOS_LOWDELAY 0x10
#define IPTOS_THROUGHPUT 0x08
#define IPTOS_RELIABILITY 0x04
+#define IPTOS_MINCOST 0x02
#define IP_TTL 2
#define IP_HDRINCL 3
#define IP_OPTIONS 4

\
 
 \ /
  Last update: 2005-03-22 13:38    [W:0.036 / U:0.676 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site