[PATCH 17/21] netlink: Only complain about initial frags for us

Ian Jackson ijackson at chiark.greenend.org.uk
Thu Apr 24 02:37:36 BST 2014


secnet has no reassembly code and logs whenever it receives fragments.
Change this to only log when receiving initial fragments; this reduces
noise in the log.

Signed-off-by: Ian Jackson <ijackson at chiark.greenend.org.uk>
---
 netlink.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/netlink.c b/netlink.c
index 55eef5c..2c3d12d 100644
--- a/netlink.c
+++ b/netlink.c
@@ -775,9 +775,12 @@ static void netlink_packet_local(struct netlink *st,
     }
     h=(struct icmphdr *)buf->start;
 
-    if ((ntohs(h->iph.frag)&(IPHDR_FRAG_OFF|IPHDR_FRAG_MORE))!=0) {
-	Message(M_WARNING,"%s: fragmented packet addressed to secnet; "
-		"ignoring it\n",st->name);
+    unsigned fraginfo = ntohs(h->iph.frag);
+    if ((fraginfo&(IPHDR_FRAG_OFF|IPHDR_FRAG_MORE))!=0) {
+	if (!(fraginfo & IPHDR_FRAG_OFF))
+	    /* report only for first fragment */
+	    Message(M_WARNING,"%s: fragmented packet addressed to secnet; "
+		    "ignoring it\n",st->name);
 	BUF_FREE(buf);
 	return;
     }
-- 
1.7.10.4




More information about the sgo-software-discuss mailing list