From: Oliver Kurth Date: Fri, 15 Sep 2017 18:23:40 +0000 (-0700) Subject: Changes to common source files; not applicable to open-vm-tools. X-Git-Tag: stable-10.2.0~206 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=38f7adb5e37a49b6696f467efa5183d906538eee;p=thirdparty%2Fopen-vm-tools.git Changes to common source files; not applicable to open-vm-tools. --- diff --git a/open-vm-tools/lib/include/vm_product_versions.h b/open-vm-tools/lib/include/vm_product_versions.h index aabdbef1c..ad88a1037 100644 --- a/open-vm-tools/lib/include/vm_product_versions.h +++ b/open-vm-tools/lib/include/vm_product_versions.h @@ -512,7 +512,8 @@ #define PRODUCT_VERSION_WORKSTATION_100 PRODUCT_WORKSTATION_BRIEF_NAME " 10.x" #define PRODUCT_VERSION_WORKSTATION_110 PRODUCT_WORKSTATION_BRIEF_NAME " 11.x" #define PRODUCT_VERSION_WORKSTATION_120 PRODUCT_WORKSTATION_BRIEF_NAME " 12.x" -#define PRODUCT_VERSION_WORKSTATION_130 PRODUCT_WORKSTATION_BRIEF_NAME " 2017" +// Workstation 13.x is skipped. +#define PRODUCT_VERSION_WORKSTATION_140 PRODUCT_WORKSTATION_BRIEF_NAME " Tech Preview 2017" #define PRODUCT_VERSION_WORKSTATION_ENTERPRISE_1 "ACE 1.x" #define PRODUCT_VERSION_WORKSTATION_ENTERPRISE_2 "ACE 2.0" #define PRODUCT_VERSION_WORKSTATION_ENTERPRISE_25 "ACE 2.5" @@ -525,7 +526,8 @@ #define PRODUCT_VERSION_MAC_DESKTOP_60 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 6.x" #define PRODUCT_VERSION_MAC_DESKTOP_70 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 7.x" #define PRODUCT_VERSION_MAC_DESKTOP_80 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 8.x" -#define PRODUCT_VERSION_MAC_DESKTOP_90 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 2017" +// Fusion 9.x is skipped. +#define PRODUCT_VERSION_MAC_DESKTOP_100 PRODUCT_MAC_DESKTOP_BRIEF_NAME " Tech Preview 2017" /* * VDFS Versions diff --git a/open-vm-tools/lib/misc/posixPosix.c b/open-vm-tools/lib/misc/posixPosix.c index b210f9c34..bf9ac65b9 100644 --- a/open-vm-tools/lib/misc/posixPosix.c +++ b/open-vm-tools/lib/misc/posixPosix.c @@ -1,5 +1,5 @@ /********************************************************* - * Copyright (C) 2008-2016 VMware, Inc. All rights reserved. + * Copyright (C) 2008-2017 VMware, Inc. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published @@ -47,6 +47,11 @@ #include #include #include +#include +#if TARGET_OS_IPHONE +#include +extern char **environ; +#endif #elif defined(__FreeBSD__) #include #include @@ -1241,6 +1246,48 @@ exit: } +#if TARGET_OS_IPHONE + +/* + *---------------------------------------------------------------------- + * + * Posix_SplitCommands -- + * + * Split the commands into arguments. + * + * Results: + * The length of the commands and the arguments. + * + * Side effects: + * NO + * + *---------------------------------------------------------------------- + */ + +int +Posix_SplitCommands(char *command, // IN + char **argv) // OUT +{ + char *token; + char *savePtr; + char *str; + int count; + for (count = 0, str = command; ; str = NULL, count++) { + token = strtok_r(str, " ", &savePtr); + if (token == NULL) { + break; + } + if (argv != NULL) { + *argv = token; + argv++; + } + } + return count; +} + +#endif + + /* *---------------------------------------------------------------------- * @@ -1267,7 +1314,25 @@ Posix_System(const char *command) // IN: return -1; } +#if TARGET_OS_IPHONE + pid_t pid; + int count; + char **argv; + char *commandCopy = strdup(command); + count = Posix_SplitCommands(commandCopy, NULL); + free(commandCopy); + if (!count) { + return -1; + } + argv = malloc(count * sizeof(char *)); + commandCopy = strdup(command); + Posix_SplitCommands(commandCopy, argv); + ret = posix_spawn(&pid, argv[0], NULL, NULL, argv, environ); + free(argv); + free(commandCopy); +#else ret = system(tmpcommand); +#endif Posix_Free(tmpcommand); diff --git a/open-vm-tools/modules/shared/vmxnet/vmxnet3_defs.h b/open-vm-tools/modules/shared/vmxnet/vmxnet3_defs.h index 067d91597..7637e8a49 100644 --- a/open-vm-tools/modules/shared/vmxnet/vmxnet3_defs.h +++ b/open-vm-tools/modules/shared/vmxnet/vmxnet3_defs.h @@ -124,6 +124,7 @@ typedef enum { VMXNET3_CMD_SET_POLLING, VMXNET3_CMD_SET_COALESCE, VMXNET3_CMD_REGISTER_MEMREGS, + VMXNET3_CMD_SET_RSS_FIELDS, VMXNET3_CMD_FIRST_GET = 0xF00D0000, VMXNET3_CMD_GET_QUEUE_STATUS = VMXNET3_CMD_FIRST_GET, @@ -137,7 +138,8 @@ typedef enum { VMXNET3_CMD_GET_CONF_INTR, VMXNET3_CMD_GET_ADAPTIVE_RING_INFO, VMXNET3_CMD_GET_TXDATA_DESC_SIZE, - VMXNET3_CMD_GET_COALESCE + VMXNET3_CMD_GET_COALESCE, + VMXNET3_CMD_GET_RSS_FIELDS, } Vmxnet3_Cmd; /* Adaptive Ring Info Flags */ @@ -406,6 +408,10 @@ Vmxnet3_RxCompDescExt; #define VMXNET3_RCD_RSS_TYPE_TCPIPV4 2 #define VMXNET3_RCD_RSS_TYPE_IPV6 3 #define VMXNET3_RCD_RSS_TYPE_TCPIPV6 4 +#define VMXNET3_RCD_RSS_TYPE_UDPIPV4 5 +#define VMXNET3_RCD_RSS_TYPE_UDPIPV6 6 +#define VMXNET3_RCD_RSS_TYPE_ESPIPV4 7 +#define VMXNET3_RCD_RSS_TYPE_ESPIPV6 8 /* a union for accessing all cmd/completion descriptors */ typedef union Vmxnet3_GenericDesc { @@ -841,6 +847,15 @@ struct Vmxnet3_MemRegs { #include "vmware_pack_end.h" Vmxnet3_MemRegs; +typedef enum Vmxnet3_RSSField { + VMXNET3_RSS_FIELDS_TCPIP4 = 0x0001, + VMXNET3_RSS_FIELDS_TCPIP6 = 0x0002, + VMXNET3_RSS_FIELDS_UDPIP4 = 0x0004, + VMXNET3_RSS_FIELDS_UDPIP6 = 0x0008, + VMXNET3_RSS_FIELDS_ESPIP4 = 0x0010, + VMXNET3_RSS_FIELDS_ESPIP6 = 0x0020, +} Vmxnet3_RSSField; + /* * If a command data does not exceed 16 bytes, it can use * the shared memory directly. Otherwise use variable length @@ -851,6 +866,7 @@ typedef union Vmxnet3_CmdInfo { Vmxnet3_VariableLenConfDesc varConf; Vmxnet3_SetPolling setPolling; + Vmxnet3_RSSField setRSSFields; __le64 data[2]; } #include "vmware_pack_end.h"