summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_packet.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-09-17 02:59:35 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-09-17 02:59:35 +0200
commit166b75c2595b0720b91f0c34dd64ede9d899d558 (patch)
treecb8589e46120d0c9ec2df07b47f292d817e281fc /ospfd/ospf_packet.c
parentzebra: Fix afi mistake (diff)
downloadfrr-166b75c2595b0720b91f0c34dd64ede9d899d558.tar.xz
frr-166b75c2595b0720b91f0c34dd64ede9d899d558.zip
lib, ospfd: Remove ospf specific #define from zebra.h
zebra.h should not know or care about ospf specific code Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'ospfd/ospf_packet.c')
-rw-r--r--ospfd/ospf_packet.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c
index 399a558a0..b7ef24409 100644
--- a/ospfd/ospf_packet.c
+++ b/ospfd/ospf_packet.c
@@ -49,6 +49,26 @@
#include "ospfd/ospf_flood.h"
#include "ospfd/ospf_dump.h"
+/*
+ * OSPF Fragmentation / fragmented writes
+ *
+ * ospfd can support writing fragmented packets, for cases where
+ * kernel will not fragment IP_HDRINCL and/or multicast destined
+ * packets (ie TTBOMK all kernels, BSD, SunOS, Linux). However,
+ * SunOS, probably BSD too, clobber the user supplied IP ID and IP
+ * flags fields, hence user-space fragmentation will not work.
+ * Only Linux is known to leave IP header unmolested.
+ * Further, fragmentation really should be done the kernel, which already
+ * supports it, and which avoids nasty IP ID state problems.
+ *
+ * Fragmentation of OSPF packets can be required on networks with router
+ * with many many interfaces active in one area, or on networks with links
+ * with low MTUs.
+ */
+#ifdef GNU_LINUX
+#define WANT_OSPF_WRITE_FRAGMENT
+#endif
+
/* Packet Type String. */
const struct message ospf_packet_type_str[] =
{