[ovs-dev] [PATCH 1/2] datapath-windows: define mcgroup IDs for VPORT and other families

Samuel Ghinet sghinet at cloudbasesolutions.com
Tue Aug 26 16:55:48 UTC 2014

Hello Nithin,

If there are great odds that only the VPORT multicast group will be used, I think it would be best not to add the other multicast group ids.
If a need will arise in the future to add support for multicast groups for datapath, packet, etc. it would be best done only then.

I think that simply keeping the #define-s with multicast group ids for packet, datapath, etc. may give the wrong impression to a reader of the code that all
multicast groups are / may be used.

Perhaps it would be best if you could do something like:
#define OVS_WIN_NL_INVALID_MCGRP_ID          0

/* only the VPORT multicast group is used. */
#define OVS_WIN_NL_VPORT_MCGRP_ID            104

Date: Fri, 22 Aug 2014 21:51:22 -0700
From: Nithin Raju <nithin at vmware.com>
To: dev at openvswitch.org
Subject: [ovs-dev] [PATCH 1/2] datapath-windows: define mcgroup IDs
        for     VPORT and other families
Message-ID: <1408769483-3127-1-git-send-email-nithin at vmware.com>

dpif-linux.c makes a nl_lookup_genl_mcgroup(OVS_VPORT_FAMILY) that is not
implemented yet on Windows yet. Multicast group is used currently to
subscribe to events related to VPORTs. Whether the exact same mechanism
would be used is unclear yet.

In the interim, we can implement code to support nl_lookup_genl_mcgroup().
and make progress with the other simpler commands.

In this patch, we define a ID for the VPORT MC group and other groups. The
plan is to use only the VPORT MC group though.

Signed-off-by: Nithin Raju <nithin at vmware.com>
 datapath-windows/include/OvsDpInterfaceExt.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/datapath-windows/include/OvsDpInterfaceExt.h b/datapath-windows/include/OvsDpInterfaceExt.h
index dd34512..24601ed 100644
--- a/datapath-windows/include/OvsDpInterfaceExt.h
+++ b/datapath-windows/include/OvsDpInterfaceExt.h
@@ -54,6 +54,14 @@
 #define OVS_WIN_NL_VPORT_FAMILY_ID           4
 #define OVS_WIN_NL_FLOW_FAMILY_ID            5

+#define OVS_WIN_NL_INVALID_MCGRP_ID          0
+#define OVS_WIN_NL_MCGRP_START_ID            100
+#define OVS_WIN_NL_CTRL_MCGRP_ID             101
+#define OVS_WIN_NL_DATAPATH_MCGRP_ID         102
+#define OVS_WIN_NL_PACKET_MCGRP_ID           103
+#define OVS_WIN_NL_VPORT_MCGRP_ID            104
+#define OVS_WIN_NL_FLOW_MCGRP_ID             105
  * Define a family of netlink command specific to Windows. This is part of the
  * extensions.

More information about the dev mailing list