diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog
index 7603dc5..0e81fc0 100644
--- a/bgpd/ChangeLog
+++ b/bgpd/ChangeLog
@@ -1,3 +1,10 @@
+2004-07-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
+
+	* bgp_packet.c: (bgp_collision_detect) Send NOTIFY on new socket
+	  if that is connection we're closing.
+	  (bgp_read) invalid marker check applies to KEEPALIVE too.
+	* bgp_route.c: Ignore multicast NRLI, dont send NOTIFY.
+	
 2004-06-04 Paul Jakma <paul@dishone.st>
 
 	* type mismatch fixes
diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
index 316c44e..37f5afd 100644
--- a/bgpd/bgp_packet.c
+++ b/bgpd/bgp_packet.c
@@ -1117,7 +1117,8 @@
 		 OpenConfirm state). */
 
 	      if (new->fd >= 0)
-		bgp_notify_send (peer, BGP_NOTIFY_CEASE, BGP_NOTIFY_CEASE_COLLISION_RESOLUTION);
+		bgp_notify_send (new, BGP_NOTIFY_CEASE, 
+			         BGP_NOTIFY_CEASE_COLLISION_RESOLUTION);
 	      return -1;
 	    }
 	}
@@ -2147,7 +2148,7 @@
 		   peer->host, type, size - BGP_HEADER_SIZE);
 
       /* Marker check */
-      if (type == BGP_MSG_OPEN
+      if (((type == BGP_MSG_OPEN) || (type == BGP_MSG_KEEPALIVE))
 	  && ! bgp_marker_all_one (peer->ibuf, BGP_MARKER_SIZE))
 	{
 	  bgp_notify_send (peer,
@@ -2219,7 +2220,7 @@
     {
     case BGP_MSG_OPEN:
       peer->open_in++;
-      bgp_open_receive (peer, size);
+      bgp_open_receive (peer, size); /* XXX return value ignored! */
       break;
     case BGP_MSG_UPDATE:
       peer->readtime = time(NULL);    /* Last read timer reset */
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 1dd8b57..cf65964 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -1688,12 +1688,17 @@
 	{
 	  if (IN_CLASSD (ntohl (p.u.prefix4.s_addr)))
 	    {
+	     /* 
+ 	      * From draft-ietf-idr-bgp4-22, Section 6.3: 
+	      * If a BGP router receives an UPDATE message with a
+	      * semantically incorrect NLRI field, in which a prefix is
+	      * semantically incorrect (eg. an unexpected multicast IP
+	      * address), it should ignore the prefix.
+	      */
 	      zlog (peer->log, LOG_ERR, 
 		    "IPv4 unicast NLRI is multicast address %s",
 		    inet_ntoa (p.u.prefix4));
-	      bgp_notify_send (peer, 
-			       BGP_NOTIFY_UPDATE_ERR, 
-			       BGP_NOTIFY_UPDATE_INVAL_NETWORK);
+
 	      return -1;
 	    }
 	}
