* [PATCH] Bond: set {rx|tx}_offload_capa flags @ 2014-11-07 17:35 Jia Yu [not found] ` <1415381738-43417-1-git-send-email-jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Jia Yu @ 2014-11-07 17:35 UTC (permalink / raw) To: dev-VfR2kkLFssw Before the fix, bond device's offload capabilities are unset. This fix takes the minimum common set of slave devices' capabilities as bond device's capabilities. For simplicity, we ensure all slave devices to have a capability before bond device can claim this capability, even if some slave devices are unused (i.e. linked down, standby). Signed-off-by: Jia Yu <jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> --- lib/librte_pmd_bond/rte_eth_bond_api.c | 16 ++++++++++++++++ lib/librte_pmd_bond/rte_eth_bond_pmd.c | 5 +++++ lib/librte_pmd_bond/rte_eth_bond_private.h | 2 ++ 3 files changed, 23 insertions(+) diff --git a/lib/librte_pmd_bond/rte_eth_bond_api.c b/lib/librte_pmd_bond/rte_eth_bond_api.c index 75f5694..bff1ce1 100644 --- a/lib/librte_pmd_bond/rte_eth_bond_api.c +++ b/lib/librte_pmd_bond/rte_eth_bond_api.c @@ -226,6 +226,8 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id) internals->link_props_set = 0; internals->slave_count = 0; internals->active_slave_count = 0; + internals->rx_offload_capa = 0; + internals->tx_offload_capa = 0; memset(internals->active_slaves, 0, sizeof(internals->active_slaves)); memset(internals->slaves, 0, sizeof(internals->slaves)); @@ -256,6 +258,7 @@ rte_eth_bond_slave_add(uint8_t bonded_port_id, uint8_t slave_port_id) struct bond_dev_private *internals; struct bond_dev_private *temp_internals; struct rte_eth_link link_props; + struct rte_eth_dev_info dev_info; int i, j; @@ -301,6 +304,9 @@ rte_eth_bond_slave_add(uint8_t bonded_port_id, uint8_t slave_port_id) slave_config_store(internals, slave_eth_dev); + memset(&dev_info, 0, sizeof(dev_info)); + rte_eth_dev_info_get(slave_port_id, &dev_info); + if (internals->slave_count < 1) { /* if MAC is not user defined then use MAC of first slave add to bonded * device */ @@ -312,6 +318,10 @@ rte_eth_bond_slave_add(uint8_t bonded_port_id, uint8_t slave_port_id) /* Make primary slave */ internals->primary_port = slave_port_id; + + /* Take the first dev's offload capabilities */ + internals->rx_offload_capa = dev_info.rx_offload_capa; + internals->tx_offload_capa = dev_info.tx_offload_capa; } else { /* Check slave link properties are supported if props are set, * all slaves must be the same */ @@ -327,6 +337,8 @@ rte_eth_bond_slave_add(uint8_t bonded_port_id, uint8_t slave_port_id) link_properties_set(bonded_eth_dev, &(slave_eth_dev->data->dev_link)); } + internals->rx_offload_capa &= dev_info.rx_offload_capa; + internals->tx_offload_capa &= dev_info.tx_offload_capa; } internals->slave_count++; @@ -449,6 +461,10 @@ rte_eth_bond_slave_remove(uint8_t bonded_port_id, uint8_t slave_port_id) sizeof(*(rte_eth_devices[bonded_port_id].data->mac_addrs))); } + if (internals->slave_count == 0) { + internals->rx_offload_capa = 0; + internals->tx_offload_capa = 0; + } return 0; err_del: diff --git a/lib/librte_pmd_bond/rte_eth_bond_pmd.c b/lib/librte_pmd_bond/rte_eth_bond_pmd.c index 147028b..4653184 100644 --- a/lib/librte_pmd_bond/rte_eth_bond_pmd.c +++ b/lib/librte_pmd_bond/rte_eth_bond_pmd.c @@ -721,6 +721,8 @@ static int bond_ethdev_configure(struct rte_eth_dev *dev); static void bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) { + struct bond_dev_private *internals = dev->data->dev_private; + dev_info->driver_name = driver_name; dev_info->max_mac_addrs = 1; @@ -731,6 +733,9 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) dev_info->min_rx_bufsize = 0; dev_info->pci_dev = dev->pci_dev; + + dev_info->rx_offload_capa = internals->rx_offload_capa; + dev_info->tx_offload_capa = internals->tx_offload_capa; } static int diff --git a/lib/librte_pmd_bond/rte_eth_bond_private.h b/lib/librte_pmd_bond/rte_eth_bond_private.h index 1db6e4d..495726d 100644 --- a/lib/librte_pmd_bond/rte_eth_bond_private.h +++ b/lib/librte_pmd_bond/rte_eth_bond_private.h @@ -121,6 +121,8 @@ struct bond_dev_private { uint8_t active_slaves[RTE_MAX_ETHPORTS]; /**< Active slave list */ uint8_t slaves[RTE_MAX_ETHPORTS]; /**< Slave list */ + uint32_t rx_offload_capa; /** Bond device Rx offload capability */ + uint32_t tx_offload_capa; /** Bond device Tx offload capability */ /** Persisted configuration of slaves */ struct slave_conf presisted_slaves_conf[RTE_MAX_ETHPORTS]; -- 1.9.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <1415381738-43417-1-git-send-email-jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH] Bond: set {rx|tx}_offload_capa flags [not found] ` <1415381738-43417-1-git-send-email-jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> @ 2014-11-11 16:48 ` Doherty, Declan [not found] ` <345C63BAECC1AD42A2EC8C63AFFC3ADC273E99D2-kPTMFJFq+rF9qrmMLTLiibfspsVTdybXVpNB7YpNyf8@public.gmane.org> 2014-11-27 21:23 ` [PATCH v2] bond: " Declan Doherty 1 sibling, 1 reply; 7+ messages in thread From: Doherty, Declan @ 2014-11-11 16:48 UTC (permalink / raw) To: dev-VfR2kkLFssw@public.gmane.org > -----Original Message----- > From: dev [mailto:dev-bounces-VfR2kkLFssw@public.gmane.org] On Behalf Of Jia Yu > Sent: Friday, November 7, 2014 5:36 PM > To: dev-VfR2kkLFssw@public.gmane.org > Subject: [dpdk-dev] [PATCH] Bond: set {rx|tx}_offload_capa flags > > Before the fix, bond device's offload capabilities are unset. This fix > takes the minimum common set of slave devices' capabilities as bond > device's capabilities. For simplicity, we ensure all slave devices > to have a capability before bond device can claim this capability, > even if some slave devices are unused (i.e. linked down, standby). > > Signed-off-by: Jia Yu <jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> > --- > lib/librte_pmd_bond/rte_eth_bond_api.c | 16 ++++++++++++++++ > ..... > -- > 1.9.1 Acked-by: Declan Doherty <declan.doherty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <345C63BAECC1AD42A2EC8C63AFFC3ADC273E99D2-kPTMFJFq+rF9qrmMLTLiibfspsVTdybXVpNB7YpNyf8@public.gmane.org>]
* Re: [PATCH] Bond: set {rx|tx}_offload_capa flags [not found] ` <345C63BAECC1AD42A2EC8C63AFFC3ADC273E99D2-kPTMFJFq+rF9qrmMLTLiibfspsVTdybXVpNB7YpNyf8@public.gmane.org> @ 2014-11-27 17:14 ` Thomas Monjalon 0 siblings, 0 replies; 7+ messages in thread From: Thomas Monjalon @ 2014-11-27 17:14 UTC (permalink / raw) To: Doherty, Declan; +Cc: dev-VfR2kkLFssw > > Before the fix, bond device's offload capabilities are unset. This fix > > takes the minimum common set of slave devices' capabilities as bond > > device's capabilities. For simplicity, we ensure all slave devices > > to have a capability before bond device can claim this capability, > > even if some slave devices are unused (i.e. linked down, standby). > > > > Signed-off-by: Jia Yu <jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> > > Acked-by: Declan Doherty <declan.doherty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> Please Declan, could you rebase this patch on HEAD and send a v2? Thanks -- Thomas ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] bond: set {rx|tx}_offload_capa flags [not found] ` <1415381738-43417-1-git-send-email-jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> 2014-11-11 16:48 ` Doherty, Declan @ 2014-11-27 21:23 ` Declan Doherty [not found] ` <1417123417-26444-1-git-send-email-declan.doherty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> 1 sibling, 1 reply; 7+ messages in thread From: Declan Doherty @ 2014-11-27 21:23 UTC (permalink / raw) To: dev-VfR2kkLFssw v2: rebased to HEAD From: Jia Yu <jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> Before the fix, bond device's offload capabilities are unset. This fix takes the minimum common set of slave devices' capabilities as bond device's capabilities. For simplicity, we ensure all slave devices to have a capability before bond device can claim this capability, even if some slave devices are unused (i.e. linked down, standby). Signed-off-by: Jia Yu <jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> Signed-off-by: Declan Doherty <declan.doherty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> --- lib/librte_pmd_bond/rte_eth_bond_api.c | 18 +++++++++++++++++- lib/librte_pmd_bond/rte_eth_bond_pmd.c | 5 +++++ lib/librte_pmd_bond/rte_eth_bond_private.h | 3 +++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/lib/librte_pmd_bond/rte_eth_bond_api.c b/lib/librte_pmd_bond/rte_eth_bond_api.c index f146bda..5125b57 100644 --- a/lib/librte_pmd_bond/rte_eth_bond_api.c +++ b/lib/librte_pmd_bond/rte_eth_bond_api.c @@ -238,6 +238,8 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id) internals->slave_count = 0; internals->active_slave_count = 0; + internals->rx_offload_capa = 0; + internals->tx_offload_capa = 0; memset(internals->active_slaves, 0, sizeof(internals->active_slaves)); memset(internals->slaves, 0, sizeof(internals->slaves)); @@ -265,6 +267,7 @@ __eth_bond_slave_add_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id) struct bond_dev_private *internals; struct bond_dev_private *temp_internals; struct rte_eth_link link_props; + struct rte_eth_dev_info dev_info; int i, j; @@ -296,6 +299,9 @@ __eth_bond_slave_add_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id) /* Add slave details to bonded device */ slave_add(internals, slave_eth_dev); + memset(&dev_info, 0, sizeof(dev_info)); + rte_eth_dev_info_get(slave_port_id, &dev_info); + if (internals->slave_count < 1) { /* if MAC is not user defined then use MAC of first slave add to * bonded device */ @@ -308,6 +314,11 @@ __eth_bond_slave_add_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id) /* Make primary slave */ internals->primary_port = slave_port_id; + + /* Take the first dev's offload capabilities */ + internals->rx_offload_capa = dev_info.rx_offload_capa; + internals->tx_offload_capa = dev_info.tx_offload_capa; + } else { /* Check slave link properties are supported if props are set, * all slaves must be the same */ @@ -323,6 +334,8 @@ __eth_bond_slave_add_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id) link_properties_set(bonded_eth_dev, &(slave_eth_dev->data->dev_link)); } + internals->rx_offload_capa &= dev_info.rx_offload_capa; + internals->tx_offload_capa &= dev_info.tx_offload_capa; } internals->slave_count++; @@ -455,7 +468,10 @@ __eth_bond_slave_remove_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id) memset(rte_eth_devices[bonded_port_id].data->mac_addrs, 0, sizeof(*(rte_eth_devices[bonded_port_id].data->mac_addrs))); } - + if (internals->slave_count == 0) { + internals->rx_offload_capa = 0; + internals->tx_offload_capa = 0; + } return 0; } diff --git a/lib/librte_pmd_bond/rte_eth_bond_pmd.c b/lib/librte_pmd_bond/rte_eth_bond_pmd.c index cf2fbab..0d1a36b 100644 --- a/lib/librte_pmd_bond/rte_eth_bond_pmd.c +++ b/lib/librte_pmd_bond/rte_eth_bond_pmd.c @@ -788,6 +788,8 @@ static int bond_ethdev_configure(struct rte_eth_dev *dev); static void bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) { + struct bond_dev_private *internals = dev->data->dev_private; + dev_info->driver_name = driver_name; dev_info->max_mac_addrs = 1; @@ -798,6 +800,9 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) dev_info->min_rx_bufsize = 0; dev_info->pci_dev = dev->pci_dev; + + dev_info->rx_offload_capa = internals->rx_offload_capa; + dev_info->tx_offload_capa = internals->tx_offload_capa; } static int diff --git a/lib/librte_pmd_bond/rte_eth_bond_private.h b/lib/librte_pmd_bond/rte_eth_bond_private.h index 6254c84..2096f81 100644 --- a/lib/librte_pmd_bond/rte_eth_bond_private.h +++ b/lib/librte_pmd_bond/rte_eth_bond_private.h @@ -144,6 +144,9 @@ struct bond_dev_private { struct bond_slave_details slaves[RTE_MAX_ETHPORTS]; /**< Arary of bonded slaves details */ + uint32_t rx_offload_capa; /** Rx offload capability */ + uint32_t tx_offload_capa; /** Tx offload capability */ + struct rte_kvargs *kvlist; }; -- 1.7.12.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <1417123417-26444-1-git-send-email-declan.doherty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v2] bond: set {rx|tx}_offload_capa flags [not found] ` <1417123417-26444-1-git-send-email-declan.doherty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> @ 2014-11-27 21:28 ` Doherty, Declan 2014-11-27 21:52 ` Thomas Monjalon 1 sibling, 0 replies; 7+ messages in thread From: Doherty, Declan @ 2014-11-27 21:28 UTC (permalink / raw) To: dev-VfR2kkLFssw@public.gmane.org Self nack, need to rebase again as mode 4 and 5 patches have been applied. > -----Original Message----- > From: Doherty, Declan > Sent: Thursday, November 27, 2014 9:24 PM > To: dev-VfR2kkLFssw@public.gmane.org > Cc: jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org; thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org; Doherty, Declan > Subject: [PATCH v2] bond: set {rx|tx}_offload_capa flags > > v2: > rebased to HEAD > > From: Jia Yu <jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> > > Before the fix, bond device's offload capabilities are unset. This fix > takes the minimum common set of slave devices' capabilities as bond > device's capabilities. For simplicity, we ensure all slave devices > to have a capability before bond device can claim this capability, > even if some slave devices are unused (i.e. linked down, standby). > > Signed-off-by: Jia Yu <jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> > Signed-off-by: Declan Doherty <declan.doherty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > --- > lib/librte_pmd_bond/rte_eth_bond_api.c | 18 +++++++++++++++++- > lib/librte_pmd_bond/rte_eth_bond_pmd.c | 5 +++++ > lib/librte_pmd_bond/rte_eth_bond_private.h | 3 +++ > 3 files changed, 25 insertions(+), 1 deletion(-) > > diff --git a/lib/librte_pmd_bond/rte_eth_bond_api.c > b/lib/librte_pmd_bond/rte_eth_bond_api.c > index f146bda..5125b57 100644 > --- a/lib/librte_pmd_bond/rte_eth_bond_api.c > +++ b/lib/librte_pmd_bond/rte_eth_bond_api.c > @@ -238,6 +238,8 @@ rte_eth_bond_create(const char *name, uint8_t mode, > uint8_t socket_id) > > internals->slave_count = 0; > internals->active_slave_count = 0; > + internals->rx_offload_capa = 0; > + internals->tx_offload_capa = 0; > > memset(internals->active_slaves, 0, sizeof(internals->active_slaves)); > memset(internals->slaves, 0, sizeof(internals->slaves)); > @@ -265,6 +267,7 @@ __eth_bond_slave_add_lock_free(uint8_t > bonded_port_id, uint8_t slave_port_id) > struct bond_dev_private *internals; > struct bond_dev_private *temp_internals; > struct rte_eth_link link_props; > + struct rte_eth_dev_info dev_info; > > int i, j; > > @@ -296,6 +299,9 @@ __eth_bond_slave_add_lock_free(uint8_t > bonded_port_id, uint8_t slave_port_id) > /* Add slave details to bonded device */ > slave_add(internals, slave_eth_dev); > > + memset(&dev_info, 0, sizeof(dev_info)); > + rte_eth_dev_info_get(slave_port_id, &dev_info); > + > if (internals->slave_count < 1) { > /* if MAC is not user defined then use MAC of first slave add to > * bonded device */ > @@ -308,6 +314,11 @@ __eth_bond_slave_add_lock_free(uint8_t > bonded_port_id, uint8_t slave_port_id) > > /* Make primary slave */ > internals->primary_port = slave_port_id; > + > + /* Take the first dev's offload capabilities */ > + internals->rx_offload_capa = dev_info.rx_offload_capa; > + internals->tx_offload_capa = dev_info.tx_offload_capa; > + > } else { > /* Check slave link properties are supported if props are set, > * all slaves must be the same */ > @@ -323,6 +334,8 @@ __eth_bond_slave_add_lock_free(uint8_t > bonded_port_id, uint8_t slave_port_id) > link_properties_set(bonded_eth_dev, > &(slave_eth_dev->data->dev_link)); > } > + internals->rx_offload_capa &= dev_info.rx_offload_capa; > + internals->tx_offload_capa &= dev_info.tx_offload_capa; > } > > internals->slave_count++; > @@ -455,7 +468,10 @@ __eth_bond_slave_remove_lock_free(uint8_t > bonded_port_id, uint8_t slave_port_id) > memset(rte_eth_devices[bonded_port_id].data- > >mac_addrs, 0, > > sizeof(*(rte_eth_devices[bonded_port_id].data->mac_addrs))); > } > - > + if (internals->slave_count == 0) { > + internals->rx_offload_capa = 0; > + internals->tx_offload_capa = 0; > + } > return 0; > } > > diff --git a/lib/librte_pmd_bond/rte_eth_bond_pmd.c > b/lib/librte_pmd_bond/rte_eth_bond_pmd.c > index cf2fbab..0d1a36b 100644 > --- a/lib/librte_pmd_bond/rte_eth_bond_pmd.c > +++ b/lib/librte_pmd_bond/rte_eth_bond_pmd.c > @@ -788,6 +788,8 @@ static int bond_ethdev_configure(struct rte_eth_dev > *dev); > static void > bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) > { > + struct bond_dev_private *internals = dev->data->dev_private; > + > dev_info->driver_name = driver_name; > dev_info->max_mac_addrs = 1; > > @@ -798,6 +800,9 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct > rte_eth_dev_info *dev_info) > > dev_info->min_rx_bufsize = 0; > dev_info->pci_dev = dev->pci_dev; > + > + dev_info->rx_offload_capa = internals->rx_offload_capa; > + dev_info->tx_offload_capa = internals->tx_offload_capa; > } > > static int > diff --git a/lib/librte_pmd_bond/rte_eth_bond_private.h > b/lib/librte_pmd_bond/rte_eth_bond_private.h > index 6254c84..2096f81 100644 > --- a/lib/librte_pmd_bond/rte_eth_bond_private.h > +++ b/lib/librte_pmd_bond/rte_eth_bond_private.h > @@ -144,6 +144,9 @@ struct bond_dev_private { > struct bond_slave_details slaves[RTE_MAX_ETHPORTS]; > /**< Arary of bonded slaves details */ > > + uint32_t rx_offload_capa; /** Rx offload capability */ > + uint32_t tx_offload_capa; /** Tx offload capability */ > + > struct rte_kvargs *kvlist; > }; > > -- > 1.7.12.2 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] bond: set {rx|tx}_offload_capa flags [not found] ` <1417123417-26444-1-git-send-email-declan.doherty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> 2014-11-27 21:28 ` Doherty, Declan @ 2014-11-27 21:52 ` Thomas Monjalon 2014-11-27 21:56 ` Doherty, Declan 1 sibling, 1 reply; 7+ messages in thread From: Thomas Monjalon @ 2014-11-27 21:52 UTC (permalink / raw) To: Declan Doherty; +Cc: dev-VfR2kkLFssw 2014-11-27 21:23, Declan Doherty: > v2: > rebased to HEAD > > From: Jia Yu <jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> > > Before the fix, bond device's offload capabilities are unset. This fix > takes the minimum common set of slave devices' capabilities as bond > device's capabilities. For simplicity, we ensure all slave devices > to have a capability before bond device can claim this capability, > even if some slave devices are unused (i.e. linked down, standby). > > Signed-off-by: Jia Yu <jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> > Signed-off-by: Declan Doherty <declan.doherty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> Applied Thanks -- Thomas ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] bond: set {rx|tx}_offload_capa flags 2014-11-27 21:52 ` Thomas Monjalon @ 2014-11-27 21:56 ` Doherty, Declan 0 siblings, 0 replies; 7+ messages in thread From: Doherty, Declan @ 2014-11-27 21:56 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev-VfR2kkLFssw@public.gmane.org Thanks Thomas, was just about to send another version :) > -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org] > Sent: Thursday, November 27, 2014 9:53 PM > To: Doherty, Declan > Cc: dev-VfR2kkLFssw@public.gmane.org; jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org > Subject: Re: [PATCH v2] bond: set {rx|tx}_offload_capa flags > > 2014-11-27 21:23, Declan Doherty: > > v2: > > rebased to HEAD > > > > From: Jia Yu <jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> > > > > Before the fix, bond device's offload capabilities are unset. This fix > > takes the minimum common set of slave devices' capabilities as bond > > device's capabilities. For simplicity, we ensure all slave devices > > to have a capability before bond device can claim this capability, > > even if some slave devices are unused (i.e. linked down, standby). > > > > Signed-off-by: Jia Yu <jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> > > Signed-off-by: Declan Doherty <declan.doherty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > > Applied > > Thanks > -- > Thomas ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-11-27 21:56 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-11-07 17:35 [PATCH] Bond: set {rx|tx}_offload_capa flags Jia Yu [not found] ` <1415381738-43417-1-git-send-email-jyu-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> 2014-11-11 16:48 ` Doherty, Declan [not found] ` <345C63BAECC1AD42A2EC8C63AFFC3ADC273E99D2-kPTMFJFq+rF9qrmMLTLiibfspsVTdybXVpNB7YpNyf8@public.gmane.org> 2014-11-27 17:14 ` Thomas Monjalon 2014-11-27 21:23 ` [PATCH v2] bond: " Declan Doherty [not found] ` <1417123417-26444-1-git-send-email-declan.doherty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> 2014-11-27 21:28 ` Doherty, Declan 2014-11-27 21:52 ` Thomas Monjalon 2014-11-27 21:56 ` Doherty, Declan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).