aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/vxge/vxge.c
diff options
context:
space:
mode:
authorGeorge V. Neville-Neil <gnn@FreeBSD.org>2011-05-03 15:58:24 +0000
committerGeorge V. Neville-Neil <gnn@FreeBSD.org>2011-05-03 15:58:24 +0000
commit040b46f5ba1fb23f633535985be51c39ac0c876e (patch)
treed27b8d52adb056dc5cc1bee48ae554ef6c64123b /sys/dev/vxge/vxge.c
parente3888a982033e5db7f2843654f81bee47641c26e (diff)
downloadsrc-040b46f5ba1fb23f633535985be51c39ac0c876e.tar.gz
src-040b46f5ba1fb23f633535985be51c39ac0c876e.zip
Add in support for multicast.
Submitted by: Sriram Rapuru at @ Wipro for Exar Inc. MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=221389
Diffstat (limited to 'sys/dev/vxge/vxge.c')
-rw-r--r--sys/dev/vxge/vxge.c23
1 files changed, 3 insertions, 20 deletions
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)