search for: virtnet_ack_link_announce

Displaying 20 results from an estimated 46 matches for "virtnet_ack_link_announce".

2012 Mar 28
2
[V6 PATCH] virtio-net: send gratuitous packets when needed
...+ /* Work struct for sending gratuitous packets. */ + struct work_struct announce; + /* Chain pages by the private ptr. */ struct page *pages; @@ -781,12 +784,30 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd, return status == VIRTIO_NET_OK; } +static void virtnet_ack_link_announce(struct virtnet_info *vi) +{ + if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_ANNOUNCE, + VIRTIO_NET_CTRL_ANNOUNCE_ACK, NULL, + 0, 0)) { + dev_warn(&vi->dev->dev, "Failed to ack link nnounce.\n"); + } +} + +static void announce_work(struct work_struct *work) +{ + struct...
2012 Mar 28
2
[V6 PATCH] virtio-net: send gratuitous packets when needed
...+ /* Work struct for sending gratuitous packets. */ + struct work_struct announce; + /* Chain pages by the private ptr. */ struct page *pages; @@ -781,12 +784,30 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd, return status == VIRTIO_NET_OK; } +static void virtnet_ack_link_announce(struct virtnet_info *vi) +{ + if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_ANNOUNCE, + VIRTIO_NET_CTRL_ANNOUNCE_ACK, NULL, + 0, 0)) { + dev_warn(&vi->dev->dev, "Failed to ack link nnounce.\n"); + } +} + +static void announce_work(struct work_struct *work) +{ + struct...
2012 Apr 12
2
[net-next V7 PATCH] virtio-net: send gratuitous packets when needed
...uct config_work; + + /* Lock for config space updates */ + struct mutex config_lock; + /* Chain pages by the private ptr. */ struct page *pages; @@ -781,6 +790,16 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd, return status == VIRTIO_NET_OK; } +static void virtnet_ack_link_announce(struct virtnet_info *vi) +{ + rtnl_lock(); + if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_ANNOUNCE, + VIRTIO_NET_CTRL_ANNOUNCE_ACK, NULL, + 0, 0)) + dev_warn(&vi->dev->dev, "Failed to ack link announce.\n"); + rtnl_unlock(); +} + static int virtnet_close(struct net_...
2012 Apr 12
2
[net-next V7 PATCH] virtio-net: send gratuitous packets when needed
...uct config_work; + + /* Lock for config space updates */ + struct mutex config_lock; + /* Chain pages by the private ptr. */ struct page *pages; @@ -781,6 +790,16 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd, return status == VIRTIO_NET_OK; } +static void virtnet_ack_link_announce(struct virtnet_info *vi) +{ + rtnl_lock(); + if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_ANNOUNCE, + VIRTIO_NET_CTRL_ANNOUNCE_ACK, NULL, + 0, 0)) + dev_warn(&vi->dev->dev, "Failed to ack link announce.\n"); + rtnl_unlock(); +} + static int virtnet_close(struct net_...
2017 Oct 05
0
[PATCH RFC 1/2] virtio_net: implement VIRTIO_CONFIG_S_NEEDS_RESET
.../drivers/net/virtio_net.c >> index 52ae78ca3d38..5e349226f7c1 100644 >> --- a/drivers/net/virtio_net.c >> +++ b/drivers/net/virtio_net.c >> @@ -1458,12 +1458,11 @@ static void virtnet_netpoll(struct net_device *dev) >> } >> #endif >> >> -static void virtnet_ack_link_announce(struct virtnet_info *vi) >> +static void virtnet_ack(struct virtnet_info *vi, u8 class, u8 cmd) >> { >> rtnl_lock(); >> - if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_ANNOUNCE, >> - VIRTIO_NET_CTRL_ANNOUNCE_ACK, NULL)) >>...
2017 Oct 05
0
[PATCH RFC 1/2] virtio_net: implement VIRTIO_CONFIG_S_NEEDS_RESET
.../drivers/net/virtio_net.c >> index 52ae78ca3d38..5e349226f7c1 100644 >> --- a/drivers/net/virtio_net.c >> +++ b/drivers/net/virtio_net.c >> @@ -1458,12 +1458,11 @@ static void virtnet_netpoll(struct net_device *dev) >> } >> #endif >> >> -static void virtnet_ack_link_announce(struct virtnet_info *vi) >> +static void virtnet_ack(struct virtnet_info *vi, u8 class, u8 cmd) >> { >> rtnl_lock(); >> - if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_ANNOUNCE, >> - VIRTIO_NET_CTRL_ANNOUNCE_ACK, NULL)) >>...
2017 Oct 13
2
[PATCH net-next] virtio_net: implement VIRTIO_CONFIG_S_NEEDS_RESET
...enable(dev); + return 0; + +err: + virtio_add_status(dev, VIRTIO_CONFIG_S_FAILED); + return ret; +} + static int virtnet_set_guest_offloads(struct virtnet_info *vi, u64 offloads) { struct scatterlist sg; @@ -2136,6 +2172,10 @@ static void virtnet_config_changed_work(struct work_struct *work) virtnet_ack_link_announce(vi); } + if (vi->vdev->config->get_status(vi->vdev) & + VIRTIO_CONFIG_S_NEEDS_RESET) + virtnet_reset(vi); + /* Ignore unknown (future) status bits */ v &= VIRTIO_NET_S_LINK_UP; @@ -2756,7 +2796,7 @@ static __maybe_unused int virtnet_freeze(struct virtio_device *vd...
2017 Oct 13
2
[PATCH net-next] virtio_net: implement VIRTIO_CONFIG_S_NEEDS_RESET
...enable(dev); + return 0; + +err: + virtio_add_status(dev, VIRTIO_CONFIG_S_FAILED); + return ret; +} + static int virtnet_set_guest_offloads(struct virtnet_info *vi, u64 offloads) { struct scatterlist sg; @@ -2136,6 +2172,10 @@ static void virtnet_config_changed_work(struct work_struct *work) virtnet_ack_link_announce(vi); } + if (vi->vdev->config->get_status(vi->vdev) & + VIRTIO_CONFIG_S_NEEDS_RESET) + virtnet_reset(vi); + /* Ignore unknown (future) status bits */ v &= VIRTIO_NET_S_LINK_UP; @@ -2756,7 +2796,7 @@ static __maybe_unused int virtnet_freeze(struct virtio_device *vd...
2023 Mar 30
1
[PATCH 00/16] virtio-net: split virtio-net.c
...virtio_net: move struct to header file > virtio_net: add prefix to the struct inside header file > virtio_net: separating cpu-related funs > virtio_net: separate virtnet_ctrl_set_queues() > virtio_net: separate virtnet_ctrl_set_mac_address() > virtio_net: remove lock from virtnet_ack_link_announce() > virtio_net: separating the APIs of cq > virtio_net: introduce virtnet_rq_update_stats() > virtio_net: separating the funcs of ethtool > virtio_net: introduce virtnet_dev_rx_queue_group() > virtio_net: introduce virtnet_get_netdev() > virtio_net: prepare for virtio...
2023 Mar 31
1
[PATCH 00/16] virtio-net: split virtio-net.c
...> virtio_net: add prefix to the struct inside header file > > > virtio_net: separating cpu-related funs > > > virtio_net: separate virtnet_ctrl_set_queues() > > > virtio_net: separate virtnet_ctrl_set_mac_address() > > > virtio_net: remove lock from virtnet_ack_link_announce() > > > virtio_net: separating the APIs of cq > > > virtio_net: introduce virtnet_rq_update_stats() > > > virtio_net: separating the funcs of ethtool > > > virtio_net: introduce virtnet_dev_rx_queue_group() > > > virtio_net: introduce virtnet_g...
2023 Mar 31
1
[PATCH 00/16] virtio-net: split virtio-net.c
...add prefix to the struct inside header file > > > > virtio_net: separating cpu-related funs > > > > virtio_net: separate virtnet_ctrl_set_queues() > > > > virtio_net: separate virtnet_ctrl_set_mac_address() > > > > virtio_net: remove lock from virtnet_ack_link_announce() > > > > virtio_net: separating the APIs of cq > > > > virtio_net: introduce virtnet_rq_update_stats() > > > > virtio_net: separating the funcs of ethtool > > > > virtio_net: introduce virtnet_dev_rx_queue_group() > > > > virtio...
2023 Mar 31
1
[PATCH 00/16] virtio-net: split virtio-net.c
...ruct inside header file > > > > > virtio_net: separating cpu-related funs > > > > > virtio_net: separate virtnet_ctrl_set_queues() > > > > > virtio_net: separate virtnet_ctrl_set_mac_address() > > > > > virtio_net: remove lock from virtnet_ack_link_announce() > > > > > virtio_net: separating the APIs of cq > > > > > virtio_net: introduce virtnet_rq_update_stats() > > > > > virtio_net: separating the funcs of ethtool > > > > > virtio_net: introduce virtnet_dev_rx_queue_group() > &gt...
2013 Dec 10
0
[PATCH net-next 2/3] virtio_net: remove unused parameter to send_command
...end_command(vi, VIRTIO_NET_CTRL_MAC, - VIRTIO_NET_CTRL_MAC_ADDR_SET, - &sg, NULL)) { + VIRTIO_NET_CTRL_MAC_ADDR_SET, &sg)) { dev_warn(&vdev->dev, "Failed to set mac address by vq command.\n"); return -EINVAL; @@ -1008,7 +1003,7 @@ static void virtnet_ack_link_announce(st { rtnl_lock(); if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_ANNOUNCE, - VIRTIO_NET_CTRL_ANNOUNCE_ACK, NULL, NULL)) + VIRTIO_NET_CTRL_ANNOUNCE_ACK, NULL)) dev_warn(&vi->dev->dev, "Failed to ack link announce.\n"); rtnl_unlock(); } @@ -1026,7 +1021,7 @@ st...
2017 Oct 15
0
[PATCH net-next] virtio_net: implement VIRTIO_CONFIG_S_NEEDS_RESET
...w do things like MAC address get restored? What about the rx mode? vlans? Also, it seems that LINK_ANNOUNCE requests will get ignored even if they got set before the reset, leading to downtime. > @@ -2136,6 +2172,10 @@ static void virtnet_config_changed_work(struct work_struct *work) > virtnet_ack_link_announce(vi); > } > > + if (vi->vdev->config->get_status(vi->vdev) & > + VIRTIO_CONFIG_S_NEEDS_RESET) > + virtnet_reset(vi); > + > /* Ignore unknown (future) status bits */ > v &= VIRTIO_NET_S_LINK_UP; > > @@ -2756,7 +2796,7 @@ static __maybe_...
2013 Dec 10
11
[PATCH net-next 1/3] virtio_net: set multicast filter list to host
The virtio_net driver never sends the multicast address list to the host. This is because send command takes a pointer to scatter list to send but only inserts that one entry into the outgoing scatter list. This bug has been there since: commit f565a7c259d71cc186753653d978c646d2354b36 Author: Alex Williamson <alex.williamson at hp.com> Date: Wed Feb 4 09:02:45 2009 +0000 virtio_net:
2013 Dec 10
11
[PATCH net-next 1/3] virtio_net: set multicast filter list to host
The virtio_net driver never sends the multicast address list to the host. This is because send command takes a pointer to scatter list to send but only inserts that one entry into the outgoing scatter list. This bug has been there since: commit f565a7c259d71cc186753653d978c646d2354b36 Author: Alex Williamson <alex.williamson at hp.com> Date: Wed Feb 4 09:02:45 2009 +0000 virtio_net:
2013 Jan 10
8
[RFC PATCH 0/2] make mac programming for virtio net more robust
From: Amos Kong <akong at redhat.com> Currenly mac is programmed byte by byte. This means that we have an intermediate step where mac is wrong. Second patch introduced a new vq control command to set mac address in one time. Amos Kong (2): move virtnet_send_command() above virtnet_set_mac_address() virtio-net: introduce a new control to set macaddr drivers/net/virtio_net.c |
2013 Jan 10
8
[RFC PATCH 0/2] make mac programming for virtio net more robust
From: Amos Kong <akong at redhat.com> Currenly mac is programmed byte by byte. This means that we have an intermediate step where mac is wrong. Second patch introduced a new vq control command to set mac address in one time. Amos Kong (2): move virtnet_send_command() above virtnet_set_mac_address() virtio-net: introduce a new control to set macaddr drivers/net/virtio_net.c |
2013 Jan 17
2
[PATCH v3 0/2] make mac programming for virtio net more robust
From: Amos Kong <akong at redhat.com> Currenly mac is programmed byte by byte. This means that we have an intermediate step where mac is wrong. Second patch introduced a new vq control command to set mac address, it's atomic. V2: check return of sending command, delay eth_mac_addr() V3: restore software address when fail to set hardware address Amos Kong (2): move
2013 Jan 17
2
[PATCH v3 0/2] make mac programming for virtio net more robust
From: Amos Kong <akong at redhat.com> Currenly mac is programmed byte by byte. This means that we have an intermediate step where mac is wrong. Second patch introduced a new vq control command to set mac address, it's atomic. V2: check return of sending command, delay eth_mac_addr() V3: restore software address when fail to set hardware address Amos Kong (2): move