* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <1348142775.2388.10.camel@sauron.fi.intel.com> @ 2012-09-20 12:35 ` Johannes Berg [not found] ` <1348144524.4161.26.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> 0 siblings, 1 reply; 23+ messages in thread From: Johannes Berg @ 2012-09-20 12:35 UTC (permalink / raw) To: artem.bityutskiy; +Cc: Eric Dumazet, linux-wireless, netdev Hi, > > 56138f5 iwlwifi: dont pull too much payload in skb head > > 3edaf3e mac80211: manage AP netdev carrier state > > The second patch (AP carrier state) actually exposed a connman issue > which I fixed and submitted a connman patch: > http://lists.connman.net/pipermail/connman/2012-September/011232.html > > However, Eric's patch still causes tethering problems to me. Let me recap a bit. Artem is using connman, which sets up the wifi interface as part of a bridge. It runs wpa_supplicant to create an AP (only AP and mesh mode interfaces can be bridged anyway). Eric, you said: > I would say some part of the stack assumes a header (I dont know wich > one ?) is pulled in skb->head/data, and thats a bug. > > Always use pskb_may_pull(skb, XXX) to make sure you can access XXX > bytes in skb->data I thought we'd figure out which part of the stack assumes a header, so I asked Artem to test a one-line patch which adds "skb_linearize()" before "netif_receive_skb()" in mac80211. This makes it work, but I'm not sure where after that the bad assumption might be. johannes ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <1348144524.4161.26.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org>]
* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <1348144524.4161.26.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> @ 2012-09-20 12:40 ` Eric Dumazet 2012-09-20 12:45 ` Eric Dumazet [not found] ` <CANn89iJkXrZPB14KU8xA-Dn8_n=H3J4-R60BTZFV+STF9_ASdA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 2 replies; 23+ messages in thread From: Eric Dumazet @ 2012-09-20 12:40 UTC (permalink / raw) To: Johannes Berg Cc: artem.bityutskiy-VuQAYsv1563Yd54FQh9/CA, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev OK, but which netif_receive_skb(), as I count 5 occurrences in net/mac80211/rx.c ? Instead of skb_linearize() calls you could try several values of XXX in pskb_may_pull(skb, XXX) So that you make sure XXX bytes are available in skb->head, and not the whole frame. One you know the limit for XXX, it might give a clue where a pskb_may_pull(skb, XXX) is missing. On Thu, Sep 20, 2012 at 2:35 PM, Johannes Berg <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org> wrote: > Hi, > >> > 56138f5 iwlwifi: dont pull too much payload in skb head >> > 3edaf3e mac80211: manage AP netdev carrier state >> >> The second patch (AP carrier state) actually exposed a connman issue >> which I fixed and submitted a connman patch: >> http://lists.connman.net/pipermail/connman/2012-September/011232.html >> >> However, Eric's patch still causes tethering problems to me. > > > Let me recap a bit. Artem is using connman, which sets up the wifi > interface as part of a bridge. It runs wpa_supplicant to create an AP > (only AP and mesh mode interfaces can be bridged anyway). > > > Eric, you said: > >> I would say some part of the stack assumes a header (I dont know wich >> one ?) is pulled in skb->head/data, and thats a bug. >> >> Always use pskb_may_pull(skb, XXX) to make sure you can access XXX >> bytes in skb->data > > I thought we'd figure out which part of the stack assumes a header, so I > asked Artem to test a one-line patch which adds "skb_linearize()" before > "netif_receive_skb()" in mac80211. This makes it work, but I'm not sure > where after that the bad assumption might be. > > johannes > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi 2012-09-20 12:40 ` Eric Dumazet @ 2012-09-20 12:45 ` Eric Dumazet 2012-09-20 12:46 ` Eric Dumazet ` (2 more replies) [not found] ` <CANn89iJkXrZPB14KU8xA-Dn8_n=H3J4-R60BTZFV+STF9_ASdA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 1 sibling, 3 replies; 23+ messages in thread From: Eric Dumazet @ 2012-09-20 12:45 UTC (permalink / raw) To: Johannes Berg; +Cc: artem.bityutskiy, linux-wireless, netdev I guess you only need to make sure 14 bytes of ethernet header are available before eth_type_trans(skb, dev); diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 61c621e..ffe5f84 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -1795,9 +1795,13 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) if (skb) { /* deliver to local stack */ - skb->protocol = eth_type_trans(skb, dev); - memset(skb->cb, 0, sizeof(skb->cb)); - netif_receive_skb(skb); + if (pskb_may_pull(skb, sizeof(struct ethhdr))) { + skb->protocol = eth_type_trans(skb, dev); + memset(skb->cb, 0, sizeof(skb->cb)); + netif_receive_skb(skb); + } else { + kfree_skb(skb); + } } } On Thu, Sep 20, 2012 at 2:40 PM, Eric Dumazet <edumazet@google.com> wrote: > OK, but which netif_receive_skb(), as I count 5 occurrences in > net/mac80211/rx.c ? > > Instead of skb_linearize() calls > > you could try several values of XXX in > > pskb_may_pull(skb, XXX) > > So that you make sure XXX bytes are available in skb->head, and not > the whole frame. > > One you know the limit for XXX, it might give a clue where a > pskb_may_pull(skb, XXX) is missing. > > On Thu, Sep 20, 2012 at 2:35 PM, Johannes Berg > <johannes@sipsolutions.net> wrote: >> Hi, >> >>> > 56138f5 iwlwifi: dont pull too much payload in skb head >>> > 3edaf3e mac80211: manage AP netdev carrier state >>> >>> The second patch (AP carrier state) actually exposed a connman issue >>> which I fixed and submitted a connman patch: >>> http://lists.connman.net/pipermail/connman/2012-September/011232.html >>> >>> However, Eric's patch still causes tethering problems to me. >> >> >> Let me recap a bit. Artem is using connman, which sets up the wifi >> interface as part of a bridge. It runs wpa_supplicant to create an AP >> (only AP and mesh mode interfaces can be bridged anyway). >> >> >> Eric, you said: >> >>> I would say some part of the stack assumes a header (I dont know wich >>> one ?) is pulled in skb->head/data, and thats a bug. >>> >>> Always use pskb_may_pull(skb, XXX) to make sure you can access XXX >>> bytes in skb->data >> >> I thought we'd figure out which part of the stack assumes a header, so I >> asked Artem to test a one-line patch which adds "skb_linearize()" before >> "netif_receive_skb()" in mac80211. This makes it work, but I'm not sure >> where after that the bad assumption might be. >> >> johannes >> ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi 2012-09-20 12:45 ` Eric Dumazet @ 2012-09-20 12:46 ` Eric Dumazet [not found] ` <CANn89iLnv2kWLd_hTpMXjMJ=r+hOvb2q2Oy6L-s5+6SzqxYvjA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2012-09-20 12:47 ` Johannes Berg [not found] ` <CANn89iKStHAwVZtpgQMzEpByGYG2FKpjSQsJFT-9qQmjw+KJ8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2 siblings, 1 reply; 23+ messages in thread From: Eric Dumazet @ 2012-09-20 12:46 UTC (permalink / raw) To: Johannes Berg; +Cc: artem.bityutskiy, linux-wireless, netdev Or its the lines with CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS ? What arch is it ? On Thu, Sep 20, 2012 at 2:45 PM, Eric Dumazet <edumazet@google.com> wrote: > I guess you only need to make sure 14 bytes of ethernet header are > available before eth_type_trans(skb, dev); > > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c > index 61c621e..ffe5f84 100644 > --- a/net/mac80211/rx.c > +++ b/net/mac80211/rx.c > @@ -1795,9 +1795,13 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) > > if (skb) { > /* deliver to local stack */ > - skb->protocol = eth_type_trans(skb, dev); > - memset(skb->cb, 0, sizeof(skb->cb)); > - netif_receive_skb(skb); > + if (pskb_may_pull(skb, sizeof(struct ethhdr))) { > + skb->protocol = eth_type_trans(skb, dev); > + memset(skb->cb, 0, sizeof(skb->cb)); > + netif_receive_skb(skb); > + } else { > + kfree_skb(skb); > + } > } > } > > > On Thu, Sep 20, 2012 at 2:40 PM, Eric Dumazet <edumazet@google.com> wrote: >> OK, but which netif_receive_skb(), as I count 5 occurrences in >> net/mac80211/rx.c ? >> >> Instead of skb_linearize() calls >> >> you could try several values of XXX in >> >> pskb_may_pull(skb, XXX) >> >> So that you make sure XXX bytes are available in skb->head, and not >> the whole frame. >> >> One you know the limit for XXX, it might give a clue where a >> pskb_may_pull(skb, XXX) is missing. >> >> On Thu, Sep 20, 2012 at 2:35 PM, Johannes Berg >> <johannes@sipsolutions.net> wrote: >>> Hi, >>> >>>> > 56138f5 iwlwifi: dont pull too much payload in skb head >>>> > 3edaf3e mac80211: manage AP netdev carrier state >>>> >>>> The second patch (AP carrier state) actually exposed a connman issue >>>> which I fixed and submitted a connman patch: >>>> http://lists.connman.net/pipermail/connman/2012-September/011232.html >>>> >>>> However, Eric's patch still causes tethering problems to me. >>> >>> >>> Let me recap a bit. Artem is using connman, which sets up the wifi >>> interface as part of a bridge. It runs wpa_supplicant to create an AP >>> (only AP and mesh mode interfaces can be bridged anyway). >>> >>> >>> Eric, you said: >>> >>>> I would say some part of the stack assumes a header (I dont know wich >>>> one ?) is pulled in skb->head/data, and thats a bug. >>>> >>>> Always use pskb_may_pull(skb, XXX) to make sure you can access XXX >>>> bytes in skb->data >>> >>> I thought we'd figure out which part of the stack assumes a header, so I >>> asked Artem to test a one-line patch which adds "skb_linearize()" before >>> "netif_receive_skb()" in mac80211. This makes it work, but I'm not sure >>> where after that the bad assumption might be. >>> >>> johannes >>> ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <CANn89iLnv2kWLd_hTpMXjMJ=r+hOvb2q2Oy6L-s5+6SzqxYvjA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <CANn89iLnv2kWLd_hTpMXjMJ=r+hOvb2q2Oy6L-s5+6SzqxYvjA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2012-09-20 12:50 ` Johannes Berg 0 siblings, 0 replies; 23+ messages in thread From: Johannes Berg @ 2012-09-20 12:50 UTC (permalink / raw) To: Eric Dumazet Cc: artem.bityutskiy-VuQAYsv1563Yd54FQh9/CA, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev On Thu, 2012-09-20 at 14:46 +0200, Eric Dumazet wrote: > Or its the lines with CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS ? > > What arch is it ? x86 johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi 2012-09-20 12:45 ` Eric Dumazet 2012-09-20 12:46 ` Eric Dumazet @ 2012-09-20 12:47 ` Johannes Berg [not found] ` <1348145269.4161.28.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> 2012-09-20 12:51 ` Johannes Berg [not found] ` <CANn89iKStHAwVZtpgQMzEpByGYG2FKpjSQsJFT-9qQmjw+KJ8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2 siblings, 2 replies; 23+ messages in thread From: Johannes Berg @ 2012-09-20 12:47 UTC (permalink / raw) To: Eric Dumazet; +Cc: artem.bityutskiy, linux-wireless, netdev On Thu, 2012-09-20 at 14:45 +0200, Eric Dumazet wrote: > I guess you only need to make sure 14 bytes of ethernet header are > available before eth_type_trans(skb, dev); > > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c > index 61c621e..ffe5f84 100644 > --- a/net/mac80211/rx.c > +++ b/net/mac80211/rx.c > @@ -1795,9 +1795,13 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) > > if (skb) { > /* deliver to local stack */ > - skb->protocol = eth_type_trans(skb, dev); > - memset(skb->cb, 0, sizeof(skb->cb)); > - netif_receive_skb(skb); > + if (pskb_may_pull(skb, sizeof(struct ethhdr))) { > + skb->protocol = eth_type_trans(skb, dev); > + memset(skb->cb, 0, sizeof(skb->cb)); > + netif_receive_skb(skb); > + } else { > + kfree_skb(skb); > + } > } > } Yeah I was looking at the same code just now. However, we had actually inserted the skb_linearize() *after* eth_type_trans(), so I'm confused. Maybe it still works, more or less by accident? johannes ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <1348145269.4161.28.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org>]
* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <1348145269.4161.28.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> @ 2012-09-20 12:48 ` Eric Dumazet 2012-09-20 12:50 ` Johannes Berg 0 siblings, 1 reply; 23+ messages in thread From: Eric Dumazet @ 2012-09-20 12:48 UTC (permalink / raw) To: Johannes Berg Cc: artem.bityutskiy-VuQAYsv1563Yd54FQh9/CA, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev Or its a buggy protocol ? IP/UDP/TCP definitely works, but maybe another protocol assumes its header is in skb->head On Thu, Sep 20, 2012 at 2:47 PM, Johannes Berg <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org> wrote: > On Thu, 2012-09-20 at 14:45 +0200, Eric Dumazet wrote: >> I guess you only need to make sure 14 bytes of ethernet header are >> available before eth_type_trans(skb, dev); >> >> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c >> index 61c621e..ffe5f84 100644 >> --- a/net/mac80211/rx.c >> +++ b/net/mac80211/rx.c >> @@ -1795,9 +1795,13 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) >> >> if (skb) { >> /* deliver to local stack */ >> - skb->protocol = eth_type_trans(skb, dev); >> - memset(skb->cb, 0, sizeof(skb->cb)); >> - netif_receive_skb(skb); >> + if (pskb_may_pull(skb, sizeof(struct ethhdr))) { >> + skb->protocol = eth_type_trans(skb, dev); >> + memset(skb->cb, 0, sizeof(skb->cb)); >> + netif_receive_skb(skb); >> + } else { >> + kfree_skb(skb); >> + } >> } >> } > > Yeah I was looking at the same code just now. However, we had actually > inserted the skb_linearize() *after* eth_type_trans(), so I'm confused. > Maybe it still works, more or less by accident? > > johannes > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi 2012-09-20 12:48 ` Eric Dumazet @ 2012-09-20 12:50 ` Johannes Berg [not found] ` <1348145450.4161.31.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> 0 siblings, 1 reply; 23+ messages in thread From: Johannes Berg @ 2012-09-20 12:50 UTC (permalink / raw) To: Eric Dumazet; +Cc: artem.bityutskiy, linux-wireless, netdev On Thu, 2012-09-20 at 14:48 +0200, Eric Dumazet wrote: > Or its a buggy protocol ? > > IP/UDP/TCP definitely works, but maybe another protocol assumes its > header is in skb->head It could be, I think it failed either on EAPOL (which is just userspace registering a protocol socket) or DHCP (same?) johannes ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <1348145450.4161.31.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org>]
* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <1348145450.4161.31.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> @ 2012-09-20 12:51 ` Eric Dumazet [not found] ` <CANn89iLudX29yU8ziNyN+8gN3b2L55L9m5p6ob_wnfZ3fp_TDg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 23+ messages in thread From: Eric Dumazet @ 2012-09-20 12:51 UTC (permalink / raw) To: Johannes Berg Cc: artem.bityutskiy-VuQAYsv1563Yd54FQh9/CA, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev So its using a RAW socket ? On Thu, Sep 20, 2012 at 2:50 PM, Johannes Berg <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org> wrote: > On Thu, 2012-09-20 at 14:48 +0200, Eric Dumazet wrote: >> Or its a buggy protocol ? >> >> IP/UDP/TCP definitely works, but maybe another protocol assumes its >> header is in skb->head > > It could be, I think it failed either on EAPOL (which is just userspace > registering a protocol socket) or DHCP (same?) > > johannes > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <CANn89iLudX29yU8ziNyN+8gN3b2L55L9m5p6ob_wnfZ3fp_TDg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <CANn89iLudX29yU8ziNyN+8gN3b2L55L9m5p6ob_wnfZ3fp_TDg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2012-09-20 12:54 ` Johannes Berg 0 siblings, 0 replies; 23+ messages in thread From: Johannes Berg @ 2012-09-20 12:54 UTC (permalink / raw) To: Eric Dumazet Cc: artem.bityutskiy-VuQAYsv1563Yd54FQh9/CA, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev On Thu, 2012-09-20 at 14:51 +0200, Eric Dumazet wrote: > So its using a RAW socket ? Yes: socket(PF_PACKET, SOCK_RAW, htons(ETH_P_EAPOL)) johannes > On Thu, Sep 20, 2012 at 2:50 PM, Johannes Berg > <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org> wrote: > > On Thu, 2012-09-20 at 14:48 +0200, Eric Dumazet wrote: > >> Or its a buggy protocol ? > >> > >> IP/UDP/TCP definitely works, but maybe another protocol assumes its > >> header is in skb->head > > > > It could be, I think it failed either on EAPOL (which is just userspace > > registering a protocol socket) or DHCP (same?) > > > > johannes > > > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi 2012-09-20 12:47 ` Johannes Berg [not found] ` <1348145269.4161.28.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> @ 2012-09-20 12:51 ` Johannes Berg 1 sibling, 0 replies; 23+ messages in thread From: Johannes Berg @ 2012-09-20 12:51 UTC (permalink / raw) To: Eric Dumazet; +Cc: artem.bityutskiy, linux-wireless, netdev On Thu, 2012-09-20 at 14:47 +0200, Johannes Berg wrote: > > if (skb) { > > /* deliver to local stack */ > > - skb->protocol = eth_type_trans(skb, dev); > > - memset(skb->cb, 0, sizeof(skb->cb)); > > - netif_receive_skb(skb); > > + if (pskb_may_pull(skb, sizeof(struct ethhdr))) { > > + skb->protocol = eth_type_trans(skb, dev); > > + memset(skb->cb, 0, sizeof(skb->cb)); > > + netif_receive_skb(skb); > > + } else { > > + kfree_skb(skb); > > + } > > } > > } > > Yeah I was looking at the same code just now. However, we had actually > inserted the skb_linearize() *after* eth_type_trans(), so I'm confused. Ok actually, by the time we get here the ethernet header must be in the skb head because we construct it from the 802.11 and llc/snap header. johannes ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <CANn89iKStHAwVZtpgQMzEpByGYG2FKpjSQsJFT-9qQmjw+KJ8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <CANn89iKStHAwVZtpgQMzEpByGYG2FKpjSQsJFT-9qQmjw+KJ8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2012-09-20 12:58 ` Artem Bityutskiy [not found] ` <1348145936.2388.18.camel-Bxnoe/o8FG+Ef9UqXRslZEEOCMrvLtNR@public.gmane.org> 0 siblings, 1 reply; 23+ messages in thread From: Artem Bityutskiy @ 2012-09-20 12:58 UTC (permalink / raw) To: Eric Dumazet; +Cc: Johannes Berg, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev [-- Attachment #1: Type: text/plain, Size: 1569 bytes --] On Thu, 2012-09-20 at 14:45 +0200, Eric Dumazet wrote: > I guess you only need to make sure 14 bytes of ethernet header are > available before eth_type_trans(skb, dev); > > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c > index 61c621e..ffe5f84 100644 > --- a/net/mac80211/rx.c > +++ b/net/mac80211/rx.c > @@ -1795,9 +1795,13 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) > > if (skb) { > /* deliver to local stack */ > - skb->protocol = eth_type_trans(skb, dev); > - memset(skb->cb, 0, sizeof(skb->cb)); > - netif_receive_skb(skb); > + if (pskb_may_pull(skb, sizeof(struct ethhdr))) { > + skb->protocol = eth_type_trans(skb, dev); > + memset(skb->cb, 0, sizeof(skb->cb)); > + netif_receive_skb(skb); > + } else { > + kfree_skb(skb); > + } > } > } Does not help, this one does: diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 61c621e..6888586 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -1797,6 +1797,7 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) /* deliver to local stack */ skb->protocol = eth_type_trans(skb, dev); memset(skb->cb, 0, sizeof(skb->cb)); + skb_linearize(skb); netif_receive_skb(skb); } -- Best Regards, Artem Bityutskiy [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply related [flat|nested] 23+ messages in thread
[parent not found: <1348145936.2388.18.camel-Bxnoe/o8FG+Ef9UqXRslZEEOCMrvLtNR@public.gmane.org>]
* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <1348145936.2388.18.camel-Bxnoe/o8FG+Ef9UqXRslZEEOCMrvLtNR@public.gmane.org> @ 2012-09-20 13:04 ` Eric Dumazet [not found] ` <CANn89i+9Th=xVgDgoy7tHwKtLNpOC8rgJkA09nQ1Yf0zvqBw6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2012-09-20 13:22 ` Artem Bityutskiy 0 siblings, 2 replies; 23+ messages in thread From: Eric Dumazet @ 2012-09-20 13:04 UTC (permalink / raw) To: artem.bityutskiy-VuQAYsv1563Yd54FQh9/CA Cc: Johannes Berg, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev Try to pull 40 bytes : Thats OK for tcp performance, because 40 bytes is the minimum size of IP+TCP headers pskb_may_pull(skb, 40); (instead of your skb_linearize(skb);) On Thu, Sep 20, 2012 at 2:58 PM, Artem Bityutskiy <artem.bityutskiy-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> wrote: > On Thu, 2012-09-20 at 14:45 +0200, Eric Dumazet wrote: >> I guess you only need to make sure 14 bytes of ethernet header are >> available before eth_type_trans(skb, dev); >> >> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c >> index 61c621e..ffe5f84 100644 >> --- a/net/mac80211/rx.c >> +++ b/net/mac80211/rx.c >> @@ -1795,9 +1795,13 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) >> >> if (skb) { >> /* deliver to local stack */ >> - skb->protocol = eth_type_trans(skb, dev); >> - memset(skb->cb, 0, sizeof(skb->cb)); >> - netif_receive_skb(skb); >> + if (pskb_may_pull(skb, sizeof(struct ethhdr))) { >> + skb->protocol = eth_type_trans(skb, dev); >> + memset(skb->cb, 0, sizeof(skb->cb)); >> + netif_receive_skb(skb); >> + } else { >> + kfree_skb(skb); >> + } >> } >> } > > Does not help, this one does: > > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c > index 61c621e..6888586 100644 > --- a/net/mac80211/rx.c > +++ b/net/mac80211/rx.c > @@ -1797,6 +1797,7 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) > /* deliver to local stack */ > skb->protocol = eth_type_trans(skb, dev); > memset(skb->cb, 0, sizeof(skb->cb)); > + skb_linearize(skb); > netif_receive_skb(skb); > } > > -- > Best Regards, > Artem Bityutskiy -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <CANn89i+9Th=xVgDgoy7tHwKtLNpOC8rgJkA09nQ1Yf0zvqBw6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <CANn89i+9Th=xVgDgoy7tHwKtLNpOC8rgJkA09nQ1Yf0zvqBw6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2012-09-20 13:15 ` Eric Dumazet 0 siblings, 0 replies; 23+ messages in thread From: Eric Dumazet @ 2012-09-20 13:15 UTC (permalink / raw) To: Eric Dumazet Cc: artem.bityutskiy-VuQAYsv1563Yd54FQh9/CA, Johannes Berg, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev On Thu, 2012-09-20 at 15:04 +0200, Eric Dumazet wrote: > Try to pull 40 bytes : Thats OK for tcp performance, because 40 bytes > is the minimum size of IP+TCP headers > > pskb_may_pull(skb, 40); > > (instead of your skb_linearize(skb);) Oh well, I just realize all these mails were on netdev. Sorry for the noise. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi 2012-09-20 13:04 ` Eric Dumazet [not found] ` <CANn89i+9Th=xVgDgoy7tHwKtLNpOC8rgJkA09nQ1Yf0zvqBw6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2012-09-20 13:22 ` Artem Bityutskiy 2012-09-20 13:22 ` Eric Dumazet 2012-09-20 14:25 ` Eric Dumazet 1 sibling, 2 replies; 23+ messages in thread From: Artem Bityutskiy @ 2012-09-20 13:22 UTC (permalink / raw) To: Eric Dumazet; +Cc: Johannes Berg, linux-wireless, netdev [-- Attachment #1: Type: text/plain, Size: 1178 bytes --] On Thu, 2012-09-20 at 15:04 +0200, Eric Dumazet wrote: > Try to pull 40 bytes : Thats OK for tcp performance, because 40 bytes > is the minimum size of IP+TCP headers > > pskb_may_pull(skb, 40); OK, I've tried almost this (see below) and it solves my issue: diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 965e6ec..7f079d0 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -1798,9 +1798,13 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) if (skb) { /* deliver to local stack */ - skb->protocol = eth_type_trans(skb, dev); - memset(skb->cb, 0, sizeof(skb->cb)); - netif_receive_skb(skb); + if (pskb_may_pull(skb, 40)) { + skb->protocol = eth_type_trans(skb, dev); + memset(skb->cb, 0, sizeof(skb->cb)); + netif_receive_skb(skb); + } else { + kfree_skb(skb); + } } } -- Best Regards, Artem Bityutskiy [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi 2012-09-20 13:22 ` Artem Bityutskiy @ 2012-09-20 13:22 ` Eric Dumazet 2012-09-20 14:25 ` Eric Dumazet 1 sibling, 0 replies; 23+ messages in thread From: Eric Dumazet @ 2012-09-20 13:22 UTC (permalink / raw) To: artem.bityutskiy; +Cc: Eric Dumazet, Johannes Berg, linux-wireless, netdev On Thu, 2012-09-20 at 16:22 +0300, Artem Bityutskiy wrote: > > OK, I've tried almost this (see below) and it solves my issue: > > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c > index 965e6ec..7f079d0 100644 > --- a/net/mac80211/rx.c > +++ b/net/mac80211/rx.c > @@ -1798,9 +1798,13 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) > > if (skb) { > /* deliver to local stack */ > - skb->protocol = eth_type_trans(skb, dev); > - memset(skb->cb, 0, sizeof(skb->cb)); > - netif_receive_skb(skb); > + if (pskb_may_pull(skb, 40)) { > + skb->protocol = eth_type_trans(skb, dev); > + memset(skb->cb, 0, sizeof(skb->cb)); > + netif_receive_skb(skb); > + } else { > + kfree_skb(skb); > + } > } > } > OK but you cant do that, or small frames will be dropped. Anyway its a hack, we should find the buggy layer. You could use dropwatch (drop_monitor) to check where frame is dropped. modprobe drop_monitor dropwatch -l kas ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi 2012-09-20 13:22 ` Artem Bityutskiy 2012-09-20 13:22 ` Eric Dumazet @ 2012-09-20 14:25 ` Eric Dumazet 2012-09-21 17:24 ` David Miller 1 sibling, 1 reply; 23+ messages in thread From: Eric Dumazet @ 2012-09-20 14:25 UTC (permalink / raw) To: artem.bityutskiy; +Cc: Eric Dumazet, Johannes Berg, linux-wireless, netdev On Thu, 2012-09-20 at 16:22 +0300, Artem Bityutskiy wrote: > On Thu, 2012-09-20 at 15:04 +0200, Eric Dumazet wrote: > > Try to pull 40 bytes : Thats OK for tcp performance, because 40 bytes > > is the minimum size of IP+TCP headers > > > > pskb_may_pull(skb, 40); > > OK, I've tried almost this (see below) and it solves my issue: > > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c > index 965e6ec..7f079d0 100644 > --- a/net/mac80211/rx.c > +++ b/net/mac80211/rx.c > @@ -1798,9 +1798,13 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx) > > if (skb) { > /* deliver to local stack */ > - skb->protocol = eth_type_trans(skb, dev); > - memset(skb->cb, 0, sizeof(skb->cb)); > - netif_receive_skb(skb); > + if (pskb_may_pull(skb, 40)) { > + skb->protocol = eth_type_trans(skb, dev); > + memset(skb->cb, 0, sizeof(skb->cb)); > + netif_receive_skb(skb); > + } else { > + kfree_skb(skb); > + } > } > } > Please remove this hack and try the following bugfix in raw handler icmp_filter() should not modify skb, or else its caller should not assume ip_hdr() is unchanged. net/ipv4/raw.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index f242578..3fa8c96 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c @@ -128,25 +128,30 @@ found: } /* - * 0 - deliver - * 1 - block + * false - deliver + * true - block */ -static __inline__ int icmp_filter(struct sock *sk, struct sk_buff *skb) +static bool icmp_filter(struct sock *sk, const struct sk_buff *skb) { - int type; - - if (!pskb_may_pull(skb, sizeof(struct icmphdr))) - return 1; - - type = icmp_hdr(skb)->type; - if (type < 32) { + __u8 _type; + const __u8 *type; + + type = skb_header_pointer(skb, + skb_transport_offset(skb) + + offsetof(struct icmphdr, type), + sizeof(_type), + &_type); + if (!type) + return true; + + if (*type < 32) { __u32 data = raw_sk(sk)->filter.data; - return ((1 << type) & data) != 0; + return ((1U << *type) & data) != 0; } /* Do not block unknown ICMP types */ - return 0; + return false; } /* IP input processing comes here for RAW socket delivery. ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi 2012-09-20 14:25 ` Eric Dumazet @ 2012-09-21 17:24 ` David Miller 0 siblings, 0 replies; 23+ messages in thread From: David Miller @ 2012-09-21 17:24 UTC (permalink / raw) To: eric.dumazet-Re5JQEeQqe8AvxtiuMwx3w Cc: artem.bityutskiy-VuQAYsv1563Yd54FQh9/CA, edumazet-hpIqsD4AKlfQT0dZR+AlfA, johannes-cdvu00un1VgdHxzADdlk8Q, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA From: Eric Dumazet <eric.dumazet-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Date: Thu, 20 Sep 2012 16:25:49 +0200 > Please remove this hack and try the following bugfix in raw handler > > icmp_filter() should not modify skb, or else its caller should not > assume ip_hdr() is unchanged. Right, good catch. Please submit this fix formally Eric, thanks a lot. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <CANn89iJkXrZPB14KU8xA-Dn8_n=H3J4-R60BTZFV+STF9_ASdA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <CANn89iJkXrZPB14KU8xA-Dn8_n=H3J4-R60BTZFV+STF9_ASdA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2012-09-20 12:47 ` Johannes Berg 0 siblings, 0 replies; 23+ messages in thread From: Johannes Berg @ 2012-09-20 12:47 UTC (permalink / raw) To: Eric Dumazet Cc: artem.bityutskiy-VuQAYsv1563Yd54FQh9/CA, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev On Thu, 2012-09-20 at 14:40 +0200, Eric Dumazet wrote: > OK, but which netif_receive_skb(), as I count 5 occurrences in > net/mac80211/rx.c ? The one you modified in the other email :-) > Instead of skb_linearize() calls > > you could try several values of XXX in > > pskb_may_pull(skb, XXX) > > So that you make sure XXX bytes are available in skb->head, and not > the whole frame. > > One you know the limit for XXX, it might give a clue where a > pskb_may_pull(skb, XXX) is missing. Good idea. johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <1347892887.7112.9.camel@sauron.fi.intel.com> [not found] ` <1348142775.2388.10.camel@sauron.fi.intel.com> @ 2013-03-21 19:34 ` Johannes Berg 2013-03-21 21:24 ` David Miller ` (2 more replies) 1 sibling, 3 replies; 23+ messages in thread From: Johannes Berg @ 2013-03-21 19:34 UTC (permalink / raw) To: artem.bityutskiy, patrik.flykt Cc: Eric Dumazet, linux-wireless, netdev, stable On Mon, 2012-09-17 at 17:41 +0300, Artem Bityutskiy wrote: > OK, finally I got it. After 3 days of hardcore intelligent bisecting > I've found out that tethering in 3.5 works for me if I revert > these 2 > patches: > > 56138f5 iwlwifi: dont pull too much payload in skb head I got back to this for a customer running 3.5, and after many failed attempts realized that you have to have iptables for this problem to actually happen. I reverse-bisected that the *fix* is 6caab7b0544e83e6c160b5e80f5a4a7dd69545c7, in 3.7. Is there still any stable kernel 3.5/3.6 (or possibly before, though for iwlwifi before doesn't matter) that this should be applied to? johannes ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi 2013-03-21 19:34 ` Johannes Berg @ 2013-03-21 21:24 ` David Miller [not found] ` <1363894451.8181.4.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> 2013-03-23 15:45 ` Luis Henriques 2 siblings, 0 replies; 23+ messages in thread From: David Miller @ 2013-03-21 21:24 UTC (permalink / raw) To: johannes Cc: artem.bityutskiy, patrik.flykt, edumazet, linux-wireless, netdev, stable From: Johannes Berg <johannes@sipsolutions.net> Date: Thu, 21 Mar 2013 20:34:11 +0100 > On Mon, 2012-09-17 at 17:41 +0300, Artem Bityutskiy wrote: > >> OK, finally I got it. After 3 days of hardcore intelligent bisecting >> I've found out that tethering in 3.5 works for me if I revert >> these 2 >> patches: >> >> 56138f5 iwlwifi: dont pull too much payload in skb head > > I got back to this for a customer running 3.5, and after many failed > attempts realized that you have to have iptables for this problem to > actually happen. I reverse-bisected that the *fix* is > 6caab7b0544e83e6c160b5e80f5a4a7dd69545c7, in 3.7. > > Is there still any stable kernel 3.5/3.6 (or possibly before, though for > iwlwifi before doesn't matter) that this should be applied to? I've checked all of 3.0.x, 3.2.x, 3.4.x, and 3.8.x They all have this patch applied. Those are the official stable kernels, everything else is outside of my realm. ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <1363894451.8181.4.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org>]
* Re: regression: tethering fails in 3.5 with iwlwifi [not found] ` <1363894451.8181.4.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> @ 2013-03-22 7:01 ` Artem Bityutskiy 0 siblings, 0 replies; 23+ messages in thread From: Artem Bityutskiy @ 2013-03-22 7:01 UTC (permalink / raw) To: Johannes Berg Cc: patrik.flykt-ral2JQCrhuEAvxtiuMwx3w, Eric Dumazet, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA, stable-u79uwXL29TY76Z2rM5mHXA On Thu, 2013-03-21 at 20:34 +0100, Johannes Berg wrote: > On Mon, 2012-09-17 at 17:41 +0300, Artem Bityutskiy wrote: > > > OK, finally I got it. After 3 days of hardcore intelligent bisecting > > I've found out that tethering in 3.5 works for me if I revert > > these 2 > > patches: > > > > 56138f5 iwlwifi: dont pull too much payload in skb head > > I got back to this for a customer running 3.5, and after many failed > attempts realized that you have to have iptables for this problem to > actually happen. I reverse-bisected that the *fix* is > 6caab7b0544e83e6c160b5e80f5a4a7dd69545c7, in 3.7. > > Is there still any stable kernel 3.5/3.6 (or possibly before, though for > iwlwifi before doesn't matter) that this should be applied to? Hi Johannes, thanks for remembering about this. We've switched to the 3.8 kernel recently, and we are pulling stable kernels in regularly. Now we are at 3.8.3. -- Best Regards, Artem Bityutskiy -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: regression: tethering fails in 3.5 with iwlwifi 2013-03-21 19:34 ` Johannes Berg 2013-03-21 21:24 ` David Miller [not found] ` <1363894451.8181.4.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> @ 2013-03-23 15:45 ` Luis Henriques 2 siblings, 0 replies; 23+ messages in thread From: Luis Henriques @ 2013-03-23 15:45 UTC (permalink / raw) To: Johannes Berg Cc: artem.bityutskiy, patrik.flykt, Eric Dumazet, linux-wireless, netdev, stable On Thu, Mar 21, 2013 at 08:34:11PM +0100, Johannes Berg wrote: > On Mon, 2012-09-17 at 17:41 +0300, Artem Bityutskiy wrote: > > > OK, finally I got it. After 3 days of hardcore intelligent bisecting > > I've found out that tethering in 3.5 works for me if I revert > > these 2 > > patches: > > > > 56138f5 iwlwifi: dont pull too much payload in skb head > > I got back to this for a customer running 3.5, and after many failed > attempts realized that you have to have iptables for this problem to > actually happen. I reverse-bisected that the *fix* is > 6caab7b0544e83e6c160b5e80f5a4a7dd69545c7, in 3.7. > > Is there still any stable kernel 3.5/3.6 (or possibly before, though for > iwlwifi before doesn't matter) that this should be applied to? The 3.5.y.z extended stable tree already contains this commit as well. Cheers, -- Luis ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2013-03-23 15:45 UTC | newest] Thread overview: 23+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1347361823.26457.3.camel@sauron.fi.intel.com> [not found] ` <1DC40B07CD6EC041A66726C271A73AE6195AE9C8@IRSMSX102.ger.corp.intel.com> [not found] ` <1347631355.5263.19.camel@sauron.fi.intel.com> [not found] ` <1347640763.5263.24.camel@sauron.fi.intel.com> [not found] ` <1347892887.7112.9.camel@sauron.fi.intel.com> [not found] ` <1348142775.2388.10.camel@sauron.fi.intel.com> 2012-09-20 12:35 ` regression: tethering fails in 3.5 with iwlwifi Johannes Berg [not found] ` <1348144524.4161.26.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> 2012-09-20 12:40 ` Eric Dumazet 2012-09-20 12:45 ` Eric Dumazet 2012-09-20 12:46 ` Eric Dumazet [not found] ` <CANn89iLnv2kWLd_hTpMXjMJ=r+hOvb2q2Oy6L-s5+6SzqxYvjA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2012-09-20 12:50 ` Johannes Berg 2012-09-20 12:47 ` Johannes Berg [not found] ` <1348145269.4161.28.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> 2012-09-20 12:48 ` Eric Dumazet 2012-09-20 12:50 ` Johannes Berg [not found] ` <1348145450.4161.31.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> 2012-09-20 12:51 ` Eric Dumazet [not found] ` <CANn89iLudX29yU8ziNyN+8gN3b2L55L9m5p6ob_wnfZ3fp_TDg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2012-09-20 12:54 ` Johannes Berg 2012-09-20 12:51 ` Johannes Berg [not found] ` <CANn89iKStHAwVZtpgQMzEpByGYG2FKpjSQsJFT-9qQmjw+KJ8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2012-09-20 12:58 ` Artem Bityutskiy [not found] ` <1348145936.2388.18.camel-Bxnoe/o8FG+Ef9UqXRslZEEOCMrvLtNR@public.gmane.org> 2012-09-20 13:04 ` Eric Dumazet [not found] ` <CANn89i+9Th=xVgDgoy7tHwKtLNpOC8rgJkA09nQ1Yf0zvqBw6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2012-09-20 13:15 ` Eric Dumazet 2012-09-20 13:22 ` Artem Bityutskiy 2012-09-20 13:22 ` Eric Dumazet 2012-09-20 14:25 ` Eric Dumazet 2012-09-21 17:24 ` David Miller [not found] ` <CANn89iJkXrZPB14KU8xA-Dn8_n=H3J4-R60BTZFV+STF9_ASdA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2012-09-20 12:47 ` Johannes Berg 2013-03-21 19:34 ` Johannes Berg 2013-03-21 21:24 ` David Miller [not found] ` <1363894451.8181.4.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org> 2013-03-22 7:01 ` Artem Bityutskiy 2013-03-23 15:45 ` Luis Henriques
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).