diff mbox

[ovs-dev,v3,9/9] datapath-windows: Add support for Conntrack IPCTNL_MSG_CT_GET cmd in Datapath.c

Message ID 1466795009-5328-10-git-send-email-vsairam@vmware.com
State Superseded
Delegated to: Guru Shetty
Headers show

Commit Message

Sairam Venugopal June 24, 2016, 7:03 p.m. UTC
This will be used by userspace for dumping conntrack entries - "ovs-dpctl
dump-conntrack".

Signed-off-by: Sairam Venugopal <vsairam@vmware.com>
---
 datapath-windows/ovsext/Datapath.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

Comments

Paul Boca June 24, 2016, 8:29 p.m. UTC | #1
Acked-by: Paul-Daniel Boca <pboca@cloudbasesolutions.com>


> -----Original Message-----

> From: dev [mailto:dev-bounces@openvswitch.org] On Behalf Of Sairam

> Venugopal

> Sent: Friday, June 24, 2016 10:03 PM

> To: dev@openvswitch.org

> Subject: [ovs-dev] [PATCH v3 9/9] datapath-windows: Add support for

> Conntrack IPCTNL_MSG_CT_GET cmd in Datapath.c

> 

> This will be used by userspace for dumping conntrack entries - "ovs-dpctl

> dump-conntrack".

> 

> Signed-off-by: Sairam Venugopal <vsairam@vmware.com>

> ---

>  datapath-windows/ovsext/Datapath.c | 12 ++++++++++--

>  1 file changed, 10 insertions(+), 2 deletions(-)

> 

> diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-

> windows/ovsext/Datapath.c

> index 7cc8390..5cc0614 100644

> --- a/datapath-windows/ovsext/Datapath.c

> +++ b/datapath-windows/ovsext/Datapath.c

> @@ -104,7 +104,8 @@ NetlinkCmdHandler        OvsGetNetdevCmdHandler,

>                           OvsPendPacketCmdHandler,

>                           OvsSubscribePacketCmdHandler,

>                           OvsReadPacketCmdHandler,

> -                         OvsCtDeleteCmdHandler;

> +                         OvsCtDeleteCmdHandler,

> +                         OvsCtDumpCmdHandler;

> 

>  static NTSTATUS HandleGetDpTransaction(POVS_USER_PARAMS_CONTEXT

> usrParamsCtx,

>                                         UINT32 *replyLen);

> @@ -288,7 +289,13 @@ NETLINK_CMD nlCtFamilyCmdOps[] = {

>      { .cmd              = IPCTNL_MSG_CT_DELETE,

>        .handler          = OvsCtDeleteCmdHandler,

>        .supportedDevOp   = OVS_TRANSACTION_DEV_OP,

> -      .validateDpIndex  = TRUE

> +      .validateDpIndex  = FALSE

> +    },

> +    { .cmd              = IPCTNL_MSG_CT_GET,

> +      .handler          = OvsCtDumpCmdHandler,

> +      .supportedDevOp   = OVS_TRANSACTION_DEV_OP |

> +                          OVS_WRITE_DEV_OP | OVS_READ_DEV_OP,

> +      .validateDpIndex  = FALSE

>      }

>  };

> 

> @@ -904,6 +911,7 @@ OvsDeviceControl(PDEVICE_OBJECT deviceObject,

> 

>      ASSERT(ovsMsg);

>      switch (ovsMsg->nlMsg.nlmsgType) {

> +    case NFNL_TYPE_CT_GET:

>      case NFNL_TYPE_CT_DEL:

>          nlFamilyOps = &nlCtFamilyOps;

>          break;

> --

> 2.5.0.windows.1

> 

> _______________________________________________

> dev mailing list

> dev@openvswitch.org

> http://openvswitch.org/mailman/listinfo/dev
Nithin Raju June 29, 2016, 12:07 a.m. UTC | #2
-----Original Message-----
From: dev <dev-bounces@openvswitch.org> on behalf of Sairam Venugopal
<vsairam@vmware.com>
Date: Friday, June 24, 2016 at 12:03 PM
To: "dev@openvswitch.org" <dev@openvswitch.org>
Subject: [ovs-dev] [PATCH v3 9/9] datapath-windows: Add support
for	Conntrack IPCTNL_MSG_CT_GET cmd in Datapath.c

>This will be used by userspace for dumping conntrack entries - "ovs-dpctl
>dump-conntrack".
>
>Signed-off-by: Sairam Venugopal <vsairam@vmware.com>
>---
> datapath-windows/ovsext/Datapath.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
>diff --git a/datapath-windows/ovsext/Datapath.c
>b/datapath-windows/ovsext/Datapath.c
>index 7cc8390..5cc0614 100644
>--- a/datapath-windows/ovsext/Datapath.c
>+++ b/datapath-windows/ovsext/Datapath.c
>@@ -104,7 +104,8 @@ NetlinkCmdHandler        OvsGetNetdevCmdHandler,
>                          OvsPendPacketCmdHandler,
>                          OvsSubscribePacketCmdHandler,
>                          OvsReadPacketCmdHandler,
>-                         OvsCtDeleteCmdHandler;
>+                         OvsCtDeleteCmdHandler,
>+                         OvsCtDumpCmdHandler;
> 
> static NTSTATUS HandleGetDpTransaction(POVS_USER_PARAMS_CONTEXT
>usrParamsCtx,
>                                        UINT32 *replyLen);
>@@ -288,7 +289,13 @@ NETLINK_CMD nlCtFamilyCmdOps[] = {
>     { .cmd              = IPCTNL_MSG_CT_DELETE,
>       .handler          = OvsCtDeleteCmdHandler,
>       .supportedDevOp   = OVS_TRANSACTION_DEV_OP,
>-      .validateDpIndex  = TRUE
>+      .validateDpIndex  = FALSE
>+    },
>+    { .cmd              = IPCTNL_MSG_CT_GET,
>+      .handler          = OvsCtDumpCmdHandler,
>+      .supportedDevOp   = OVS_TRANSACTION_DEV_OP |
>+                          OVS_WRITE_DEV_OP | OVS_READ_DEV_OP,
>+      .validateDpIndex  = FALSE

In 7/9, it does not look like we handle OVS_TRANSACTION_DEV_OP.

How is IPCTNL_MSG_CT_GET invoked? If nl_transact() is not used, there¹s no
transaction. If we need to support transaction semantics, you¹ll have to
write a slightly different function to do a lookup and then return the
value.

‹ Nithin
diff mbox

Patch

diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c
index 7cc8390..5cc0614 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
@@ -104,7 +104,8 @@  NetlinkCmdHandler        OvsGetNetdevCmdHandler,
                          OvsPendPacketCmdHandler,
                          OvsSubscribePacketCmdHandler,
                          OvsReadPacketCmdHandler,
-                         OvsCtDeleteCmdHandler;
+                         OvsCtDeleteCmdHandler,
+                         OvsCtDumpCmdHandler;
 
 static NTSTATUS HandleGetDpTransaction(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
                                        UINT32 *replyLen);
@@ -288,7 +289,13 @@  NETLINK_CMD nlCtFamilyCmdOps[] = {
     { .cmd              = IPCTNL_MSG_CT_DELETE,
       .handler          = OvsCtDeleteCmdHandler,
       .supportedDevOp   = OVS_TRANSACTION_DEV_OP,
-      .validateDpIndex  = TRUE
+      .validateDpIndex  = FALSE
+    },
+    { .cmd              = IPCTNL_MSG_CT_GET,
+      .handler          = OvsCtDumpCmdHandler,
+      .supportedDevOp   = OVS_TRANSACTION_DEV_OP |
+                          OVS_WRITE_DEV_OP | OVS_READ_DEV_OP,
+      .validateDpIndex  = FALSE
     }
 };
 
@@ -904,6 +911,7 @@  OvsDeviceControl(PDEVICE_OBJECT deviceObject,
 
     ASSERT(ovsMsg);
     switch (ovsMsg->nlMsg.nlmsgType) {
+    case NFNL_TYPE_CT_GET:
     case NFNL_TYPE_CT_DEL:
         nlFamilyOps = &nlCtFamilyOps;
         break;