changeset 2029:e981cd5486a4

6398846 CGTP filtering issues for UDP
author rshoaib
date Sun, 21 May 2006 20:22:36 -0700
parents 323c05d01aee
children e7954e76784f
files usr/src/uts/common/inet/ip/ip.c
diffstat 1 files changed, 16 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/common/inet/ip/ip.c	Sun May 21 11:54:45 2006 -0700
+++ b/usr/src/uts/common/inet/ip/ip.c	Sun May 21 20:22:36 2006 -0700
@@ -13688,21 +13688,6 @@
 		ASSERT(mp->b_datap->db_type == M_DATA);
 		ASSERT(mp->b_datap->db_ref == 1);
 
-		/*
-		 * Invoke the CGTP (multirouting) filtering module to process
-		 * the incoming packet. Packets identified as duplicates
-		 * must be discarded. Filtering is active only if the
-		 * the ip_cgtp_filter ndd variable is non-zero.
-		 */
-		cgtp_flt_pkt = CGTP_IP_PKT_NOT_CGTP;
-		if (ip_cgtp_filter && (ip_cgtp_filter_ops != NULL)) {
-			cgtp_flt_pkt =
-			    ip_cgtp_filter_ops->cfo_filter_fp(q, mp);
-			if (cgtp_flt_pkt == CGTP_IP_PKT_DUPLICATE) {
-				freemsg(first_mp);
-				continue;
-			}
-		}
 
 		ipha = (ipha_t *)mp->b_rptr;
 		len = mp->b_wptr - rptr;
@@ -13779,6 +13764,22 @@
 		}
 
 		/*
+		 * Invoke the CGTP (multirouting) filtering module to process
+		 * the incoming packet. Packets identified as duplicates
+		 * must be discarded. Filtering is active only if the
+		 * the ip_cgtp_filter ndd variable is non-zero.
+		 */
+		cgtp_flt_pkt = CGTP_IP_PKT_NOT_CGTP;
+		if (ip_cgtp_filter && (ip_cgtp_filter_ops != NULL)) {
+			cgtp_flt_pkt =
+			    ip_cgtp_filter_ops->cfo_filter(q, mp);
+			if (cgtp_flt_pkt == CGTP_IP_PKT_DUPLICATE) {
+				freemsg(first_mp);
+				continue;
+			}
+		}
+
+		/*
 		 * If rsvpd is running, let RSVP daemon handle its processing
 		 * and forwarding of RSVP multicast/unicast packets.
 		 * If rsvpd is not running but mrouted is running, RSVP