svn commit: r221389 - in head/sys/dev/vxge: . include

George V. Neville-Neil gnn at FreeBSD.org
Tue May 3 15:58:24 UTC 2011


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;


More information about the svn-src-all mailing list