������,
������� ��� ���, ��� �� ���������� ���� �� ��������.
----- Forwarded message from Vladimir Ivaschenko <[EMAIL PROTECTED]> -----
Date: Thu, 6 Dec 2001 11:00:31 +0200
From: Vladimir Ivaschenko <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED], [EMAIL PROTECTED]
Subject: [OOPS] patch for Linux kernel v2.4.X
Hi All,
Linux kernels v2.4.x do not set IP ID flag on UDP packets with DF
set, at least when sendmsg() is used. Apparently this confuses
Cisco's WCCP (you'll get messages like "duplicate packet ignored"
when you enable WCCP debugging). Attached you will find a patch
which disables MTU PATH DISCOVERY which results in IP IDs being
generated again.
Apply it in the src/modules/ subdirectory.
--
Best Regards
Vladimir Ivaschenko
Certified Linux Engineer (RHCE)
--- wccp2.c.orig Fri Apr 27 17:09:08 2001
+++ wccp2.c Thu Dec 6 10:39:12 2001
@@ -512,7 +512,7 @@
wccp2_service_group_t *g;
wccp2_router_t *r;
struct sockaddr_in wccp2_bind_sa;
-int rc;
+int rc, sockopt_val;
/* reopen wccp2 socket */
if ( wccp2_socket != -1 )
@@ -522,6 +522,13 @@
fprintf(stderr, "Can't create wccp socket: %s\n", strerror(errno));
return(MOD_CODE_ERR);
}
+ /* Linux 2.4 does not set IP IDs on UDP packets with DF flag by default,
+ * force it to do so as Cisco does not like it */
+ #if defined(LINUX)
+ sockopt_val=IP_PMTUDISC_DONT;
+ setsockopt(wccp2_socket, SOL_IP, IP_MTU_DISCOVER, (char*)&sockopt_val,
+sizeof(sockopt_val));
+ #endif
+
fcntl(wccp2_socket, F_SETFL, fcntl(wccp2_socket, F_GETFL, 0)|O_NONBLOCK);
/* bind to port */
memset(&wccp2_bind_sa, 0, sizeof(wccp2_bind_sa));
----- End forwarded message -----
--
Best Regards
Vladimir Ivaschenko
Certified Linux Engineer (RHCE)
=====================================================================
If you would like to unsubscribe from this list send message to
[EMAIL PROTECTED] with "unsubscribe oops" in message body.
Archive is accessible on http://lists.paco.net/oops-rus/