[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Sat, 12 Dec 2009 09:56:02 +0100
From: Bernard Pidoux <bpidoux@...e.fr>
To: Ralf Baechle DL5RB <ralf@...ux-mips.org>,
David Miller <davem@...emloft.net>,
Linux Netdev List <netdev@...r.kernel.org>
Subject: [PATCH] rose_loopback_timer VC number <= ROSE_DEFAULT_MAXVC
[PATCH] rose_loopback_timer VC number <= ROSE_DEFAULT_MAXVC
On my 2.6.32 kernel compiled for generic x86_64 CPU
cat /proc/net/rose displayed a rose sockets abnormal lci value, i.e. greater than maximum
number of VCs per neighbour allowed.
This out of limits number prevents further comparisons of lci value during rose VC attributions.
Example :
[bernard]# cat /proc/net/rose
dest_addr dest_call src_addr src_call dev lci neigh st vs vr va t t1 t2 t3 hb idle Snd-Q Rcv-Q inode
* * 2080175520 F6BVP-1 rose0 000 00000 0 0 0 0 0 200 180 180 5 0/000 0 0 254746
2080175520 FPAD-0 2080175520 WP-0 rose0 FFE 00001 3 0 0 0 0 200 180 180 5 0/000 0 0 12916
Here are the default parameters definitions :
linux/include/net/rose.h:#define ROSE_DEFAULT_MAXVC 50 /* Maximum number of VCs per neighbour */
linux/net/rose/af_rose.c:int sysctl_rose_maximum_vcs = ROSE_DEFAULT_MAXVC;
With the following patch, rose_loopback_timer() attributes a VC number within limits.
--- a/net/rose/rose_loopback.c 2009-12-03 04:51:21.000000000 +0100
+++ b/net/rose/rose_loopback.c 2009-12-06 23:17:02.267741413 +0100
@@ -75,7 +75,7 @@
lci_i = ((skb->data[0] << 8) & 0xF00) + ((skb->data[1] << 0) & 0x0FF);
frametype = skb->data[2];
dest = (rose_address *)(skb->data + 4);
- lci_o = 0xFFF - lci_i;
+ lci_o = ROSE_DEFAULT_MAXVC + 1 - lci_i;
skb_reset_transport_header(skb);
Bernard Pidoux
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists