From b22e0aef462df40e3355ee1cdf707b9578d23706 Mon Sep 17 00:00:00 2001 From: Shmulik Ladkani Date: Thu, 24 Dec 2015 09:17:37 +0200 Subject: vmxnet3: Introduce 'x-old-msi-offsets' back-compat property Following the previous patches, where vmxnet3's pci's msi/msix capability offsets and msix's PBA table offsets have been changed, this patch introduces a boolean property 'x-old-msi-offsets' to vmxnet3, whose default is false. Setting 'x-old-msi-offsets' to 'on' preserves the old offsets behavior, which allows migration to older versions. Signed-off-by: Shmulik Ladkani Signed-off-by: Jason Wang --- include/hw/compat.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/hw/compat.h b/include/hw/compat.h index 3d8d2a9244..fd20d0e00f 100644 --- a/include/hw/compat.h +++ b/include/hw/compat.h @@ -2,7 +2,11 @@ #define HW_COMPAT_H #define HW_COMPAT_2_5 \ - /* empty */ + {\ + .driver = "vmxnet3",\ + .property = "x-old-msi-offsets",\ + .value = "on",\ + }, #define HW_COMPAT_2_4 \ {\ -- cgit v1.2.3-55-g7522 From 7d6d347d0602997a7fcb33b7edd20f8d8515b48b Mon Sep 17 00:00:00 2001 From: Shmulik Ladkani Date: Thu, 24 Dec 2015 09:17:40 +0200 Subject: vmxnet3: Introduce 'x-disable-pcie' back-compat property Following the previous patch which changed vmxnet3 to be a pci express device, this patch introduces a boolean property 'x-disable-pcie' whose default is false. Setting 'x-disable-pcie' to 'on' preserves the old 'pci device' (non express) behavior. This allows migration to older versions. Signed-off-by: Shmulik Ladkani Signed-off-by: Jason Wang --- hw/net/vmxnet3.c | 2 ++ include/hw/compat.h | 4 ++++ 2 files changed, 6 insertions(+) (limited to 'include') diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c index aee218c58a..67abad3598 100644 --- a/hw/net/vmxnet3.c +++ b/hw/net/vmxnet3.c @@ -2663,6 +2663,8 @@ static Property vmxnet3_properties[] = { DEFINE_NIC_PROPERTIES(VMXNET3State, conf), DEFINE_PROP_BIT("x-old-msi-offsets", VMXNET3State, compat_flags, VMXNET3_COMPAT_FLAG_OLD_MSI_OFFSETS_BIT, false), + DEFINE_PROP_BIT("x-disable-pcie", VMXNET3State, compat_flags, + VMXNET3_COMPAT_FLAG_DISABLE_PCIE_BIT, false), DEFINE_PROP_END_OF_LIST(), }; diff --git a/include/hw/compat.h b/include/hw/compat.h index fd20d0e00f..98df0dd7b5 100644 --- a/include/hw/compat.h +++ b/include/hw/compat.h @@ -6,6 +6,10 @@ .driver = "vmxnet3",\ .property = "x-old-msi-offsets",\ .value = "on",\ + },{\ + .driver = "vmxnet3",\ + .property = "x-disable-pcie",\ + .value = "on",\ }, #define HW_COMPAT_2_4 \ -- cgit v1.2.3-55-g7522 From 9c7ffe266485c87e8e76d59af22e96866c202e42 Mon Sep 17 00:00:00 2001 From: Dr. David Alan Gilbert Date: Fri, 8 Jan 2016 14:41:28 +0000 Subject: ether/slirp: Avoid redefinition of the same constants eth.h and slirp.h both define ETH_ALEN and ETH_P_IP rtl8139.c and eth.h both define ETH_HLEN Move the related constant (ETH_P_ARP) from slirp.h to eth.h, and remove the duplicates; make slirp.h include eth.h Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Alex Bennée Signed-off-by: Jason Wang --- hw/net/rtl8139.c | 1 - include/net/eth.h | 4 +++- slirp/slirp.h | 7 +------ 3 files changed, 4 insertions(+), 8 deletions(-) (limited to 'include') diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c index 68e43f3d48..d192d573b4 100644 --- a/hw/net/rtl8139.c +++ b/hw/net/rtl8139.c @@ -74,7 +74,6 @@ ( ( input ) & ( size - 1 ) ) #define ETHER_TYPE_LEN 2 -#define ETH_HLEN (ETH_ALEN * 2 + ETHER_TYPE_LEN) #define ETH_MTU 1500 #define VLAN_TCI_LEN 2 diff --git a/include/net/eth.h b/include/net/eth.h index b3273b823f..84384febf2 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -32,6 +32,7 @@ #include "qemu/iov.h" #define ETH_ALEN 6 +#define ETH_HLEN 14 struct eth_header { uint8_t h_dest[ETH_ALEN]; /* destination eth addr */ @@ -170,7 +171,8 @@ struct tcp_hdr { #define IP_HEADER_VERSION(ip) \ ((ip->ip_ver_len >> 4)&0xf) -#define ETH_P_IP (0x0800) +#define ETH_P_IP (0x0800) /* Internet Protocol packet */ +#define ETH_P_ARP (0x0806) /* Address Resolution packet */ #define ETH_P_IPV6 (0x86dd) #define ETH_P_VLAN (0x8100) #define ETH_P_DVLAN (0x88a8) diff --git a/slirp/slirp.h b/slirp/slirp.h index 6589d7eef0..ec0a4c2415 100644 --- a/slirp/slirp.h +++ b/slirp/slirp.h @@ -135,6 +135,7 @@ void free(void *ptr); #include "qemu/queue.h" #include "qemu/sockets.h" +#include "net/eth.h" #include "libslirp.h" #include "ip.h" @@ -158,12 +159,6 @@ void free(void *ptr); #include "bootp.h" #include "tftp.h" -#define ETH_ALEN 6 -#define ETH_HLEN 14 - -#define ETH_P_IP 0x0800 /* Internet Protocol packet */ -#define ETH_P_ARP 0x0806 /* Address Resolution packet */ - #define ARPOP_REQUEST 1 /* ARP request */ #define ARPOP_REPLY 2 /* ARP reply */ -- cgit v1.2.3-55-g7522