[Cerowrt-devel] cerowrt 3.7.2-3 released, still in a battle with ipv6

Maciej Soltysiak maciej at soltysiak.com
Wed Jan 16 16:53:32 EST 2013


Saw this in dmesg too:

[  720.030000] ------------[ cut here ]------------
[  720.030000] WARNING: at
/build/cero2/src/Cerowrt-next/build_dir/target-mips_r2_uClibc-0.9.33.2/linux-ar71xx_generic/compat-wireless-2013-01-07/net/mac80211/chan.c:162
__ieee80211_vif_release_channel+0x1d0/0x254 [mac80211]()
[  720.050000] Modules linked in: sch_teql sch_tbf sch_sfq sch_red sch_qfq
sch_prio sch_ns2_codel sch_nfq_codel sch_netem sch_htb sch_gred
sch_efq_codel sch_dsmark em_text em_nbyte em_meta em_cmp cls_basic
act_police act_ipt act_connmark act_skbedit act_mirred em_u32 cls_u32
cls_tcindex cls_flow cls_route cls_fw sch_hfsc sch_fq_codel sch_codel
sch_ingress usb_storage ath79_wdt ohci_hcd xt_hashlimit xt_set(O)
ip_set_list_set(O) ip_set_hash_netport(O) ip_set_hash_netiface(O)
ip_set_hash_net(O) ip_set_hash_ipportnet(O) ip_set_hash_ipportip(O)
ip_set_hash_ipport(O) ip_set_hash_ip(O) ip_set_bitmap_port(O)
ip_set_bitmap_ipmac(O) ip_set_bitmap_ip(O) ip_set(O) ip6t_REJECT ip6t_rt
ip6t_hbh ip6t_mh ip6t_ipv6header ip6t_frag ip6t_eui64 ip6t_ah ip6table_raw
ip6table_mangle ip6table_filter ip6_tables nf_conntrack_ipv6 nf_defrag_ipv6
nfnetlink nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp xt_policy
xt_esp ipt_ah xt_HL xt_hl xt_ecn ipt_ECN xt_CLASSIFY xt_time xt_tcpmss
xt_statistic xt_mark xt_length xt_DSCP xt_dscp xt_string xt_layer7 xt_quota
xt_pkttype xt_physdev xt_owner xt_addrtype ipt_MASQUERADE iptable_nat
xt_nat nf_nat_ipv4 nf_nat xt_recent xt_helper xt_connmark xt_connbytes pptp
pppoe xt_conntrack xt_CT iptable_raw xt_state nf_conntrack_ipv4
nf_defrag_ipv4 nf_conntrack ehci_hcd sd_mod pppox ipt_REJECT xt_TCPMSS
xt_LOG xt_comment xt_multiport xt_mac xt_limit iptable_mangle
iptable_filter ip_tables xt_tcpudp x_tables ip_gre gre ifb sit ipcomp
xfrm4_tunnel xfrm4_mode_tunnel xfrm4_mode_transport xfrm4_mode_beet esp4
ah4 tunnel4 tun tcp_ledbat(O) ppp_async ppp_generic slhc af_key xfrm_user
xfrm_ipcomp xfrm_algo vfat fat ext4 jbd2 mbcache autofs4 button_hotplug(O)
ath9k(O) ath9k_common(O) ath9k_hw(O) ath(O) nls_utf8 nls_iso8859_2
nls_iso8859_15 nls_iso8859_13 nls_iso8859_1 nls_cp437 mac80211(O) usbcore
usb_common scsi_mod nls_base ts_fsm ts_bm ts_kmp crc16 crc_ccitt ipv6
input_polldev cfg80211(O) compat(O) input_core sha1_generic md5 hmac
des_generic deflate cbc authenc arc4 zlib_inflate zlib_deflate
ledtrig_timer ledtrig_default_on leds_gpio gpio_button_hotplug(O)
[  720.230000] Call Trace:
[  720.240000] [<802a31c4>] dump_stack+0x8/0x34
[  720.240000] [<80071e34>] warn_slowpath_common+0x78/0xa4
[  720.250000] [<80071e78>] warn_slowpath_null+0x18/0x24
[  720.250000] [<86d24f6c>] __ieee80211_vif_release_channel+0x1d0/0x254
[mac80211]
[  720.260000] [<86d253c0>] ieee80211_vif_release_channel+0x4c/0x64
[mac80211]
[  720.270000] [<86d14c8c>] ieee80211_stop_ap+0x194/0x1bc [mac80211]
[  720.270000] [<86c1c50c>] cfg80211_stop_ap+0x78/0xbc [cfg80211]
[  720.280000] [<8022c1ac>] genl_rcv_msg+0x1ec/0x234
[  720.280000] [<8022b57c>] netlink_rcv_skb+0x6c/0xe4
[  720.290000] [<8022bfb0>] genl_rcv+0x24/0x34
[  720.290000] [<8022aeb0>] netlink_unicast+0x164/0x248
[  720.300000] [<8022b334>] netlink_sendmsg+0x2c4/0x350
[  720.300000] [<801f7064>] sock_sendmsg+0x80/0xb0
[  720.310000] [<801f733c>] __sys_sendmsg+0x1a0/0x240
[  720.310000] [<801f91b8>] sys_sendmsg+0x48/0x7c
[  720.320000] [<8006a064>] stack_done+0x20/0x40
[  720.320000]
[  720.320000] ---[ end trace 38fe65d6c26f72f3 ]---
Does it look like something new or already seen?

On Wed, Jan 16, 2013 at 10:48 PM, Dave Taht <dave.taht at gmail.com> wrote:

> At least one (possibly not new) unaligned exception trap has reared its
> head in addrconf_prefix_rcv.
>
> https://www.bufferbloat.net/issues/419
>
> This is a bad place for one! a network burp heisenbug....
>
> On Wed, Jan 16, 2013 at 4:12 PM, Maciej Soltysiak <maciej at soltysiak.com>wrote:
>
>> Good build! I have to report that the issue with polipo, DNS and TFO that
>> I observed with 3.7.1-1 seems resolved.
>> Test with and without TFO.
>> Ketan, I won't post a bug unless it appears again.
>>
>
> What I saw (Ages ago) was that dns would stop working over time in polipo.
>
>
>>
>> Regards.
>> Maciej
>> On Wed, Jan 16, 2013 at 12:37 PM, Dave Taht <dave.taht at gmail.com> wrote:
>>
>>> It's at:
>>>
>>> http://snapon.lab.bufferbloat.net/~cero2/cerowrt/wndr/3.7.2-3/
>>>
>>> It seems pretty stable but with the ipv6 churn...
>>>
>>> [insert my std hyperbolic warnings about exposing the release to
>>> default gws in front of spouses or young children]
>>>
>>> features:
>>>
>>> + dnsmasq 2.66test10
>>> + merge with openwrt head
>>> + new unaligned access code from openwrt head (by nbd) and the
>>> remainder of the older unaligned patch set (by robert bradley) ported
>>> to work on top of that
>>>
>>> I have not checked to see if all traps are gone, you can look at that via
>>> files in /sys/debug/kernel/mips/
>>>
>>>  - it's mostly the ipv6 related traps I'm concerned about...
>>>
>>> The checksum routine changed and I did check checksums on a variety of
>>> ipv4 ethernet traffic, but not enough to feel assured.
>>>
>>> + Bug fixed https://www.bufferbloat.net/issues/418
>>>
>>> BUG_ON removed on TFO support in the kernel. TFO works. I tested it by:
>>>
>>> echo 3 > /proc/sys/net/ipv4/tcp_fastopen
>>> editing /etc/init.d/polipo to add support for a boolean useTCPFastOpen
>>> parameter
>>> adding that parameter to /etc/config/polipo
>>> testing with the current version of httping
>>>
>>> I will update the init script and config in the next spin.
>>>
>>> ...
>>>
>>> The churn in how to setup ipv6 sanely continues. The configuration for
>>> how to do it has changed significantly again and is documented at:
>>>
>>> http://wiki.openwrt.org/doc/uci/network6
>>>
>>> It's not clear to me to state of the ipv6 dnsmasq integration now.
>>> There is much discussion on the dnsmasq-discuss list as to how to do
>>> prefix-independent configuration as one example.
>>>
>>> as for the ipv6 related changes just now come down from openwrt,
>>> steven barth tells me that:
>>>
>>> "6distributed functionality (prefix delegation) was merged into netifd
>>> for size reasons.
>>> The shell mess which was ipv6-support was abandoned.
>>>
>>> dhcpv6 is now a regular network proto in netifd (which can be added
>>> ontop of other ipv4-wan types or separately for ipv6-only).
>>>
>>> network6 is unnecessary now. 6rd, 6to4 now automatically publish their
>>> prefix. 6in4 adds a new option ip6prefix for adding the routed prefix.
>>>
>>> LANs / WLANs which want a prefix now just add a option ip6assign 64 to
>>> the interface definition.
>>>
>>> See examples in: http://wiki.openwrt.org/doc/uci/network6
>>>
>>> Prefix Announcement / DHCPv6 / Relaying has been untangled and should
>>> be moved into the respective daemon config / init. I've done this for
>>> 6relayd.
>>>
>>> For dnsmasq you will have to add config support similar to what is
>>> done for DHCP in IPv4, so it should be easy to adapt. Maybe some of
>>> the CeroWrt contributors like to add that.
>>>
>>> I also haven't looked at NPT yet. I've removed the shell-script mess
>>> for now as we will not have all targets up to 3.7 in the coming weeks
>>> and therefore also not a new ip6tables."
>>>
>>> AHCP is still lost and lonely in the configuration.
>>>
>>> I took a stab at enabling ipv6 NPT support myself in this release, but
>>> the changes I'd made to the openwrt configuration didn't successfully
>>> get the modules to compile nor create a package. My *non-working
>>> patch* looked like this, and suggestions as to what sort of magic wand
>>> to wave over it welcomed.
>>>
>>> diff --git a/include/netfilter.mk b/include/netfilter.mk
>>> index 1d89e6d..3d65f76 100644
>>> --- a/include/netfilter.mk
>>> +++ b/include/netfilter.mk
>>> @@ -154,10 +154,14 @@ $(eval $(call
>>> nf_add,IPT_IPV6,CONFIG_IP6_NF_MATCH_RT, $(P_V6)ip6t_rt))
>>>
>>>  $(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_TARGET_LOG,
>>> $(P_V6)ip6t_LOG))
>>>  $(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_TARGET_REJECT,
>>> $(P_V6)ip6t_REJECT))
>>> +$(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_NAT, $(P_V6)nf_nat_ipv6))
>>> +$(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_TARGET_MASQUERADE,
>>> $(P_V6)ip6t_MASQUERADE))
>>> +$(eval $(call nf_add,IPT_IPv6,CONFIG_IP6_NF_TARGET_NPT,
>>> $(P_V6)ip6t_NPT))
>>>
>>>  # nat
>>>
>>>  # kernel only
>>> +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_NAT,
>>> $(P_V6)nf_nat_ipv6, ge 3.7.0),))
>>>  $(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT,CONFIG_NF_NAT,
>>> $(P_XT)nf_nat $(P_V4)nf_nat_ipv4 $(P_XT)xt_nat $(P_V4)iptable_nat, ge
>>> 3.7.0),))
>>>  $(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT,CONFIG_NF_NAT,
>>> $(P_V4)nf_nat $(P_V4)iptable_nat, lt 3.7.0),))
>>>
>>> diff --git a/package/kernel/modules/netfilter.mk
>>> b/package/kernel/modules/netfilter.mk
>>> index 69bdba0..d862c32 100644
>>> --- a/package/kernel/modules/netfilter.mk
>>> +++ b/package/kernel/modules/netfilter.mk
>>> @@ -164,6 +164,23 @@ endef
>>>
>>>  $(eval $(call KernelPackage,ipt-nat))
>>>
>>> +define KernelPackage/ipt-nat6
>>> +  TITLE:=Basic NAT targets for IPv6
>>> +  KCONFIG:=$(KCONFIG_IPT_NAT6)
>>> +  FILES:=$(foreach mod,$(IPT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
>>> +  AUTOLOAD:=$(call AutoLoad,42,$(notdir $(IPT_NAT6-m)))
>>> +  $(call AddDepends/ipt)
>>> +endef
>>> +
>>> +define KernelPackage/ipt-nat6/description
>>> + Netfilter (IPv6) kernel modules for basic NAT targets
>>> + Includes:
>>> + - MASQUERADE
>>> + - NPT
>>> +endef
>>> +
>>> +$(eval $(call KernelPackage,ipt-nat6))
>>> +
>>>
>>>  define KernelPackage/ipt-nat-extra
>>>    TITLE:=Extra NAT targets
>>>
>>>
>>> --
>>> Dave Täht
>>>
>>> Fixing bufferbloat with cerowrt:
>>> http://www.teklibre.com/cerowrt/subscribe.html
>>> _______________________________________________
>>> Cerowrt-devel mailing list
>>> Cerowrt-devel at lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>>>
>>
>>
>
>
> --
> Dave Täht
>
> Fixing bufferbloat with cerowrt:
> http://www.teklibre.com/cerowrt/subscribe.html
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/cerowrt-devel/attachments/20130116/90fc67fb/attachment-0002.html>


More information about the Cerowrt-devel mailing list