diff options
Diffstat (limited to 'net/batman-adv/bat_iv_ogm.c')
-rw-r--r-- | net/batman-adv/bat_iv_ogm.c | 57 |
1 files changed, 23 insertions, 34 deletions
diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c index 2b66daef1ef6..a6d5d63fb6ad 100644 --- a/net/batman-adv/bat_iv_ogm.c +++ b/net/batman-adv/bat_iv_ogm.c | |||
@@ -132,8 +132,7 @@ static void bat_iv_ogm_send_to_if(struct forw_packet *forw_packet, | |||
132 | "Sending own" : | 132 | "Sending own" : |
133 | "Forwarding")); | 133 | "Forwarding")); |
134 | bat_dbg(DBG_BATMAN, bat_priv, | 134 | bat_dbg(DBG_BATMAN, bat_priv, |
135 | "%s %spacket (originator %pM, seqno %d, TQ %d, TTL %d," | 135 | "%s %spacket (originator %pM, seqno %d, TQ %d, TTL %d, IDF %s, ttvn %d) on interface %s [%pM]\n", |
136 | " IDF %s, ttvn %d) on interface %s [%pM]\n", | ||
137 | fwd_str, (packet_num > 0 ? "aggregated " : ""), | 136 | fwd_str, (packet_num > 0 ? "aggregated " : ""), |
138 | batman_ogm_packet->orig, | 137 | batman_ogm_packet->orig, |
139 | ntohl(batman_ogm_packet->seqno), | 138 | ntohl(batman_ogm_packet->seqno), |
@@ -171,8 +170,7 @@ static void bat_iv_ogm_emit(struct forw_packet *forw_packet) | |||
171 | directlink = (batman_ogm_packet->flags & DIRECTLINK ? 1 : 0); | 170 | directlink = (batman_ogm_packet->flags & DIRECTLINK ? 1 : 0); |
172 | 171 | ||
173 | if (!forw_packet->if_incoming) { | 172 | if (!forw_packet->if_incoming) { |
174 | pr_err("Error - can't forward packet: incoming iface not " | 173 | pr_err("Error - can't forward packet: incoming iface not specified\n"); |
175 | "specified\n"); | ||
176 | goto out; | 174 | goto out; |
177 | } | 175 | } |
178 | 176 | ||
@@ -193,8 +191,7 @@ static void bat_iv_ogm_emit(struct forw_packet *forw_packet) | |||
193 | 191 | ||
194 | /* FIXME: what about aggregated packets ? */ | 192 | /* FIXME: what about aggregated packets ? */ |
195 | bat_dbg(DBG_BATMAN, bat_priv, | 193 | bat_dbg(DBG_BATMAN, bat_priv, |
196 | "%s packet (originator %pM, seqno %d, TTL %d) " | 194 | "%s packet (originator %pM, seqno %d, TTL %d) on interface %s [%pM]\n", |
197 | "on interface %s [%pM]\n", | ||
198 | (forw_packet->own ? "Sending own" : "Forwarding"), | 195 | (forw_packet->own ? "Sending own" : "Forwarding"), |
199 | batman_ogm_packet->orig, | 196 | batman_ogm_packet->orig, |
200 | ntohl(batman_ogm_packet->seqno), | 197 | ntohl(batman_ogm_packet->seqno), |
@@ -508,8 +505,7 @@ static void bat_iv_ogm_forward(struct orig_node *orig_node, | |||
508 | batman_ogm_packet->tq = hop_penalty(batman_ogm_packet->tq, bat_priv); | 505 | batman_ogm_packet->tq = hop_penalty(batman_ogm_packet->tq, bat_priv); |
509 | 506 | ||
510 | bat_dbg(DBG_BATMAN, bat_priv, | 507 | bat_dbg(DBG_BATMAN, bat_priv, |
511 | "Forwarding packet: tq_orig: %i, tq_avg: %i, " | 508 | "Forwarding packet: tq_orig: %i, tq_avg: %i, tq_forw: %i, ttl_orig: %i, ttl_forw: %i\n", |
512 | "tq_forw: %i, ttl_orig: %i, ttl_forw: %i\n", | ||
513 | in_tq, tq_avg, batman_ogm_packet->tq, in_ttl - 1, | 509 | in_tq, tq_avg, batman_ogm_packet->tq, in_ttl - 1, |
514 | batman_ogm_packet->header.ttl); | 510 | batman_ogm_packet->header.ttl); |
515 | 511 | ||
@@ -589,8 +585,8 @@ static void bat_iv_ogm_orig_update(struct bat_priv *bat_priv, | |||
589 | struct hlist_node *node; | 585 | struct hlist_node *node; |
590 | uint8_t bcast_own_sum_orig, bcast_own_sum_neigh; | 586 | uint8_t bcast_own_sum_orig, bcast_own_sum_neigh; |
591 | 587 | ||
592 | bat_dbg(DBG_BATMAN, bat_priv, "update_originator(): " | 588 | bat_dbg(DBG_BATMAN, bat_priv, |
593 | "Searching and updating originator entry of received packet\n"); | 589 | "update_originator(): Searching and updating originator entry of received packet\n"); |
594 | 590 | ||
595 | rcu_read_lock(); | 591 | rcu_read_lock(); |
596 | hlist_for_each_entry_rcu(tmp_neigh_node, node, | 592 | hlist_for_each_entry_rcu(tmp_neigh_node, node, |
@@ -783,8 +779,7 @@ static int bat_iv_ogm_calc_tq(struct orig_node *orig_node, | |||
783 | * information */ | 779 | * information */ |
784 | tq_own = (TQ_MAX_VALUE * total_count) / neigh_rq_count; | 780 | tq_own = (TQ_MAX_VALUE * total_count) / neigh_rq_count; |
785 | 781 | ||
786 | /* | 782 | /* 1 - ((1-x) ** 3), normalized to TQ_MAX_VALUE this does |
787 | * 1 - ((1-x) ** 3), normalized to TQ_MAX_VALUE this does | ||
788 | * affect the nearly-symmetric links only a little, but | 783 | * affect the nearly-symmetric links only a little, but |
789 | * punishes asymmetric links more. This will give a value | 784 | * punishes asymmetric links more. This will give a value |
790 | * between 0 and TQ_MAX_VALUE | 785 | * between 0 and TQ_MAX_VALUE |
@@ -802,10 +797,7 @@ static int bat_iv_ogm_calc_tq(struct orig_node *orig_node, | |||
802 | (TQ_MAX_VALUE * TQ_MAX_VALUE)); | 797 | (TQ_MAX_VALUE * TQ_MAX_VALUE)); |
803 | 798 | ||
804 | bat_dbg(DBG_BATMAN, bat_priv, | 799 | bat_dbg(DBG_BATMAN, bat_priv, |
805 | "bidirectional: " | 800 | "bidirectional: orig = %-15pM neigh = %-15pM => own_bcast = %2i, real recv = %2i, local tq: %3i, asym_penalty: %3i, total tq: %3i\n", |
806 | "orig = %-15pM neigh = %-15pM => own_bcast = %2i, " | ||
807 | "real recv = %2i, local tq: %3i, asym_penalty: %3i, " | ||
808 | "total tq: %3i\n", | ||
809 | orig_node->orig, orig_neigh_node->orig, total_count, | 801 | orig_node->orig, orig_neigh_node->orig, total_count, |
810 | neigh_rq_count, tq_own, tq_asym_penalty, batman_ogm_packet->tq); | 802 | neigh_rq_count, tq_own, tq_asym_penalty, batman_ogm_packet->tq); |
811 | 803 | ||
@@ -933,9 +925,7 @@ static void bat_iv_ogm_process(const struct ethhdr *ethhdr, | |||
933 | batman_ogm_packet->orig) ? 1 : 0); | 925 | batman_ogm_packet->orig) ? 1 : 0); |
934 | 926 | ||
935 | bat_dbg(DBG_BATMAN, bat_priv, | 927 | bat_dbg(DBG_BATMAN, bat_priv, |
936 | "Received BATMAN packet via NB: %pM, IF: %s [%pM] " | 928 | "Received BATMAN packet via NB: %pM, IF: %s [%pM] (from OG: %pM, via prev OG: %pM, seqno %d, ttvn %u, crc %u, changes %u, td %d, TTL %d, V %d, IDF %d)\n", |
937 | "(from OG: %pM, via prev OG: %pM, seqno %d, ttvn %u, " | ||
938 | "crc %u, changes %u, td %d, TTL %d, V %d, IDF %d)\n", | ||
939 | ethhdr->h_source, if_incoming->net_dev->name, | 929 | ethhdr->h_source, if_incoming->net_dev->name, |
940 | if_incoming->net_dev->dev_addr, batman_ogm_packet->orig, | 930 | if_incoming->net_dev->dev_addr, batman_ogm_packet->orig, |
941 | batman_ogm_packet->prev_sender, batman_ogm_packet->seqno, | 931 | batman_ogm_packet->prev_sender, batman_ogm_packet->seqno, |
@@ -978,16 +968,15 @@ static void bat_iv_ogm_process(const struct ethhdr *ethhdr, | |||
978 | 968 | ||
979 | if (is_my_addr) { | 969 | if (is_my_addr) { |
980 | bat_dbg(DBG_BATMAN, bat_priv, | 970 | bat_dbg(DBG_BATMAN, bat_priv, |
981 | "Drop packet: received my own broadcast (sender: %pM" | 971 | "Drop packet: received my own broadcast (sender: %pM)\n", |
982 | ")\n", | ||
983 | ethhdr->h_source); | 972 | ethhdr->h_source); |
984 | return; | 973 | return; |
985 | } | 974 | } |
986 | 975 | ||
987 | if (is_broadcast) { | 976 | if (is_broadcast) { |
988 | bat_dbg(DBG_BATMAN, bat_priv, "Drop packet: " | 977 | bat_dbg(DBG_BATMAN, bat_priv, |
989 | "ignoring all packets with broadcast source addr (sender: %pM" | 978 | "Drop packet: ignoring all packets with broadcast source addr (sender: %pM)\n", |
990 | ")\n", ethhdr->h_source); | 979 | ethhdr->h_source); |
991 | return; | 980 | return; |
992 | } | 981 | } |
993 | 982 | ||
@@ -1017,16 +1006,16 @@ static void bat_iv_ogm_process(const struct ethhdr *ethhdr, | |||
1017 | spin_unlock_bh(&orig_neigh_node->ogm_cnt_lock); | 1006 | spin_unlock_bh(&orig_neigh_node->ogm_cnt_lock); |
1018 | } | 1007 | } |
1019 | 1008 | ||
1020 | bat_dbg(DBG_BATMAN, bat_priv, "Drop packet: " | 1009 | bat_dbg(DBG_BATMAN, bat_priv, |
1021 | "originator packet from myself (via neighbor)\n"); | 1010 | "Drop packet: originator packet from myself (via neighbor)\n"); |
1022 | orig_node_free_ref(orig_neigh_node); | 1011 | orig_node_free_ref(orig_neigh_node); |
1023 | return; | 1012 | return; |
1024 | } | 1013 | } |
1025 | 1014 | ||
1026 | if (is_my_oldorig) { | 1015 | if (is_my_oldorig) { |
1027 | bat_dbg(DBG_BATMAN, bat_priv, | 1016 | bat_dbg(DBG_BATMAN, bat_priv, |
1028 | "Drop packet: ignoring all rebroadcast echos (sender: " | 1017 | "Drop packet: ignoring all rebroadcast echos (sender: %pM)\n", |
1029 | "%pM)\n", ethhdr->h_source); | 1018 | ethhdr->h_source); |
1030 | return; | 1019 | return; |
1031 | } | 1020 | } |
1032 | 1021 | ||
@@ -1039,8 +1028,8 @@ static void bat_iv_ogm_process(const struct ethhdr *ethhdr, | |||
1039 | 1028 | ||
1040 | if (is_duplicate == -1) { | 1029 | if (is_duplicate == -1) { |
1041 | bat_dbg(DBG_BATMAN, bat_priv, | 1030 | bat_dbg(DBG_BATMAN, bat_priv, |
1042 | "Drop packet: packet within seqno protection time " | 1031 | "Drop packet: packet within seqno protection time (sender: %pM)\n", |
1043 | "(sender: %pM)\n", ethhdr->h_source); | 1032 | ethhdr->h_source); |
1044 | goto out; | 1033 | goto out; |
1045 | } | 1034 | } |
1046 | 1035 | ||
@@ -1061,8 +1050,8 @@ static void bat_iv_ogm_process(const struct ethhdr *ethhdr, | |||
1061 | batman_ogm_packet->prev_sender)) && | 1050 | batman_ogm_packet->prev_sender)) && |
1062 | (compare_eth(router->addr, router_router->addr))) { | 1051 | (compare_eth(router->addr, router_router->addr))) { |
1063 | bat_dbg(DBG_BATMAN, bat_priv, | 1052 | bat_dbg(DBG_BATMAN, bat_priv, |
1064 | "Drop packet: ignoring all rebroadcast packets that " | 1053 | "Drop packet: ignoring all rebroadcast packets that may make me loop (sender: %pM)\n", |
1065 | "may make me loop (sender: %pM)\n", ethhdr->h_source); | 1054 | ethhdr->h_source); |
1066 | goto out; | 1055 | goto out; |
1067 | } | 1056 | } |
1068 | 1057 | ||
@@ -1106,8 +1095,8 @@ static void bat_iv_ogm_process(const struct ethhdr *ethhdr, | |||
1106 | bat_iv_ogm_forward(orig_node, ethhdr, batman_ogm_packet, | 1095 | bat_iv_ogm_forward(orig_node, ethhdr, batman_ogm_packet, |
1107 | 1, if_incoming); | 1096 | 1, if_incoming); |
1108 | 1097 | ||
1109 | bat_dbg(DBG_BATMAN, bat_priv, "Forwarding packet: " | 1098 | bat_dbg(DBG_BATMAN, bat_priv, |
1110 | "rebroadcast neighbor packet with direct link flag\n"); | 1099 | "Forwarding packet: rebroadcast neighbor packet with direct link flag\n"); |
1111 | goto out_neigh; | 1100 | goto out_neigh; |
1112 | } | 1101 | } |
1113 | 1102 | ||