search for: macvtap_vnet_le

Displaying 20 results from an estimated 30 matches for "macvtap_vnet_le".

2015 Apr 23
2
[PATCH v5 6/8] virtio: add explicit big-endian support to memory accessors
...tap.c b/drivers/net/macvtap.c > index a2f2958..6cf6b3e 100644 > --- a/drivers/net/macvtap.c > +++ b/drivers/net/macvtap.c > @@ -51,7 +51,10 @@ struct macvtap_queue { > > static inline bool macvtap_is_little_endian(struct macvtap_queue *q) > { > - return q->flags & MACVTAP_VNET_LE; > + if (q->flags & MACVTAP_VNET_LE) > + return true; > + else > + return virtio_legacy_is_little_endian(); simply: return (q->flags & MACVTAP_VNET_LE) || virtio_legacy_is_little_endian(); ? > } > > static inline u16 macvtap16_to_cpu(struct macv...
2015 Apr 23
2
[PATCH v5 6/8] virtio: add explicit big-endian support to memory accessors
...tap.c b/drivers/net/macvtap.c > index a2f2958..6cf6b3e 100644 > --- a/drivers/net/macvtap.c > +++ b/drivers/net/macvtap.c > @@ -51,7 +51,10 @@ struct macvtap_queue { > > static inline bool macvtap_is_little_endian(struct macvtap_queue *q) > { > - return q->flags & MACVTAP_VNET_LE; > + if (q->flags & MACVTAP_VNET_LE) > + return true; > + else > + return virtio_legacy_is_little_endian(); simply: return (q->flags & MACVTAP_VNET_LE) || virtio_legacy_is_little_endian(); ? > } > > static inline u16 macvtap16_to_cpu(struct macv...
2015 Apr 21
1
[PATCH v4 6/8] virtio: add explicit big-endian support to memory accessors
...vtap.c b/drivers/net/macvtap.c > index a2f2958..0a03a66 100644 > --- a/drivers/net/macvtap.c > +++ b/drivers/net/macvtap.c > @@ -51,7 +51,9 @@ struct macvtap_queue { > > static inline bool macvtap_is_little_endian(struct macvtap_queue *q) > { > - return q->flags & MACVTAP_VNET_LE; > + if (q->flags & MACVTAP_VNET_LE) > + return true; > + return virtio_legacy_is_little_endian(); > } > I'd prefer a bit more symmetry: + if (q->flags & MACVTAP_VNET_LE) + return true; + else + return virtio_legacy_is_little_endian(); Or better just: retu...
2015 Apr 21
1
[PATCH v4 6/8] virtio: add explicit big-endian support to memory accessors
...vtap.c b/drivers/net/macvtap.c > index a2f2958..0a03a66 100644 > --- a/drivers/net/macvtap.c > +++ b/drivers/net/macvtap.c > @@ -51,7 +51,9 @@ struct macvtap_queue { > > static inline bool macvtap_is_little_endian(struct macvtap_queue *q) > { > - return q->flags & MACVTAP_VNET_LE; > + if (q->flags & MACVTAP_VNET_LE) > + return true; > + return virtio_legacy_is_little_endian(); > } > I'd prefer a bit more symmetry: + if (q->flags & MACVTAP_VNET_LE) + return true; + else + return virtio_legacy_is_little_endian(); Or better just: retu...
2015 Apr 23
0
[PATCH v5 3/8] macvtap: introduce macvtap_is_little_endian() helper
...om> --- drivers/net/macvtap.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c index 27ecc5c..a2f2958 100644 --- a/drivers/net/macvtap.c +++ b/drivers/net/macvtap.c @@ -49,14 +49,19 @@ struct macvtap_queue { #define MACVTAP_VNET_LE 0x80000000 +static inline bool macvtap_is_little_endian(struct macvtap_queue *q) +{ + return q->flags & MACVTAP_VNET_LE; +} + static inline u16 macvtap16_to_cpu(struct macvtap_queue *q, __virtio16 val) { - return __virtio16_to_cpu(q->flags & MACVTAP_VNET_LE, val); + return __virti...
2015 Apr 24
0
[PATCH v6 3/8] macvtap: introduce macvtap_is_little_endian() helper
...om> --- drivers/net/macvtap.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c index 27ecc5c..a2f2958 100644 --- a/drivers/net/macvtap.c +++ b/drivers/net/macvtap.c @@ -49,14 +49,19 @@ struct macvtap_queue { #define MACVTAP_VNET_LE 0x80000000 +static inline bool macvtap_is_little_endian(struct macvtap_queue *q) +{ + return q->flags & MACVTAP_VNET_LE; +} + static inline u16 macvtap16_to_cpu(struct macvtap_queue *q, __virtio16 val) { - return __virtio16_to_cpu(q->flags & MACVTAP_VNET_LE, val); + return __virti...
2015 Jun 01
1
[PATCH v6 3/8] macvtap: introduce macvtap_is_little_endian() helper
...+++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c > index 27ecc5c..a2f2958 100644 > --- a/drivers/net/macvtap.c > +++ b/drivers/net/macvtap.c > @@ -49,14 +49,19 @@ struct macvtap_queue { > > #define MACVTAP_VNET_LE 0x80000000 > > +static inline bool macvtap_is_little_endian(struct macvtap_queue *q) > +{ > + return q->flags & MACVTAP_VNET_LE; > +} > + > static inline u16 macvtap16_to_cpu(struct macvtap_queue *q, __virtio16 val) > { > - return __virtio16_to_cpu(q->flags...
2015 Jun 01
1
[PATCH v6 3/8] macvtap: introduce macvtap_is_little_endian() helper
...+++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c > index 27ecc5c..a2f2958 100644 > --- a/drivers/net/macvtap.c > +++ b/drivers/net/macvtap.c > @@ -49,14 +49,19 @@ struct macvtap_queue { > > #define MACVTAP_VNET_LE 0x80000000 > > +static inline bool macvtap_is_little_endian(struct macvtap_queue *q) > +{ > + return q->flags & MACVTAP_VNET_LE; > +} > + > static inline u16 macvtap16_to_cpu(struct macvtap_queue *q, __virtio16 val) > { > - return __virtio16_to_cpu(q->flags...
2015 Apr 24
0
[PATCH v5 6/8] virtio: add explicit big-endian support to memory accessors
...index a2f2958..6cf6b3e 100644 > > --- a/drivers/net/macvtap.c > > +++ b/drivers/net/macvtap.c > > @@ -51,7 +51,10 @@ struct macvtap_queue { > > > > static inline bool macvtap_is_little_endian(struct macvtap_queue *q) > > { > > - return q->flags & MACVTAP_VNET_LE; > > + if (q->flags & MACVTAP_VNET_LE) > > + return true; > > + else > > + return virtio_legacy_is_little_endian(); > > simply: > > return (q->flags & MACVTAP_VNET_LE) || > virtio_legacy_is_little_endian(); > > ? ISTR that MS...
2015 Apr 23
16
[PATCH v5 0/8] vhost: support for cross endian guests
Hi, This patchset allows vhost to be used with legacy virtio when guest and host have a different endianness. It is compatible with modern virtio and can be fully compiled out through kernel config. FWIW, I could flawlessly kexec/reboot guests from ppc64 to ppc64le and back. I could also migrate from a ppc64 to a ppc64le host and back. No regressions on x86 as expected. My experimental QEMU tree
2015 Apr 23
16
[PATCH v5 0/8] vhost: support for cross endian guests
Hi, This patchset allows vhost to be used with legacy virtio when guest and host have a different endianness. It is compatible with modern virtio and can be fully compiled out through kernel config. FWIW, I could flawlessly kexec/reboot guests from ppc64 to ppc64le and back. I could also migrate from a ppc64 to a ppc64le host and back. No regressions on x86 as expected. My experimental QEMU tree
2015 Apr 10
16
[PATCH v4 0/8] vhost: support for cross endian guests
Hi, This patchset allows vhost to be used with legacy virtio when guest and host have a different endianness. Patch 7 got rewritten according to Cornelia's and Michael's comments. I have also introduced patch 8 that brings BE vnet headers support to tun/macvtap. This series is enough to have vhost_net working flawlessly. I could succesfully reboot guests from ppc64 to ppc64le and
2015 Apr 10
16
[PATCH v4 0/8] vhost: support for cross endian guests
Hi, This patchset allows vhost to be used with legacy virtio when guest and host have a different endianness. Patch 7 got rewritten according to Cornelia's and Michael's comments. I have also introduced patch 8 that brings BE vnet headers support to tun/macvtap. This series is enough to have vhost_net working flawlessly. I could succesfully reboot guests from ppc64 to ppc64le and
2015 Apr 21
2
[PATCH v4 8/8] macvtap/tun: add VNET_BE flag
...- > diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c > index 0a03a66..e0ab1b7 100644 > --- a/drivers/net/macvtap.c > +++ b/drivers/net/macvtap.c > @@ -48,12 +48,27 @@ struct macvtap_queue { > #define MACVTAP_FEATURES (IFF_VNET_HDR | IFF_MULTI_QUEUE) > > #define MACVTAP_VNET_LE 0x80000000 > +#define MACVTAP_VNET_BE 0x40000000 > + > +#ifdef CONFIG_TUN_VNET_BE > +static inline bool macvtap_legacy_is_little_endian(struct macvtap_queue *q) > +{ > + if (q->flags & MACVTAP_VNET_BE) > + return false; > + return virtio_legacy_is_little_endian(); &g...
2015 Apr 21
2
[PATCH v4 8/8] macvtap/tun: add VNET_BE flag
...- > diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c > index 0a03a66..e0ab1b7 100644 > --- a/drivers/net/macvtap.c > +++ b/drivers/net/macvtap.c > @@ -48,12 +48,27 @@ struct macvtap_queue { > #define MACVTAP_FEATURES (IFF_VNET_HDR | IFF_MULTI_QUEUE) > > #define MACVTAP_VNET_LE 0x80000000 > +#define MACVTAP_VNET_BE 0x40000000 > + > +#ifdef CONFIG_TUN_VNET_BE > +static inline bool macvtap_legacy_is_little_endian(struct macvtap_queue *q) > +{ > + if (q->flags & MACVTAP_VNET_BE) > + return false; > + return virtio_legacy_is_little_endian(); &g...
2015 Apr 24
27
[PATCH v6 0/8] vhost: support for cross endian guests
Only cosmetic and documentation changes since v5. --- Greg Kurz (8): virtio: introduce virtio_is_little_endian() helper tun: add tun_is_little_endian() helper macvtap: introduce macvtap_is_little_endian() helper vringh: introduce vringh_is_little_endian() helper vhost: introduce vhost_is_little_endian() helper virtio: add explicit big-endian support to memory
2015 Apr 24
27
[PATCH v6 0/8] vhost: support for cross endian guests
Only cosmetic and documentation changes since v5. --- Greg Kurz (8): virtio: introduce virtio_is_little_endian() helper tun: add tun_is_little_endian() helper macvtap: introduce macvtap_is_little_endian() helper vringh: introduce vringh_is_little_endian() helper vhost: introduce vhost_is_little_endian() helper virtio: add explicit big-endian support to memory
2015 Apr 10
0
[PATCH v4 8/8] macvtap/tun: add VNET_BE flag
...l ethernet pair device" ---help--- diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c index 0a03a66..e0ab1b7 100644 --- a/drivers/net/macvtap.c +++ b/drivers/net/macvtap.c @@ -48,12 +48,27 @@ struct macvtap_queue { #define MACVTAP_FEATURES (IFF_VNET_HDR | IFF_MULTI_QUEUE) #define MACVTAP_VNET_LE 0x80000000 +#define MACVTAP_VNET_BE 0x40000000 + +#ifdef CONFIG_TUN_VNET_BE +static inline bool macvtap_legacy_is_little_endian(struct macvtap_queue *q) +{ + if (q->flags & MACVTAP_VNET_BE) + return false; + return virtio_legacy_is_little_endian(); +} +#else +static inline bool macvtap_lega...
2015 Apr 24
0
[PATCH v6 8/8] macvtap/tun: cross-endian support for little-endian hosts
...l ethernet pair device" ---help--- diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c index 0327d9d..dc0a47c 100644 --- a/drivers/net/macvtap.c +++ b/drivers/net/macvtap.c @@ -48,11 +48,60 @@ struct macvtap_queue { #define MACVTAP_FEATURES (IFF_VNET_HDR | IFF_MULTI_QUEUE) #define MACVTAP_VNET_LE 0x80000000 +#define MACVTAP_VNET_BE 0x40000000 + +#ifdef CONFIG_TUN_VNET_CROSS_LE +static inline bool macvtap_legacy_is_little_endian(struct macvtap_queue *q) +{ + return q->flags & MACVTAP_VNET_BE ? false : + virtio_legacy_is_little_endian(); +} + +static long macvtap_get_vnet_be(struct ma...
2015 Apr 21
0
[PATCH v4 8/8] macvtap/tun: add VNET_BE flag
...vtap.c b/drivers/net/macvtap.c > > index 0a03a66..e0ab1b7 100644 > > --- a/drivers/net/macvtap.c > > +++ b/drivers/net/macvtap.c > > @@ -48,12 +48,27 @@ struct macvtap_queue { > > #define MACVTAP_FEATURES (IFF_VNET_HDR | IFF_MULTI_QUEUE) > > > > #define MACVTAP_VNET_LE 0x80000000 > > +#define MACVTAP_VNET_BE 0x40000000 > > + > > +#ifdef CONFIG_TUN_VNET_BE > > +static inline bool macvtap_legacy_is_little_endian(struct macvtap_queue *q) > > +{ > > + if (q->flags & MACVTAP_VNET_BE) > > + return false; > > + ret...