aboutsummaryrefslogtreecommitdiffstats
path: root/net/batman-adv/bat_iv_ogm.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/batman-adv/bat_iv_ogm.c')
-rw-r--r--net/batman-adv/bat_iv_ogm.c57
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