Author: gnn
Date: Tue May  3 15:58:24 2011
New Revision: 221389
URL: http://svn.freebsd.org/changeset/base/221389

Log:
  Add in support for multicast.
  
  Submitted by: Sriram Rapuru at @ Wipro for Exar Inc.
  MFC after:    2 weeks

Modified:
  head/sys/dev/vxge/include/build-version.h
  head/sys/dev/vxge/vxge.c
  head/sys/dev/vxge/vxge.h

Modified: head/sys/dev/vxge/include/build-version.h
==============================================================================
--- head/sys/dev/vxge/include/build-version.h   Tue May  3 15:50:22 2011        
(r221388)
+++ head/sys/dev/vxge/include/build-version.h   Tue May  3 15:58:24 2011        
(r221389)
@@ -3,5 +3,5 @@
 #ifndef        BUILD_VERSION_H
 #define        BUILD_VERSION_H
 /* Do not edit! Automatically generated when released. */
-#define        GENERATED_BUILD_VERSION 22708
+#define        GENERATED_BUILD_VERSION 22770
 #endif /* BUILD_VERSION_H */

Modified: head/sys/dev/vxge/vxge.c
==============================================================================
--- head/sys/dev/vxge/vxge.c    Tue May  3 15:50:22 2011        (r221388)
+++ head/sys/dev/vxge/vxge.c    Tue May  3 15:58:24 2011        (r221389)
@@ -357,6 +357,9 @@ vxge_init_locked(vxge_dev_t *vdev)
                if (!vpath_handle)
                        continue;
 
+               /* Enabling mcast for all vpath */
+               vxge_hal_vpath_mcast_enable(vpath_handle);
+
                /* Enabling bcast for all vpath */
                status = vxge_hal_vpath_bcast_enable(vpath_handle);
                if (status != VXGE_HAL_OK)
@@ -2879,26 +2882,6 @@ vxge_promisc_set(vxge_dev_t *vdev)
 
        ifp = vdev->ifp;
 
-       if ((ifp->if_flags & IFF_ALLMULTI) && (!vdev->all_multi_flag)) {
-               for (i = 0; i < vdev->no_of_vpath; i++) {
-                       vpath_handle = vxge_vpath_handle_get(vdev, i);
-                       if (!vpath_handle)
-                               continue;
-
-                       vxge_hal_vpath_mcast_enable(vpath_handle);
-                       vdev->all_multi_flag = 1;
-               }
-
-       } else if (!(ifp->if_flags & IFF_ALLMULTI) && (vdev->all_multi_flag)) {
-               for (i = 0; i < vdev->no_of_vpath; i++) {
-                       vpath_handle = vxge_vpath_handle_get(vdev, i);
-                       if (!vpath_handle)
-                               continue;
-
-                       vxge_hal_vpath_mcast_disable(vpath_handle);
-                       vdev->all_multi_flag = 0;
-               }
-       }
        for (i = 0; i < vdev->no_of_vpath; i++) {
                vpath_handle = vxge_vpath_handle_get(vdev, i);
                if (!vpath_handle)

Modified: head/sys/dev/vxge/vxge.h
==============================================================================
--- head/sys/dev/vxge/vxge.h    Tue May  3 15:50:22 2011        (r221388)
+++ head/sys/dev/vxge/vxge.h    Tue May  3 15:58:24 2011        (r221389)
@@ -406,7 +406,6 @@ struct vxge_dev_t {
        int     no_of_vpath;
        u64     active_port;
        u32     no_of_func;
-       u32     all_multi_flag;
        u32     hw_fw_version;
        u32     max_supported_vpath;
        int     rx_mbuf_sz;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to