From 040b46f5ba1fb23f633535985be51c39ac0c876e Mon Sep 17 00:00:00 2001 From: "George V. Neville-Neil" Date: Tue, 3 May 2011 15:58:24 +0000 Subject: [PATCH] Add in support for multicast. Submitted by: Sriram Rapuru at @ Wipro for Exar Inc. MFC after: 2 weeks --- sys/dev/vxge/include/build-version.h | 2 +- sys/dev/vxge/vxge.c | 23 +++-------------------- sys/dev/vxge/vxge.h | 1 - 3 files changed, 4 insertions(+), 22 deletions(-) diff --git a/sys/dev/vxge/include/build-version.h b/sys/dev/vxge/include/build-version.h index 9eca7b2a673f..5bc550ada8b3 100644 --- a/sys/dev/vxge/include/build-version.h +++ b/sys/dev/vxge/include/build-version.h @@ -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 */ diff --git a/sys/dev/vxge/vxge.c b/sys/dev/vxge/vxge.c index 05bbbb855a63..94ca609cb69b 100644 --- a/sys/dev/vxge/vxge.c +++ b/sys/dev/vxge/vxge.c @@ -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) diff --git a/sys/dev/vxge/vxge.h b/sys/dev/vxge/vxge.h index 630bbefed54d..439c1ced443f 100644 --- a/sys/dev/vxge/vxge.h +++ b/sys/dev/vxge/vxge.h @@ -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;