(*) with 10000 bcast/sec rate
(+) you have six machines with four frames. First frame is duplicated
24 times (maybe 18 times) to wire. It is received by these 6 machines
and send by them to all four frames again - 24*24. These frames are
received... 8 times around, then ipx_tctrl is 8 and it stops.
If you have correctly sized frame, it is 1 + 6*3 + (6*3) * (6*2) +
+ (6 * 3) * (6 * 2) * (6 * 1).
With duplicates detections Netware does, it is 1 + 6*3.
P.S.: Conclusion: Do NOT enable more than ONE frame on each physical
interface. Do NOT use ever 'ipx_configure --auto_interface=on'
(some vendors do that!).
--- linux-2.3.18-ac8.dist/net/ipx/af_ipx.c Tue Sep 7 19:20:11 1999
+++ linux/net/ipx/af_ipx.c Mon Sep 27 11:04:45 1999
@@ -744,7 +744,9 @@
if(ipx->ipx_type == IPX_TYPE_PPROP
&& ipx->ipx_tctrl < 8
- && skb->pkt_type != PACKET_OTHERHOST)
+ && skb->pkt_type != PACKET_OTHERHOST
+ /* header + 8 network numbers */
+ && ntohs(ipx->ipx_pktsize) >= sizeof(struct ipxhdr) + 8 * 4)
{
int i;
ipx_interface *ifcs;
@@ -2043,6 +2045,10 @@
/* Too small? */
if(ntohs(ipx->ipx_pktsize) < sizeof(struct ipxhdr))
+ goto drop;
+
+ /* Invalid header */
+ if(ntohs(ipx->ipx_pktsize) > skb->len)
goto drop;
/* Not ours */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/