zebra: IPv4 MP-BGP Routes addition and deletion

This patch contains the following:
1. Addition of IPv4 SAFI_MULTICAST BGP routes into the RTM's RIB.
2. Deletion of IPv4 SAFI_MULTICAST BGP routes from the RTM's RIB.
diff --git a/zebra/zserv.c b/zebra/zserv.c
index ec8cbf2..310c6ce 100644
--- a/zebra/zserv.c
+++ b/zebra/zserv.c
@@ -750,6 +750,8 @@
   struct stream *s;
   unsigned int ifindex;
   u_char ifname_len;
+  safi_t safi;	
+
 
   /* Get input stream.  */
   s = client->ibuf;
@@ -761,6 +763,7 @@
   rib->type = stream_getc (s);
   rib->flags = stream_getc (s);
   message = stream_getc (s); 
+  safi = stream_getw (s);
   rib->uptime = time (NULL);
 
   /* IPv4 prefix. */
@@ -812,7 +815,7 @@
     
   /* Table */
   rib->table=zebrad.rtm_table_default;
-  rib_add_ipv4_multipath (&p, rib);
+  rib_add_ipv4_multipath (&p, rib, safi);
   return 0;
 }
 
@@ -838,6 +841,7 @@
   api.type = stream_getc (s);
   api.flags = stream_getc (s);
   api.message = stream_getc (s);
+  api.safi = stream_getw (s);
 
   /* IPv4 prefix. */
   memset (&p, 0, sizeof (struct prefix_ipv4));
@@ -886,7 +890,7 @@
     api.metric = 0;
     
   rib_delete_ipv4 (api.type, api.flags, &p, &nexthop, ifindex,
-		   client->rtm_table);
+		   client->rtm_table, api.safi);
   return 0;
 }