From: Nithin Raju Date: Wed, 29 Oct 2014 22:18:19 +0000 (-0700) Subject: datapath-windows: Increase the maximum size of port name. X-Git-Tag: v2.4.0~1081 X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fovs.git;a=commitdiff_plain;h=a2ab813b439c00a90d6382840253493563d7ac7a datapath-windows: Increase the maximum size of port name. In userspace, port name sizes are restricted to IFNAMSIZ which is defined to IF_NAME_SIZE in: C:\Program Files (x86)\Windows Kits\8.1\Include\shared\netioapi.h In the kernel, since IFNAMSIZ was not available, we previously defined a value of 16 for the kernel. This is restrictive for Openstack integration where we use UUID as the name. In this patch, we make the kernel code also use the same value as the userspace. Also updated is the OVS.psm1 powershell script which now allows friendly names to be upto 48 bytes. Signed-off-by: Nithin Raju Acked-by: Eitan Eliahu Signed-off-by: Ben Pfaff --- diff --git a/build-aux/extract-odp-netlink-windows-dp-h b/build-aux/extract-odp-netlink-windows-dp-h index 70514cbf9..f2d9f0748 100755 --- a/build-aux/extract-odp-netlink-windows-dp-h +++ b/build-aux/extract-odp-netlink-windows-dp-h @@ -18,8 +18,7 @@ s,,"Types.h", # Add ETH_ADDR_LEN macro to avoid including userspace packet.h s,#include ,\n#ifndef ETH_ADDR_LEN \ -#define ETH_ADDR_LEN 6 \n#endif \ -\n#ifndef IFNAMSIZ \n#define IFNAMSIZ 16 \n#endif, +#define ETH_ADDR_LEN 6 \n#endif, # Use OVS's own ETH_ADDR_LEN instead of Linux-specific ETH_ALEN. s/ETH_ALEN/ETH_ADDR_LEN/ diff --git a/datapath-windows/include/OvsDpInterfaceExt.h b/datapath-windows/include/OvsDpInterfaceExt.h index cea9e4124..7e09caf77 100644 --- a/datapath-windows/include/OvsDpInterfaceExt.h +++ b/datapath-windows/include/OvsDpInterfaceExt.h @@ -108,8 +108,6 @@ enum ovs_win_netdev_cmd { OVS_WIN_NETDEV_CMD_GET, /* information about the netdev. */ }; -#define OVS_WIN_NETDEV_ATTR_MAX (__OVS_WIN_NETDEV_ATTR_MAX - 1) - /** * For every vport on the datapath, there is a corresponding netdev. General * network device attributes of a vport that are not specific to OVS, such as @@ -146,12 +144,11 @@ enum ovs_win_netdev_attr { OVS_WIN_NETDEV_ATTR_IF_FLAGS, /* Interface flags o the vport. */ __OVS_WIN_NETDEV_ATTR_MAX }; +#define OVS_WIN_NETDEV_ATTR_MAX (__OVS_WIN_NETDEV_ATTR_MAX - 1) #define OVS_WIN_NETDEV_IFF_UP (1 << 0) #define OVS_WIN_NETDEV_IFF_PROMISC (1 << 1) -#define OVS_WIN_NETDEV_ATTR_MAX (__OVS_WIN_NETDEV_ATTR_MAX - 1) - typedef struct ovs_dp_stats OVS_DP_STATS; typedef enum ovs_vport_type OVS_VPORT_TYPE; diff --git a/datapath-windows/include/OvsPub.h b/datapath-windows/include/OvsPub.h index dd42d3365..1e7ab6a7f 100644 --- a/datapath-windows/include/OvsPub.h +++ b/datapath-windows/include/OvsPub.h @@ -17,6 +17,8 @@ #ifndef __OVS_PUB_H_ #define __OVS_PUB_H_ 1 +#include +#define IFNAMSIZ IF_NAMESIZE #include "../ovsext/Netlink/Netlink.h" #define OVS_DRIVER_MAJOR_VER 1 @@ -132,9 +134,7 @@ typedef struct _OVS_VERSION { uint8_t mnrDrvVer; } OVS_VERSION, *POVS_VERSION; - - -#define OVS_MAX_PORT_NAME_LENGTH 32 +#define OVS_MAX_PORT_NAME_LENGTH IFNAMSIZ typedef struct _OVS_VPORT_GET { uint32_t dpNo; diff --git a/datapath-windows/misc/OVS.psm1 b/datapath-windows/misc/OVS.psm1 index b83b26314..cec41a63c 100644 --- a/datapath-windows/misc/OVS.psm1 +++ b/datapath-windows/misc/OVS.psm1 @@ -29,7 +29,7 @@ function Set-VMNetworkAdapterOVSPort [Microsoft.HyperV.PowerShell.VMNetworkAdapter]$VMNetworkAdapter, [parameter(Mandatory=$true)] - [ValidateLength(1, 16)] + [ValidateLength(1, 48)] [string]$OVSPortName ) process @@ -73,7 +73,7 @@ function Get-VMNetworkAdapterByOVSPort ( [parameter(Mandatory=$true)] - [ValidateLength(1, 16)] + [ValidateLength(1, 48)] [string]$OVSPortName ) process @@ -94,7 +94,7 @@ function Get-VMByOVSPort param ( [parameter(Mandatory=$true)] - [ValidateLength(1, 16)] + [ValidateLength(1, 48)] [string]$OVSPortName ) process