Displaying 20 results from an estimated 139 matches for "netif_f_lro".
2019 Dec 23
5
[PATCH net] virtio_net: CTRL_GUEST_OFFLOADS depends on CTRL_VQ
...et")
> > Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
> > ---
> >
> > Lightly tested.
> >
> > Alistair, could you please test and confirm that this resolves the
> > crash for you?
>
> This patch doesn't work. The reason is that NETIF_F_LRO is also turned
> on by TSO4/TSO6, which your patch didn't check for. So it ends up
> going through the same path and crashing in the same way.
>
> if (virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_TSO4) ||
> virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_TSO6))
>...
2019 Dec 23
5
[PATCH net] virtio_net: CTRL_GUEST_OFFLOADS depends on CTRL_VQ
...et")
> > Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
> > ---
> >
> > Lightly tested.
> >
> > Alistair, could you please test and confirm that this resolves the
> > crash for you?
>
> This patch doesn't work. The reason is that NETIF_F_LRO is also turned
> on by TSO4/TSO6, which your patch didn't check for. So it ends up
> going through the same path and crashing in the same way.
>
> if (virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_TSO4) ||
> virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_TSO6))
>...
2020 Sep 28
2
[PATCH 2/2] virtio-net: ethtool configurable RXCSUM
...et_device *dev,
> netdev_features_t features)
> {
> struct virtnet_info *vi = netdev_priv(dev);
> - u64 offloads;
> + u64 offloads = vi->guest_offloads &
> + vi->guest_offloads_capable;
> int err;
>
> - if ((dev->features ^ features) & NETIF_F_LRO) {
> - if (vi->xdp_queue_pairs)
> - return -EBUSY;
> + /* Don't allow configuration while XDP is active. */
> + if (vi->xdp_queue_pairs)
> + return -EBUSY;
>
> + if ((dev->features ^ features) & NETIF_F_LRO) {
> if (features & NETIF_F_LRO)
>...
2020 Sep 28
2
[PATCH 2/2] virtio-net: ethtool configurable RXCSUM
...et_device *dev,
> netdev_features_t features)
> {
> struct virtnet_info *vi = netdev_priv(dev);
> - u64 offloads;
> + u64 offloads = vi->guest_offloads &
> + vi->guest_offloads_capable;
> int err;
>
> - if ((dev->features ^ features) & NETIF_F_LRO) {
> - if (vi->xdp_queue_pairs)
> - return -EBUSY;
> + /* Don't allow configuration while XDP is active. */
> + if (vi->xdp_queue_pairs)
> + return -EBUSY;
>
> + if ((dev->features ^ features) & NETIF_F_LRO) {
> if (features & NETIF_F_LRO)
>...
2020 Sep 29
2
[PATCH 2/2] virtio-net: ethtool configurable RXCSUM
...nfo *vi = netdev_priv(dev);
> > > - u64 offloads;
> > > + u64 offloads = vi->guest_offloads &
> > > + vi->guest_offloads_capable;
> > > int err;
> > >
> > > - if ((dev->features ^ features) & NETIF_F_LRO) {
> > > - if (vi->xdp_queue_pairs)
> > > - return -EBUSY;
> > > + /* Don't allow configuration while XDP is active. */
> > > + if (vi->xdp_queue_pairs)
> > > + return -EBUSY;
> > >
&...
2020 Sep 29
2
[PATCH 2/2] virtio-net: ethtool configurable RXCSUM
...nfo *vi = netdev_priv(dev);
> > > - u64 offloads;
> > > + u64 offloads = vi->guest_offloads &
> > > + vi->guest_offloads_capable;
> > > int err;
> > >
> > > - if ((dev->features ^ features) & NETIF_F_LRO) {
> > > - if (vi->xdp_queue_pairs)
> > > - return -EBUSY;
> > > + /* Don't allow configuration while XDP is active. */
> > > + if (vi->xdp_queue_pairs)
> > > + return -EBUSY;
> > >
&...
2020 Sep 29
2
[PATCH 2/2] virtio-net: ethtool configurable RXCSUM
...64 offloads;
> > > > > + u64 offloads = vi->guest_offloads &
> > > > > + vi->guest_offloads_capable;
> > > > > int err;
> > > > >
> > > > > - if ((dev->features ^ features) & NETIF_F_LRO) {
> > > > > - if (vi->xdp_queue_pairs)
> > > > > - return -EBUSY;
> > > > > + /* Don't allow configuration while XDP is active. */
> > > > > + if (vi->xdp_queue_pairs)
> > > >...
2020 Sep 29
2
[PATCH 2/2] virtio-net: ethtool configurable RXCSUM
...64 offloads;
> > > > > + u64 offloads = vi->guest_offloads &
> > > > > + vi->guest_offloads_capable;
> > > > > int err;
> > > > >
> > > > > - if ((dev->features ^ features) & NETIF_F_LRO) {
> > > > > - if (vi->xdp_queue_pairs)
> > > > > - return -EBUSY;
> > > > > + /* Don't allow configuration while XDP is active. */
> > > > > + if (vi->xdp_queue_pairs)
> > > >...
2020 Sep 28
7
[PATCH 1/2] virtio-net: don't disable guest csum when disable LRO
...VIRTIO_NET_F_GUEST_TSO6) | \
+ (1ULL << VIRTIO_NET_F_GUEST_ECN) | \
+ (1ULL << VIRTIO_NET_F_GUEST_UFO))
+
struct virtnet_stat_desc {
char desc[ETH_GSTRING_LEN];
size_t offset;
@@ -2531,7 +2536,8 @@ static int virtnet_set_features(struct net_device *dev,
if (features & NETIF_F_LRO)
offloads = vi->guest_offloads_capable;
else
- offloads = 0;
+ offloads = vi->guest_offloads_capable &
+ ~GUEST_OFFLOAD_LRO_MASK;
err = virtnet_set_guest_offloads(vi, offloads);
if (err)
--
2.23.0
2020 Sep 28
7
[PATCH 1/2] virtio-net: don't disable guest csum when disable LRO
...VIRTIO_NET_F_GUEST_TSO6) | \
+ (1ULL << VIRTIO_NET_F_GUEST_ECN) | \
+ (1ULL << VIRTIO_NET_F_GUEST_UFO))
+
struct virtnet_stat_desc {
char desc[ETH_GSTRING_LEN];
size_t offset;
@@ -2531,7 +2536,8 @@ static int virtnet_set_features(struct net_device *dev,
if (features & NETIF_F_LRO)
offloads = vi->guest_offloads_capable;
else
- offloads = 0;
+ offloads = vi->guest_offloads_capable &
+ ~GUEST_OFFLOAD_LRO_MASK;
err = virtnet_set_guest_offloads(vi, offloads);
if (err)
--
2.23.0
2020 Jan 05
0
[PATCH net] virtio_net: CTRL_GUEST_OFFLOADS depends on CTRL_VQ
...gt; > >
> > > > > Lightly tested.
> > > > >
> > > > > Alistair, could you please test and confirm that this resolves the
> > > > > crash for you?
> > > >
> > > > This patch doesn't work. The reason is that NETIF_F_LRO is also turned
> > > > on by TSO4/TSO6, which your patch didn't check for. So it ends up
> > > > going through the same path and crashing in the same way.
> > > >
> > > > if (virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_TSO4) ||
> > &...
2019 Dec 24
0
[PATCH net] virtio_net: CTRL_GUEST_OFFLOADS depends on CTRL_VQ
...om>
>>>>> ---
>>>>>
>>>>> Lightly tested.
>>>>>
>>>>> Alistair, could you please test and confirm that this resolves the
>>>>> crash for you?
>>>> This patch doesn't work. The reason is that NETIF_F_LRO is also turned
>>>> on by TSO4/TSO6, which your patch didn't check for. So it ends up
>>>> going through the same path and crashing in the same way.
>>>>
>>>> if (virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_TSO4) ||
>>>>...
2019 Dec 25
0
[PATCH net] virtio_net: CTRL_GUEST_OFFLOADS depends on CTRL_VQ
...gt; > >
> > > > > Lightly tested.
> > > > >
> > > > > Alistair, could you please test and confirm that this resolves the
> > > > > crash for you?
> > > >
> > > > This patch doesn't work. The reason is that NETIF_F_LRO is also turned
> > > > on by TSO4/TSO6, which your patch didn't check for. So it ends up
> > > > going through the same path and crashing in the same way.
> > > >
> > > > if (virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_TSO4) ||
> > &...
2020 Sep 28
1
[PATCH 2/2] virtio-net: ethtool configurable RXCSUM
..._t features)
> {
> struct virtnet_info *vi = netdev_priv(dev);
> - u64 offloads;
> + u64 offloads = vi->guest_offloads &
> + vi->guest_offloads_capable;
> int err;
>
> - if ((dev->features ^ features) & NETIF_F_LRO) {
> - if (vi->xdp_queue_pairs)
> - return -EBUSY;
> + /* Don't allow configuration while XDP is active. */
> + if (vi->xdp_queue_pairs)
> + return -EBUSY;
>
> + if ((dev->features ^ features) &...
2020 Sep 28
0
[PATCH 2/2] virtio-net: ethtool configurable RXCSUM
...7 @@ static int virtnet_set_features(struct net_device *dev,
netdev_features_t features)
{
struct virtnet_info *vi = netdev_priv(dev);
- u64 offloads;
+ u64 offloads = vi->guest_offloads &
+ vi->guest_offloads_capable;
int err;
- if ((dev->features ^ features) & NETIF_F_LRO) {
- if (vi->xdp_queue_pairs)
- return -EBUSY;
+ /* Don't allow configuration while XDP is active. */
+ if (vi->xdp_queue_pairs)
+ return -EBUSY;
+ if ((dev->features ^ features) & NETIF_F_LRO) {
if (features & NETIF_F_LRO)
- offloads = vi->guest_offloads_capable;...
2020 Sep 29
0
[PATCH 2/2] virtio-net: ethtool configurable RXCSUM
...t; > struct virtnet_info *vi = netdev_priv(dev);
> > - u64 offloads;
> > + u64 offloads = vi->guest_offloads &
> > + vi->guest_offloads_capable;
> > int err;
> >
> > - if ((dev->features ^ features) & NETIF_F_LRO) {
> > - if (vi->xdp_queue_pairs)
> > - return -EBUSY;
> > + /* Don't allow configuration while XDP is active. */
> > + if (vi->xdp_queue_pairs)
> > + return -EBUSY;
> >
> > + if ((dev->fe...
2020 Sep 29
0
[PATCH 2/2] virtio-net: ethtool configurable RXCSUM
...t; > > > - u64 offloads;
> > > > + u64 offloads = vi->guest_offloads &
> > > > + vi->guest_offloads_capable;
> > > > int err;
> > > >
> > > > - if ((dev->features ^ features) & NETIF_F_LRO) {
> > > > - if (vi->xdp_queue_pairs)
> > > > - return -EBUSY;
> > > > + /* Don't allow configuration while XDP is active. */
> > > > + if (vi->xdp_queue_pairs)
> > > > + return...
2019 Dec 23
0
[PATCH net] virtio_net: CTRL_GUEST_OFFLOADS depends on CTRL_VQ
...t")
> > Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
> > ---
> >
> > Lightly tested.
> >
> > Alistair, could you please test and confirm that this resolves the
> > crash for you?
>
> This patch doesn't work. The reason is that NETIF_F_LRO is also turned
> on by TSO4/TSO6, which your patch didn't check for. So it ends up
> going through the same path and crashing in the same way.
>
> if (virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_TSO4) ||
> virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_TSO6))
&g...
2020 Sep 29
0
[PATCH 2/2] virtio-net: ethtool configurable RXCSUM
...t; > > > + u64 offloads = vi->guest_offloads &
> > > > > > + vi->guest_offloads_capable;
> > > > > > int err;
> > > > > >
> > > > > > - if ((dev->features ^ features) & NETIF_F_LRO) {
> > > > > > - if (vi->xdp_queue_pairs)
> > > > > > - return -EBUSY;
> > > > > > + /* Don't allow configuration while XDP is active. */
> > > > > > + if (vi->xdp_queue_pairs)...
2020 Sep 29
5
[PATCH net v2] virtio-net: don't disable guest csum when disable LRO
...VIRTIO_NET_F_GUEST_TSO6) | \
+ (1ULL << VIRTIO_NET_F_GUEST_ECN) | \
+ (1ULL << VIRTIO_NET_F_GUEST_UFO))
+
struct virtnet_stat_desc {
char desc[ETH_GSTRING_LEN];
size_t offset;
@@ -2531,7 +2536,8 @@ static int virtnet_set_features(struct net_device *dev,
if (features & NETIF_F_LRO)
offloads = vi->guest_offloads_capable;
else
- offloads = 0;
+ offloads = vi->guest_offloads_capable &
+ ~GUEST_OFFLOAD_LRO_MASK;
err = virtnet_set_guest_offloads(vi, offloads);
if (err)
--
2.23.0