diff mbox series

[ovs-dev,v4] vswitchd: show DPDK version

Message ID 20180115182112.29725-1-mcroce@redhat.com
State Accepted
Delegated to: Ian Stokes
Headers show
Series [ovs-dev,v4] vswitchd: show DPDK version | expand

Commit Message

Matteo Croce Jan. 15, 2018, 6:21 p.m. UTC
Show DPDK version if Open vSwitch is compiled with DPDK support.
Version can be retrieved with `ovs-switchd --version` or from OVS logs.
Small change in ovs-ctl to avoid breakage on output change.

Signed-off-by: Matteo Croce <mcroce@redhat.com>
---
v3:
 print version in OVS logs too
 don't save the version in the DB
 use dpdk-stub.c instead of #ifdef

v4:
 fix only patch subject, I left ovs-vsctl from the older v1/v2, sorry

 lib/dpdk-stub.c         | 5 +++++
 lib/dpdk.c              | 8 ++++++++
 lib/dpdk.h              | 1 +
 utilities/ovs-ctl.in    | 2 +-
 vswitchd/ovs-vswitchd.c | 1 +
 5 files changed, 16 insertions(+), 1 deletion(-)

Comments

Matteo Croce Jan. 22, 2018, 10:26 p.m. UTC | #1
On Mon, Jan 15, 2018 at 7:21 PM, Matteo Croce <mcroce@redhat.com> wrote:
> Show DPDK version if Open vSwitch is compiled with DPDK support.
> Version can be retrieved with `ovs-switchd --version` or from OVS logs.
> Small change in ovs-ctl to avoid breakage on output change.
>
> Signed-off-by: Matteo Croce <mcroce@redhat.com>
> ---
> v3:
>  print version in OVS logs too
>  don't save the version in the DB
>  use dpdk-stub.c instead of #ifdef
>
> v4:
>  fix only patch subject, I left ovs-vsctl from the older v1/v2, sorry
>
>  lib/dpdk-stub.c         | 5 +++++
>  lib/dpdk.c              | 8 ++++++++
>  lib/dpdk.h              | 1 +
>  utilities/ovs-ctl.in    | 2 +-
>  vswitchd/ovs-vswitchd.c | 1 +
>  5 files changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/lib/dpdk-stub.c b/lib/dpdk-stub.c
> index 36021807c..041cd0cbb 100644
> --- a/lib/dpdk-stub.c
> +++ b/lib/dpdk-stub.c
> @@ -54,3 +54,8 @@ dpdk_vhost_iommu_enabled(void)
>  {
>      return false;
>  }
> +
> +void
> +print_dpdk_version(void)
> +{
> +}
> diff --git a/lib/dpdk.c b/lib/dpdk.c
> index 6710d10fc..3f5a55fc1 100644
> --- a/lib/dpdk.c
> +++ b/lib/dpdk.c
> @@ -24,6 +24,7 @@
>
>  #include <rte_log.h>
>  #include <rte_memzone.h>
> +#include <rte_version.h>
>  #ifdef DPDK_PDUMP
>  #include <rte_mempool.h>
>  #include <rte_pdump.h>
> @@ -471,6 +472,7 @@ dpdk_init(const struct smap *ovs_other_config)
>          static struct ovsthread_once once_enable = OVSTHREAD_ONCE_INITIALIZER;
>
>          if (ovsthread_once_start(&once_enable)) {
> +            VLOG_INFO("Using %s", rte_version());
>              VLOG_INFO("DPDK Enabled - initializing...");
>              dpdk_init__(ovs_other_config);
>              enabled = true;
> @@ -501,3 +503,9 @@ dpdk_set_lcore_id(unsigned cpu)
>      ovs_assert(cpu != NON_PMD_CORE_ID);
>      RTE_PER_LCORE(_lcore_id) = cpu;
>  }
> +
> +void
> +print_dpdk_version(void)
> +{
> +    puts(rte_version());
> +}
> diff --git a/lib/dpdk.h b/lib/dpdk.h
> index dc58d968a..b04153591 100644
> --- a/lib/dpdk.h
> +++ b/lib/dpdk.h
> @@ -38,5 +38,6 @@ void dpdk_init(const struct smap *ovs_other_config);
>  void dpdk_set_lcore_id(unsigned cpu);
>  const char *dpdk_get_vhost_sock_dir(void);
>  bool dpdk_vhost_iommu_enabled(void);
> +void print_dpdk_version(void);
>
>  #endif /* dpdk.h */
> diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
> index 1df56c4a5..ef06dd967 100755
> --- a/utilities/ovs-ctl.in
> +++ b/utilities/ovs-ctl.in
> @@ -72,7 +72,7 @@ set_hostname () {
>  set_system_ids () {
>      set ovs_vsctl set Open_vSwitch .
>
> -    OVS_VERSION=`ovs-vswitchd --version | sed 's/.*) //;1q'`
> +    OVS_VERSION=`ovs-vswitchd --version | awk '/Open vSwitch/{print $NF}'`
>      set "$@" ovs-version="$OVS_VERSION"
>
>      case $SYSTEM_ID in
> diff --git a/vswitchd/ovs-vswitchd.c b/vswitchd/ovs-vswitchd.c
> index d5e07c037..a5e8f4d39 100644
> --- a/vswitchd/ovs-vswitchd.c
> +++ b/vswitchd/ovs-vswitchd.c
> @@ -187,6 +187,7 @@ parse_options(int argc, char *argv[], char **unixctl_pathp)
>
>          case 'V':
>              ovs_print_version(0, 0);
> +            print_dpdk_version();
>              exit(EXIT_SUCCESS);
>
>          case OPT_MLOCKALL:
> --
> 2.14.3
>

If you consider applying it, please fix the typo in the commit message:
ovs-vswitchd instead of ovs-switchd

Thanks
Kevin Traynor Jan. 23, 2018, 11:03 a.m. UTC | #2
On 01/15/2018 06:21 PM, Matteo Croce wrote:
> Show DPDK version if Open vSwitch is compiled with DPDK support.
> Version can be retrieved with `ovs-switchd --version` or from OVS logs.
> Small change in ovs-ctl to avoid breakage on output change.
> 
> Signed-off-by: Matteo Croce <mcroce@redhat.com>

LGTM

Acked-by: Kevin Traynor <ktraynor@redhat.com>

> ---
> v3:
>  print version in OVS logs too
>  don't save the version in the DB
>  use dpdk-stub.c instead of #ifdef
> 
> v4:
>  fix only patch subject, I left ovs-vsctl from the older v1/v2, sorry
> 
>  lib/dpdk-stub.c         | 5 +++++
>  lib/dpdk.c              | 8 ++++++++
>  lib/dpdk.h              | 1 +
>  utilities/ovs-ctl.in    | 2 +-
>  vswitchd/ovs-vswitchd.c | 1 +
>  5 files changed, 16 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/dpdk-stub.c b/lib/dpdk-stub.c
> index 36021807c..041cd0cbb 100644
> --- a/lib/dpdk-stub.c
> +++ b/lib/dpdk-stub.c
> @@ -54,3 +54,8 @@ dpdk_vhost_iommu_enabled(void)
>  {
>      return false;
>  }
> +
> +void
> +print_dpdk_version(void)
> +{
> +}
> diff --git a/lib/dpdk.c b/lib/dpdk.c
> index 6710d10fc..3f5a55fc1 100644
> --- a/lib/dpdk.c
> +++ b/lib/dpdk.c
> @@ -24,6 +24,7 @@
>  
>  #include <rte_log.h>
>  #include <rte_memzone.h>
> +#include <rte_version.h>
>  #ifdef DPDK_PDUMP
>  #include <rte_mempool.h>
>  #include <rte_pdump.h>
> @@ -471,6 +472,7 @@ dpdk_init(const struct smap *ovs_other_config)
>          static struct ovsthread_once once_enable = OVSTHREAD_ONCE_INITIALIZER;
>  
>          if (ovsthread_once_start(&once_enable)) {
> +            VLOG_INFO("Using %s", rte_version());
>              VLOG_INFO("DPDK Enabled - initializing...");
>              dpdk_init__(ovs_other_config);
>              enabled = true;
> @@ -501,3 +503,9 @@ dpdk_set_lcore_id(unsigned cpu)
>      ovs_assert(cpu != NON_PMD_CORE_ID);
>      RTE_PER_LCORE(_lcore_id) = cpu;
>  }
> +
> +void
> +print_dpdk_version(void)
> +{
> +    puts(rte_version());
> +}
> diff --git a/lib/dpdk.h b/lib/dpdk.h
> index dc58d968a..b04153591 100644
> --- a/lib/dpdk.h
> +++ b/lib/dpdk.h
> @@ -38,5 +38,6 @@ void dpdk_init(const struct smap *ovs_other_config);
>  void dpdk_set_lcore_id(unsigned cpu);
>  const char *dpdk_get_vhost_sock_dir(void);
>  bool dpdk_vhost_iommu_enabled(void);
> +void print_dpdk_version(void);
>  
>  #endif /* dpdk.h */
> diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
> index 1df56c4a5..ef06dd967 100755
> --- a/utilities/ovs-ctl.in
> +++ b/utilities/ovs-ctl.in
> @@ -72,7 +72,7 @@ set_hostname () {
>  set_system_ids () {
>      set ovs_vsctl set Open_vSwitch .
>  
> -    OVS_VERSION=`ovs-vswitchd --version | sed 's/.*) //;1q'`
> +    OVS_VERSION=`ovs-vswitchd --version | awk '/Open vSwitch/{print $NF}'`
>      set "$@" ovs-version="$OVS_VERSION"
>  
>      case $SYSTEM_ID in
> diff --git a/vswitchd/ovs-vswitchd.c b/vswitchd/ovs-vswitchd.c
> index d5e07c037..a5e8f4d39 100644
> --- a/vswitchd/ovs-vswitchd.c
> +++ b/vswitchd/ovs-vswitchd.c
> @@ -187,6 +187,7 @@ parse_options(int argc, char *argv[], char **unixctl_pathp)
>  
>          case 'V':
>              ovs_print_version(0, 0);
> +            print_dpdk_version();
>              exit(EXIT_SUCCESS);
>  
>          case OPT_MLOCKALL:
>
Stokes, Ian Jan. 23, 2018, 3:18 p.m. UTC | #3
> On 01/15/2018 06:21 PM, Matteo Croce wrote:
> > Show DPDK version if Open vSwitch is compiled with DPDK support.
> > Version can be retrieved with `ovs-switchd --version` or from OVS logs.
> > Small change in ovs-ctl to avoid breakage on output change.
> >
> > Signed-off-by: Matteo Croce <mcroce@redhat.com>
> 
> LGTM
> 
> Acked-by: Kevin Traynor <ktraynor@redhat.com>

Thanks all for the work put into this.

I've fixed the commit typo and merged it to DPDK_MERGE, I also think it can be merged to DPDK_MERGE_2_9 for the ovs 2.9 release.

Thanks
Ian
> 
> > ---
> > v3:
> >  print version in OVS logs too
> >  don't save the version in the DB
> >  use dpdk-stub.c instead of #ifdef
> >
> > v4:
> >  fix only patch subject, I left ovs-vsctl from the older v1/v2, sorry
> >
> >  lib/dpdk-stub.c         | 5 +++++
> >  lib/dpdk.c              | 8 ++++++++
> >  lib/dpdk.h              | 1 +
> >  utilities/ovs-ctl.in    | 2 +-
> >  vswitchd/ovs-vswitchd.c | 1 +
> >  5 files changed, 16 insertions(+), 1 deletion(-)
> >
> > diff --git a/lib/dpdk-stub.c b/lib/dpdk-stub.c index
> > 36021807c..041cd0cbb 100644
> > --- a/lib/dpdk-stub.c
> > +++ b/lib/dpdk-stub.c
> > @@ -54,3 +54,8 @@ dpdk_vhost_iommu_enabled(void)  {
> >      return false;
> >  }
> > +
> > +void
> > +print_dpdk_version(void)
> > +{
> > +}
> > diff --git a/lib/dpdk.c b/lib/dpdk.c
> > index 6710d10fc..3f5a55fc1 100644
> > --- a/lib/dpdk.c
> > +++ b/lib/dpdk.c
> > @@ -24,6 +24,7 @@
> >
> >  #include <rte_log.h>
> >  #include <rte_memzone.h>
> > +#include <rte_version.h>
> >  #ifdef DPDK_PDUMP
> >  #include <rte_mempool.h>
> >  #include <rte_pdump.h>
> > @@ -471,6 +472,7 @@ dpdk_init(const struct smap *ovs_other_config)
> >          static struct ovsthread_once once_enable =
> > OVSTHREAD_ONCE_INITIALIZER;
> >
> >          if (ovsthread_once_start(&once_enable)) {
> > +            VLOG_INFO("Using %s", rte_version());
> >              VLOG_INFO("DPDK Enabled - initializing...");
> >              dpdk_init__(ovs_other_config);
> >              enabled = true;
> > @@ -501,3 +503,9 @@ dpdk_set_lcore_id(unsigned cpu)
> >      ovs_assert(cpu != NON_PMD_CORE_ID);
> >      RTE_PER_LCORE(_lcore_id) = cpu;
> >  }
> > +
> > +void
> > +print_dpdk_version(void)
> > +{
> > +    puts(rte_version());
> > +}
> > diff --git a/lib/dpdk.h b/lib/dpdk.h
> > index dc58d968a..b04153591 100644
> > --- a/lib/dpdk.h
> > +++ b/lib/dpdk.h
> > @@ -38,5 +38,6 @@ void dpdk_init(const struct smap *ovs_other_config);
> > void dpdk_set_lcore_id(unsigned cpu);  const char
> > *dpdk_get_vhost_sock_dir(void);  bool dpdk_vhost_iommu_enabled(void);
> > +void print_dpdk_version(void);
> >
> >  #endif /* dpdk.h */
> > diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in index
> > 1df56c4a5..ef06dd967 100755
> > --- a/utilities/ovs-ctl.in
> > +++ b/utilities/ovs-ctl.in
> > @@ -72,7 +72,7 @@ set_hostname () {
> >  set_system_ids () {
> >      set ovs_vsctl set Open_vSwitch .
> >
> > -    OVS_VERSION=`ovs-vswitchd --version | sed 's/.*) //;1q'`
> > +    OVS_VERSION=`ovs-vswitchd --version | awk '/Open vSwitch/{print
> > + $NF}'`
> >      set "$@" ovs-version="$OVS_VERSION"
> >
> >      case $SYSTEM_ID in
> > diff --git a/vswitchd/ovs-vswitchd.c b/vswitchd/ovs-vswitchd.c index
> > d5e07c037..a5e8f4d39 100644
> > --- a/vswitchd/ovs-vswitchd.c
> > +++ b/vswitchd/ovs-vswitchd.c
> > @@ -187,6 +187,7 @@ parse_options(int argc, char *argv[], char
> > **unixctl_pathp)
> >
> >          case 'V':
> >              ovs_print_version(0, 0);
> > +            print_dpdk_version();
> >              exit(EXIT_SUCCESS);
> >
> >          case OPT_MLOCKALL:
> >
> 
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
diff mbox series

Patch

diff --git a/lib/dpdk-stub.c b/lib/dpdk-stub.c
index 36021807c..041cd0cbb 100644
--- a/lib/dpdk-stub.c
+++ b/lib/dpdk-stub.c
@@ -54,3 +54,8 @@  dpdk_vhost_iommu_enabled(void)
 {
     return false;
 }
+
+void
+print_dpdk_version(void)
+{
+}
diff --git a/lib/dpdk.c b/lib/dpdk.c
index 6710d10fc..3f5a55fc1 100644
--- a/lib/dpdk.c
+++ b/lib/dpdk.c
@@ -24,6 +24,7 @@ 
 
 #include <rte_log.h>
 #include <rte_memzone.h>
+#include <rte_version.h>
 #ifdef DPDK_PDUMP
 #include <rte_mempool.h>
 #include <rte_pdump.h>
@@ -471,6 +472,7 @@  dpdk_init(const struct smap *ovs_other_config)
         static struct ovsthread_once once_enable = OVSTHREAD_ONCE_INITIALIZER;
 
         if (ovsthread_once_start(&once_enable)) {
+            VLOG_INFO("Using %s", rte_version());
             VLOG_INFO("DPDK Enabled - initializing...");
             dpdk_init__(ovs_other_config);
             enabled = true;
@@ -501,3 +503,9 @@  dpdk_set_lcore_id(unsigned cpu)
     ovs_assert(cpu != NON_PMD_CORE_ID);
     RTE_PER_LCORE(_lcore_id) = cpu;
 }
+
+void
+print_dpdk_version(void)
+{
+    puts(rte_version());
+}
diff --git a/lib/dpdk.h b/lib/dpdk.h
index dc58d968a..b04153591 100644
--- a/lib/dpdk.h
+++ b/lib/dpdk.h
@@ -38,5 +38,6 @@  void dpdk_init(const struct smap *ovs_other_config);
 void dpdk_set_lcore_id(unsigned cpu);
 const char *dpdk_get_vhost_sock_dir(void);
 bool dpdk_vhost_iommu_enabled(void);
+void print_dpdk_version(void);
 
 #endif /* dpdk.h */
diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
index 1df56c4a5..ef06dd967 100755
--- a/utilities/ovs-ctl.in
+++ b/utilities/ovs-ctl.in
@@ -72,7 +72,7 @@  set_hostname () {
 set_system_ids () {
     set ovs_vsctl set Open_vSwitch .
 
-    OVS_VERSION=`ovs-vswitchd --version | sed 's/.*) //;1q'`
+    OVS_VERSION=`ovs-vswitchd --version | awk '/Open vSwitch/{print $NF}'`
     set "$@" ovs-version="$OVS_VERSION"
 
     case $SYSTEM_ID in
diff --git a/vswitchd/ovs-vswitchd.c b/vswitchd/ovs-vswitchd.c
index d5e07c037..a5e8f4d39 100644
--- a/vswitchd/ovs-vswitchd.c
+++ b/vswitchd/ovs-vswitchd.c
@@ -187,6 +187,7 @@  parse_options(int argc, char *argv[], char **unixctl_pathp)
 
         case 'V':
             ovs_print_version(0, 0);
+            print_dpdk_version();
             exit(EXIT_SUCCESS);
 
         case OPT_MLOCKALL: