On Monday 01 February 2016 15:21:37 Simon Wunderlich wrote:
From: Simon Wunderlich simon@open-mesh.com
To match our code better to the protocol description of B.A.T.M.A.N. V, move batadv_v_ogm_forward() out into batadv_v_ogm_process_per_outif() and move all checks directly deciding whether the OGM should be forwarded into batadv_v_ogm_forward().
Signed-off-by: Simon Wunderlich simon@open-mesh.com
Changes to PATCH:
- fix some embarassing compile issues and style issues (thanks Marek)
This patch crashes my two node test setup (2xOM2P-HS).
/etc/config/wireless: ====================
config wifi-iface 'wmesh' option device 'radio0' option ifname 'adhoc0' option network 'batnet' option mode 'adhoc' option ssid 'mesh' option 'mcast_rate' '18000' option bssid '02:CA:FE:CA:CA:40'
/etc/config/network ===================
config interface 'batnet' option mtu '1532' option proto 'batadv' option mesh 'bat0' option routing_algo 'BATMAN_V'
[ 21.690000] CPU 0 Unable to handle kernel paging request at virtual address 0000000c, epc == 83183d04, ra == 83183cf8 [ 21.700000] Oops[#1]: [ 21.700000] CPU: 0 PID: 1152 Comm: udhcpc Tainted: P 3.18.8 #1 [ 21.700000] task: 83987070 ti: 8298e000 task.ti: 8298e000 [ 21.700000] $ 0 : 00000000 00000001 8297b400 00000001 [ 21.700000] $ 4 : 00000001 00000000 00000002 82980100 [ 21.700000] $ 8 : 00000001 0000ed7e 8297b380 c881c661 [ 21.700000] $12 : 00000000 832cf499 00000000 7fc3a8d0 [ 21.700000] $16 : 82808090 00000000 82980100 8297b400 [ 21.700000] $20 : 82951a00 8297b680 0000001c 00000000 [ 21.700000] $24 : 00000000 8021f434 [ 21.700000] $28 : 8298e000 8298f968 82951a00 83183cf8 [ 21.700000] Hi : 000003b7 [ 21.700000] Lo : 003f2fb0 [ 21.700000] epc : 83183d04 batadv_v_ogm_orig_get+0x65c/0x738 [batman_adv] [ 21.700000] Tainted: P [ 21.700000] ra : 83183cf8 batadv_v_ogm_orig_get+0x650/0x738 [batman_adv] [ 21.700000] Status: 1100f403 KERNEL EXL IE [ 21.700000] Cause : 00800008 [ 21.700000] BadVA : 0000000c [ 21.700000] PrId : 0001974c (MIPS 74Kc) [ 21.700000] Modules linked in: iptable_nat ath9k nf_nat_pptp nf_nat_ipv4 nf_nat_amanda nf_conntrack_pptp nf_conntrack_ipv6 nf_conntrack_ipv4 nf_conntrack_amanda ipt_REJECT ipt_MASQUERADE ath9k_common xt_time xt_tcpudp xt_tcpmss xt_string xt_statistic xt_state xt_recent xt_quota xt_pkttype xt_physdev xt_owner xt_nat xt_multiport xt_mark xt_mac xt_limit xt_length xt_id xt_hl xt_helper xt_ecn xt_dscp xt_conntrack xt_connmark xt_connlimit xt_connbytes xt_comment xt_addrtype xt_TCPMSS xt_REDIRECT xt_NETMAP xt_LOG xt_HL xt_DSCP xt_CT xt_CLASSIFY ts_kmp ts_fsm ts_bm nf_reject_ipv4 nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_proto_gre nf_nat_masquerade_ipv4 nf_nat_irc nf_nat_h323 nf_nat_ftp nf_nat nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_tftp nf_conntrack_snmp nf_conntrack_sip nf_conntrack_rtcache nf_conntrack_proto_gre nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack_broadcast iptable_raw iptable_mangle iptable_filter ipt_ECN ip_tables crc_ccitt ath9k_hw em_nbyte sch_codel sch_prio sch_dsmark act_ipt sch_gred em_meta sch_htb cls_basic sch_netem act_police em_text sch_tbf sch_sfq em_cmp sch_red act_skbedit act_mirred em_u32 cls_u32 cls_tcindex cls_flow cls_route cls_fw sch_hfsc sch_ingress tmp421 hwmon batman_adv libcrc32c crc16 ath10k_pci ath10k_core ath mac80211 cfg80211 compat UDSMARK udsmac i2c_dev tc_classid_mapper(P) filter_group classifier_dns(P) classifier_netblock(P) classifier_bittorrent(P) classifier_rtmp(P) classifier_ssl(P) classifier_content(P) classifier_skype(P) kernel_classifier nf_conntrack xt_set ip_set_list_set ip_set_hash_netport ip_set_hash_netiface ip_set_hash_net ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables ifb tun ipv6 arc4 crypto_blkcipher input_polldev gpio_button_hotplug button_hotplug input_core ag71xx crc32c_generic crypto_hash [ 21.700000] Process udhcpc (pid: 1152, threadinfo=8298e000, task=83987070, tls=77051440) [ 21.700000] Stack : 003617ec 80090cb4 80391000 839a8800 00000000 828080a4 0000001c 8340c240 0140c280 8340c2c0 00000000 8340c4c0 832cf480 831aff00 000fcc66 82980100 82951a00 82808090 82980080 828d3420 82808082 83184088 839a8858 82808082 00000d85 00000400 82980100 831aff00 00000000 80094034 00001000 00000000 82808090 828d3000 00000014 8340c580 832cf480 00000001 831aff1c 00000001 ... [ 21.700000] Call Trace: [ 21.700000] [<83183d04>] batadv_v_ogm_orig_get+0x65c/0x738 [batman_adv] [ 21.700000] [ 21.700000] Code: 10400022 00409821 9616000e <8c04000c> 24060020 0c028338 26c50022 1040001c 00408821 [ 22.050000] ---[ end trace 2f89500f9609fb9e ]--- [ 22.050000] Kernel panic - not syncing: Fatal exception in interrupt