* [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE
@ 2017-04-11 19:20 Luiz Augusto von Dentz
2017-04-11 19:20 ` [PATCH 2/6] Bluetooth: 6lowpan: Don't drop packets when run out of credits Luiz Augusto von Dentz
` (6 more replies)
0 siblings, 7 replies; 13+ messages in thread
From: Luiz Augusto von Dentz @ 2017-04-11 19:20 UTC (permalink / raw)
To: linux-bluetooth; +Cc: patrik.flykt, aar, jukka.rissanen, linux-wpan
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
There is no point in setting IFF_NO_QUEUE should already have taken
care of setting it if tx_queue_len is not set, in fact this may
actually disable queue for interfaces that require it and do set
tx_queue_len.
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
net/6lowpan/core.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/6lowpan/core.c b/net/6lowpan/core.c
index 5f9909a..40d3d72 100644
--- a/net/6lowpan/core.c
+++ b/net/6lowpan/core.c
@@ -35,7 +35,6 @@ int lowpan_register_netdevice(struct net_device *dev,
dev->type = ARPHRD_6LOWPAN;
dev->mtu = IPV6_MIN_MTU;
- dev->priv_flags |= IFF_NO_QUEUE;
lowpan_dev(dev)->lltype = lltype;
--
2.9.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/6] Bluetooth: 6lowpan: Don't drop packets when run out of credits
2017-04-11 19:20 [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE Luiz Augusto von Dentz
@ 2017-04-11 19:20 ` Luiz Augusto von Dentz
2017-04-12 13:56 ` Jukka Rissanen
2017-04-11 19:21 ` [PATCH 3/6] Bluetooth: 6lowpan: Use netif APIs to flow control Luiz Augusto von Dentz
` (5 subsequent siblings)
6 siblings, 1 reply; 13+ messages in thread
From: Luiz Augusto von Dentz @ 2017-04-11 19:20 UTC (permalink / raw)
To: linux-bluetooth; +Cc: patrik.flykt, aar, jukka.rissanen, linux-wpan
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Since l2cap_chan_send will now queue the packets there is no point in
checking the credits anymore.
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
net/bluetooth/6lowpan.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
index 5b91e85..22bd936 100644
--- a/net/bluetooth/6lowpan.c
+++ b/net/bluetooth/6lowpan.c
@@ -478,15 +478,8 @@ static int send_pkt(struct l2cap_chan *chan, struct sk_buff *skb,
return 0;
}
- if (!err)
- err = (!chan->tx_credits ? -EAGAIN : 0);
-
- if (err < 0) {
- if (err == -EAGAIN)
- netdev->stats.tx_dropped++;
- else
- netdev->stats.tx_errors++;
- }
+ if (err < 0)
+ netdev->stats.tx_errors++;
return err;
}
--
2.9.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/6] Bluetooth: 6lowpan: Use netif APIs to flow control
2017-04-11 19:20 [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE Luiz Augusto von Dentz
2017-04-11 19:20 ` [PATCH 2/6] Bluetooth: 6lowpan: Don't drop packets when run out of credits Luiz Augusto von Dentz
@ 2017-04-11 19:21 ` Luiz Augusto von Dentz
2017-04-12 13:57 ` Jukka Rissanen
2017-04-11 19:21 ` [PATCH 4/6] Bluetooth: L2CAP: Add l2cap_le_flowctl_send Luiz Augusto von Dentz
` (4 subsequent siblings)
6 siblings, 1 reply; 13+ messages in thread
From: Luiz Augusto von Dentz @ 2017-04-11 19:21 UTC (permalink / raw)
To: linux-bluetooth; +Cc: patrik.flykt, aar, jukka.rissanen, linux-wpan
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Rely on netif_wake_queue and netif_stop_queue to flow control when
transmit resources are unavailable.
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
net/bluetooth/6lowpan.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
index 22bd936..dc7fda3 100644
--- a/net/bluetooth/6lowpan.c
+++ b/net/bluetooth/6lowpan.c
@@ -867,12 +867,28 @@ static struct sk_buff *chan_alloc_skb_cb(struct l2cap_chan *chan,
static void chan_suspend_cb(struct l2cap_chan *chan)
{
+ struct lowpan_btle_dev *dev;
+
BT_DBG("chan %p suspend", chan);
+
+ dev = lookup_dev(chan->conn);
+ if (!dev || !dev->netdev)
+ return;
+
+ netif_stop_queue(dev->netdev);
}
static void chan_resume_cb(struct l2cap_chan *chan)
{
+ struct lowpan_btle_dev *dev;
+
BT_DBG("chan %p resume", chan);
+
+ dev = lookup_dev(chan->conn);
+ if (!dev || !dev->netdev)
+ return;
+
+ netif_wake_queue(dev->netdev);
}
static long chan_get_sndtimeo_cb(struct l2cap_chan *chan)
--
2.9.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 4/6] Bluetooth: L2CAP: Add l2cap_le_flowctl_send
2017-04-11 19:20 [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE Luiz Augusto von Dentz
2017-04-11 19:20 ` [PATCH 2/6] Bluetooth: 6lowpan: Don't drop packets when run out of credits Luiz Augusto von Dentz
2017-04-11 19:21 ` [PATCH 3/6] Bluetooth: 6lowpan: Use netif APIs to flow control Luiz Augusto von Dentz
@ 2017-04-11 19:21 ` Luiz Augusto von Dentz
2017-04-12 13:57 ` Jukka Rissanen
2017-04-11 19:21 ` [PATCH 5/6] Bluetooth: 6lowpan: Set tx_queue_len to DEFAULT_TX_QUEUE_LEN Luiz Augusto von Dentz
` (3 subsequent siblings)
6 siblings, 1 reply; 13+ messages in thread
From: Luiz Augusto von Dentz @ 2017-04-11 19:21 UTC (permalink / raw)
To: linux-bluetooth; +Cc: patrik.flykt, aar, jukka.rissanen, linux-wpan
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Consolidate code sending data to LE CoC channels and adds proper
accounting of packets sent, the remaining credits and how many packets
are queued.
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
net/bluetooth/l2cap_core.c | 27 +++++++++++++++++++--------
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index 3a202b0..f88ac995 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -2425,6 +2425,22 @@ static int l2cap_segment_le_sdu(struct l2cap_chan *chan,
return 0;
}
+static void l2cap_le_flowctl_send(struct l2cap_chan *chan)
+{
+ int sent = 0;
+
+ BT_DBG("chan %p", chan);
+
+ while (chan->tx_credits && !skb_queue_empty(&chan->tx_q)) {
+ l2cap_do_send(chan, skb_dequeue(&chan->tx_q));
+ chan->tx_credits--;
+ sent++;
+ }
+
+ BT_DBG("Sent %d credits %u queued %u", sent, chan->tx_credits,
+ skb_queue_len(&chan->tx_q));
+}
+
int l2cap_chan_send(struct l2cap_chan *chan, struct msghdr *msg, size_t len)
{
struct sk_buff *skb;
@@ -2472,10 +2488,7 @@ int l2cap_chan_send(struct l2cap_chan *chan, struct msghdr *msg, size_t len)
skb_queue_splice_tail_init(&seg_queue, &chan->tx_q);
- while (chan->tx_credits && !skb_queue_empty(&chan->tx_q)) {
- l2cap_do_send(chan, skb_dequeue(&chan->tx_q));
- chan->tx_credits--;
- }
+ l2cap_le_flowctl_send(chan);
if (!chan->tx_credits)
chan->ops->suspend(chan);
@@ -5567,10 +5580,8 @@ static inline int l2cap_le_credits(struct l2cap_conn *conn,
chan->tx_credits += credits;
- while (chan->tx_credits && !skb_queue_empty(&chan->tx_q)) {
- l2cap_do_send(chan, skb_dequeue(&chan->tx_q));
- chan->tx_credits--;
- }
+ /* Resume sending */
+ l2cap_le_flowctl_send(chan);
if (chan->tx_credits)
chan->ops->resume(chan);
--
2.9.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 5/6] Bluetooth: 6lowpan: Set tx_queue_len to DEFAULT_TX_QUEUE_LEN
2017-04-11 19:20 [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE Luiz Augusto von Dentz
` (2 preceding siblings ...)
2017-04-11 19:21 ` [PATCH 4/6] Bluetooth: L2CAP: Add l2cap_le_flowctl_send Luiz Augusto von Dentz
@ 2017-04-11 19:21 ` Luiz Augusto von Dentz
2017-04-12 13:58 ` Jukka Rissanen
2017-04-11 19:21 ` [PATCH 6/6] bluetooth: Do not set IFF_POINTOPOINT Luiz Augusto von Dentz
` (2 subsequent siblings)
6 siblings, 1 reply; 13+ messages in thread
From: Luiz Augusto von Dentz @ 2017-04-11 19:21 UTC (permalink / raw)
To: linux-bluetooth; +Cc: patrik.flykt, aar, jukka.rissanen, linux-wpan
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Make netdev queue packets if we run out of credits.
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
net/bluetooth/6lowpan.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
index dc7fda3..a4deba6 100644
--- a/net/bluetooth/6lowpan.c
+++ b/net/bluetooth/6lowpan.c
@@ -20,6 +20,7 @@
#include <net/ipv6.h>
#include <net/ip6_route.h>
#include <net/addrconf.h>
+#include <net/pkt_sched.h>
#include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h>
@@ -594,6 +595,7 @@ static void netdev_setup(struct net_device *dev)
dev->flags = IFF_RUNNING | IFF_POINTOPOINT |
IFF_MULTICAST;
dev->watchdog_timeo = 0;
+ dev->tx_queue_len = DEFAULT_TX_QUEUE_LEN;
dev->netdev_ops = &netdev_ops;
dev->header_ops = &header_ops;
--
2.9.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6/6] bluetooth: Do not set IFF_POINTOPOINT
2017-04-11 19:20 [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE Luiz Augusto von Dentz
` (3 preceding siblings ...)
2017-04-11 19:21 ` [PATCH 5/6] Bluetooth: 6lowpan: Set tx_queue_len to DEFAULT_TX_QUEUE_LEN Luiz Augusto von Dentz
@ 2017-04-11 19:21 ` Luiz Augusto von Dentz
2017-04-12 13:58 ` Jukka Rissanen
2017-04-12 13:55 ` [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE Jukka Rissanen
2017-04-12 19:58 ` Marcel Holtmann
6 siblings, 1 reply; 13+ messages in thread
From: Luiz Augusto von Dentz @ 2017-04-11 19:21 UTC (permalink / raw)
To: linux-bluetooth; +Cc: patrik.flykt, aar, jukka.rissanen, linux-wpan
From: Patrik Flykt <patrik.flykt@linux.intel.com>
The IPv6 stack needs to send and receive Neighbor Discovery
messages. Remove the IFF_POINTOPOINT flag.
Signed-off-by: Patrik Flykt <patrik.flykt@linux.intel.com>
Reviewed-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
net/bluetooth/6lowpan.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
index a4deba6..6089599 100644
--- a/net/bluetooth/6lowpan.c
+++ b/net/bluetooth/6lowpan.c
@@ -592,8 +592,7 @@ static void netdev_setup(struct net_device *dev)
{
dev->hard_header_len = 0;
dev->needed_tailroom = 0;
- dev->flags = IFF_RUNNING | IFF_POINTOPOINT |
- IFF_MULTICAST;
+ dev->flags = IFF_RUNNING | IFF_MULTICAST;
dev->watchdog_timeo = 0;
dev->tx_queue_len = DEFAULT_TX_QUEUE_LEN;
--
2.9.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE
2017-04-11 19:20 [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE Luiz Augusto von Dentz
` (4 preceding siblings ...)
2017-04-11 19:21 ` [PATCH 6/6] bluetooth: Do not set IFF_POINTOPOINT Luiz Augusto von Dentz
@ 2017-04-12 13:55 ` Jukka Rissanen
2017-04-12 19:58 ` Marcel Holtmann
6 siblings, 0 replies; 13+ messages in thread
From: Jukka Rissanen @ 2017-04-12 13:55 UTC (permalink / raw)
To: Luiz Augusto von Dentz, linux-bluetooth; +Cc: patrik.flykt, aar, linux-wpan
Hi Luiz,
On Tue, 2017-04-11 at 22:20 +0300, Luiz Augusto von Dentz wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>
> There is no point in setting IFF_NO_QUEUE should already have taken
> care of setting it if tx_queue_len is not set, in fact this may
> actually disable queue for interfaces that require it and do set
> tx_queue_len.
>
> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> ---
> net/6lowpan/core.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/net/6lowpan/core.c b/net/6lowpan/core.c
> index 5f9909a..40d3d72 100644
> --- a/net/6lowpan/core.c
> +++ b/net/6lowpan/core.c
> @@ -35,7 +35,6 @@ int lowpan_register_netdevice(struct net_device
> *dev,
>
> dev->type = ARPHRD_6LOWPAN;
> dev->mtu = IPV6_MIN_MTU;
> - dev->priv_flags |= IFF_NO_QUEUE;
>
> lowpan_dev(dev)->lltype = lltype;
>
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Cheers,
Jukka
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/6] Bluetooth: 6lowpan: Don't drop packets when run out of credits
2017-04-11 19:20 ` [PATCH 2/6] Bluetooth: 6lowpan: Don't drop packets when run out of credits Luiz Augusto von Dentz
@ 2017-04-12 13:56 ` Jukka Rissanen
0 siblings, 0 replies; 13+ messages in thread
From: Jukka Rissanen @ 2017-04-12 13:56 UTC (permalink / raw)
To: Luiz Augusto von Dentz, linux-bluetooth; +Cc: patrik.flykt, aar, linux-wpan
Hi Luiz,
On Tue, 2017-04-11 at 22:20 +0300, Luiz Augusto von Dentz wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>
> Since l2cap_chan_send will now queue the packets there is no point in
> checking the credits anymore.
>
> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> ---
> net/bluetooth/6lowpan.c | 11 ++---------
> 1 file changed, 2 insertions(+), 9 deletions(-)
>
> diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
> index 5b91e85..22bd936 100644
> --- a/net/bluetooth/6lowpan.c
> +++ b/net/bluetooth/6lowpan.c
> @@ -478,15 +478,8 @@ static int send_pkt(struct l2cap_chan *chan,
> struct sk_buff *skb,
> return 0;
> }
>
> - if (!err)
> - err = (!chan->tx_credits ? -EAGAIN : 0);
> -
> - if (err < 0) {
> - if (err == -EAGAIN)
> - netdev->stats.tx_dropped++;
> - else
> - netdev->stats.tx_errors++;
> - }
> + if (err < 0)
> + netdev->stats.tx_errors++;
>
> return err;
> }
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Cheers,
Jukka
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/6] Bluetooth: 6lowpan: Use netif APIs to flow control
2017-04-11 19:21 ` [PATCH 3/6] Bluetooth: 6lowpan: Use netif APIs to flow control Luiz Augusto von Dentz
@ 2017-04-12 13:57 ` Jukka Rissanen
0 siblings, 0 replies; 13+ messages in thread
From: Jukka Rissanen @ 2017-04-12 13:57 UTC (permalink / raw)
To: Luiz Augusto von Dentz, linux-bluetooth; +Cc: patrik.flykt, aar, linux-wpan
Hi Luiz,
On Tue, 2017-04-11 at 22:21 +0300, Luiz Augusto von Dentz wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>
> Rely on netif_wake_queue and netif_stop_queue to flow control when
> transmit resources are unavailable.
>
> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> ---
> net/bluetooth/6lowpan.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
> index 22bd936..dc7fda3 100644
> --- a/net/bluetooth/6lowpan.c
> +++ b/net/bluetooth/6lowpan.c
> @@ -867,12 +867,28 @@ static struct sk_buff *chan_alloc_skb_cb(struct
> l2cap_chan *chan,
>
> static void chan_suspend_cb(struct l2cap_chan *chan)
> {
> + struct lowpan_btle_dev *dev;
> +
> BT_DBG("chan %p suspend", chan);
> +
> + dev = lookup_dev(chan->conn);
> + if (!dev || !dev->netdev)
> + return;
> +
> + netif_stop_queue(dev->netdev);
> }
>
> static void chan_resume_cb(struct l2cap_chan *chan)
> {
> + struct lowpan_btle_dev *dev;
> +
> BT_DBG("chan %p resume", chan);
> +
> + dev = lookup_dev(chan->conn);
> + if (!dev || !dev->netdev)
> + return;
> +
> + netif_wake_queue(dev->netdev);
> }
>
> static long chan_get_sndtimeo_cb(struct l2cap_chan *chan)
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Cheers,
Jukka
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 4/6] Bluetooth: L2CAP: Add l2cap_le_flowctl_send
2017-04-11 19:21 ` [PATCH 4/6] Bluetooth: L2CAP: Add l2cap_le_flowctl_send Luiz Augusto von Dentz
@ 2017-04-12 13:57 ` Jukka Rissanen
0 siblings, 0 replies; 13+ messages in thread
From: Jukka Rissanen @ 2017-04-12 13:57 UTC (permalink / raw)
To: Luiz Augusto von Dentz, linux-bluetooth; +Cc: patrik.flykt, aar, linux-wpan
Hi Luiz,
On Tue, 2017-04-11 at 22:21 +0300, Luiz Augusto von Dentz wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>
> Consolidate code sending data to LE CoC channels and adds proper
> accounting of packets sent, the remaining credits and how many
> packets
> are queued.
>
> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> ---
> net/bluetooth/l2cap_core.c | 27 +++++++++++++++++++--------
> 1 file changed, 19 insertions(+), 8 deletions(-)
>
> diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
> index 3a202b0..f88ac995 100644
> --- a/net/bluetooth/l2cap_core.c
> +++ b/net/bluetooth/l2cap_core.c
> @@ -2425,6 +2425,22 @@ static int l2cap_segment_le_sdu(struct
> l2cap_chan *chan,
> return 0;
> }
>
> +static void l2cap_le_flowctl_send(struct l2cap_chan *chan)
> +{
> + int sent = 0;
> +
> + BT_DBG("chan %p", chan);
> +
> + while (chan->tx_credits && !skb_queue_empty(&chan->tx_q)) {
> + l2cap_do_send(chan, skb_dequeue(&chan->tx_q));
> + chan->tx_credits--;
> + sent++;
> + }
> +
> + BT_DBG("Sent %d credits %u queued %u", sent, chan-
> >tx_credits,
> + skb_queue_len(&chan->tx_q));
> +}
> +
> int l2cap_chan_send(struct l2cap_chan *chan, struct msghdr *msg,
> size_t len)
> {
> struct sk_buff *skb;
> @@ -2472,10 +2488,7 @@ int l2cap_chan_send(struct l2cap_chan *chan,
> struct msghdr *msg, size_t len)
>
> skb_queue_splice_tail_init(&seg_queue, &chan->tx_q);
>
> - while (chan->tx_credits && !skb_queue_empty(&chan-
> >tx_q)) {
> - l2cap_do_send(chan, skb_dequeue(&chan-
> >tx_q));
> - chan->tx_credits--;
> - }
> + l2cap_le_flowctl_send(chan);
>
> if (!chan->tx_credits)
> chan->ops->suspend(chan);
> @@ -5567,10 +5580,8 @@ static inline int l2cap_le_credits(struct
> l2cap_conn *conn,
>
> chan->tx_credits += credits;
>
> - while (chan->tx_credits && !skb_queue_empty(&chan->tx_q)) {
> - l2cap_do_send(chan, skb_dequeue(&chan->tx_q));
> - chan->tx_credits--;
> - }
> + /* Resume sending */
> + l2cap_le_flowctl_send(chan);
>
> if (chan->tx_credits)
> chan->ops->resume(chan);
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Cheers,
Jukka
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/6] Bluetooth: 6lowpan: Set tx_queue_len to DEFAULT_TX_QUEUE_LEN
2017-04-11 19:21 ` [PATCH 5/6] Bluetooth: 6lowpan: Set tx_queue_len to DEFAULT_TX_QUEUE_LEN Luiz Augusto von Dentz
@ 2017-04-12 13:58 ` Jukka Rissanen
0 siblings, 0 replies; 13+ messages in thread
From: Jukka Rissanen @ 2017-04-12 13:58 UTC (permalink / raw)
To: Luiz Augusto von Dentz, linux-bluetooth; +Cc: patrik.flykt, aar, linux-wpan
Hi Luiz,
On Tue, 2017-04-11 at 22:21 +0300, Luiz Augusto von Dentz wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>
> Make netdev queue packets if we run out of credits.
>
> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> ---
> net/bluetooth/6lowpan.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
> index dc7fda3..a4deba6 100644
> --- a/net/bluetooth/6lowpan.c
> +++ b/net/bluetooth/6lowpan.c
> @@ -20,6 +20,7 @@
> #include <net/ipv6.h>
> #include <net/ip6_route.h>
> #include <net/addrconf.h>
> +#include <net/pkt_sched.h>
>
> #include <net/bluetooth/bluetooth.h>
> #include <net/bluetooth/hci_core.h>
> @@ -594,6 +595,7 @@ static void netdev_setup(struct net_device *dev)
> dev->flags = IFF_RUNNING | IFF_POINTOPOINT |
> IFF_MULTICAST;
> dev->watchdog_timeo = 0;
> + dev->tx_queue_len = DEFAULT_TX_QUEUE_LEN;
>
> dev->netdev_ops = &netdev_ops;
> dev->header_ops = &header_ops;
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Cheers,
Jukka
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 6/6] bluetooth: Do not set IFF_POINTOPOINT
2017-04-11 19:21 ` [PATCH 6/6] bluetooth: Do not set IFF_POINTOPOINT Luiz Augusto von Dentz
@ 2017-04-12 13:58 ` Jukka Rissanen
0 siblings, 0 replies; 13+ messages in thread
From: Jukka Rissanen @ 2017-04-12 13:58 UTC (permalink / raw)
To: Luiz Augusto von Dentz, linux-bluetooth; +Cc: patrik.flykt, aar, linux-wpan
On Tue, 2017-04-11 at 22:21 +0300, Luiz Augusto von Dentz wrote:
> From: Patrik Flykt <patrik.flykt@linux.intel.com>
>
> The IPv6 stack needs to send and receive Neighbor Discovery
> messages. Remove the IFF_POINTOPOINT flag.
>
> Signed-off-by: Patrik Flykt <patrik.flykt@linux.intel.com>
> Reviewed-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> ---
> net/bluetooth/6lowpan.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
> index a4deba6..6089599 100644
> --- a/net/bluetooth/6lowpan.c
> +++ b/net/bluetooth/6lowpan.c
> @@ -592,8 +592,7 @@ static void netdev_setup(struct net_device *dev)
> {
> dev->hard_header_len = 0;
> dev->needed_tailroom = 0;
> - dev->flags = IFF_RUNNING | IFF_POINTOPOINT |
> - IFF_MULTICAST;
> + dev->flags = IFF_RUNNING | IFF_MULTICAST;
> dev->watchdog_timeo = 0;
> dev->tx_queue_len = DEFAULT_TX_QUEUE_LEN;
>
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Cheers,
Jukka
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE
2017-04-11 19:20 [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE Luiz Augusto von Dentz
` (5 preceding siblings ...)
2017-04-12 13:55 ` [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE Jukka Rissanen
@ 2017-04-12 19:58 ` Marcel Holtmann
6 siblings, 0 replies; 13+ messages in thread
From: Marcel Holtmann @ 2017-04-12 19:58 UTC (permalink / raw)
To: Luiz Augusto von Dentz
Cc: Linux Bluetooth, Patrik Flykt, Alexander Aring, Jukka Rissanen,
linux-wpan
Hi Luiz,
> There is no point in setting IFF_NO_QUEUE should already have taken
> care of setting it if tx_queue_len is not set, in fact this may
> actually disable queue for interfaces that require it and do set
> tx_queue_len.
>
> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> ---
> net/6lowpan/core.c | 1 -
> 1 file changed, 1 deletion(-)
all 6 patches have been applied to bluetooth-next tree.
Regards
Marcel
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2017-04-12 19:58 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-11 19:20 [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE Luiz Augusto von Dentz
2017-04-11 19:20 ` [PATCH 2/6] Bluetooth: 6lowpan: Don't drop packets when run out of credits Luiz Augusto von Dentz
2017-04-12 13:56 ` Jukka Rissanen
2017-04-11 19:21 ` [PATCH 3/6] Bluetooth: 6lowpan: Use netif APIs to flow control Luiz Augusto von Dentz
2017-04-12 13:57 ` Jukka Rissanen
2017-04-11 19:21 ` [PATCH 4/6] Bluetooth: L2CAP: Add l2cap_le_flowctl_send Luiz Augusto von Dentz
2017-04-12 13:57 ` Jukka Rissanen
2017-04-11 19:21 ` [PATCH 5/6] Bluetooth: 6lowpan: Set tx_queue_len to DEFAULT_TX_QUEUE_LEN Luiz Augusto von Dentz
2017-04-12 13:58 ` Jukka Rissanen
2017-04-11 19:21 ` [PATCH 6/6] bluetooth: Do not set IFF_POINTOPOINT Luiz Augusto von Dentz
2017-04-12 13:58 ` Jukka Rissanen
2017-04-12 13:55 ` [PATCH 1/6] 6lowpan: Don't set IFF_NO_QUEUE Jukka Rissanen
2017-04-12 19:58 ` Marcel Holtmann
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.