The following commit has been merged in the merge/master branch: commit 74b0a86f3c7e9884f0fcd0d055920ce365885972 Merge: 94c4c96db406fec45fcbba7cdab2aab06a6d6208 da144890cbd04784e6abcf694793d91b6107b074 Author: Antonio Quartulli ordex@autistici.org Date: Sat Oct 27 16:39:28 2012 +0200
Merge remote-tracking branch 'pkg/master' into merge/master
Conflicts: net/batman-adv/sysfs-class-net-batman-adv net/batman-adv/sysfs-class-net-mesh
diff --combined Documentation/ABI/testing/sysfs-class-net-batman-adv index 38dd762,bdc0070..bdc0070 --- a/Documentation/ABI/testing/sysfs-class-net-batman-adv +++ b/Documentation/ABI/testing/sysfs-class-net-batman-adv @@@ -1,4 -1,10 +1,10 @@@
+ What: /sys/class/net/<iface>/batman-adv/iface_status + Date: May 2010 + Contact: Marek Lindner lindner_marek@yahoo.de + Description: + Indicates the status of <iface> as it is seen by batman. + What: /sys/class/net/<iface>/batman-adv/mesh_iface Date: May 2010 Contact: Marek Lindner lindner_marek@yahoo.de @@@ -7,8 -13,3 +13,3 @@@ Description displays the batman mesh interface this <iface> currently is associated with.
- What: /sys/class/net/<iface>/batman-adv/iface_status - Date: May 2010 - Contact: Marek Lindner lindner_marek@yahoo.de - Description: - Indicates the status of <iface> as it is seen by batman. diff --combined Documentation/ABI/testing/sysfs-class-net-mesh index c81fe89,bc41da6..bc41da6 --- a/Documentation/ABI/testing/sysfs-class-net-mesh +++ b/Documentation/ABI/testing/sysfs-class-net-mesh @@@ -6,6 -6,14 +6,14 @@@ Description Indicates whether the batman protocol messages of the mesh <mesh_iface> shall be aggregated or not.
+ What: /sys/class/net/<mesh_iface>/mesh/ap_isolation + Date: May 2011 + Contact: Antonio Quartulli ordex@autistici.org + Description: + Indicates whether the data traffic going from a + wireless client to another wireless client will be + silently dropped. + What: /sys/class/net/<mesh_iface>/mesh/bonding Date: June 2010 Contact: Simon Wunderlich siwu@hrz.tu-chemnitz.de @@@ -31,14 -39,6 +39,6 @@@ Description mesh will be fragmented or silently discarded if the packet size exceeds the outgoing interface MTU.
- What: /sys/class/net/<mesh_iface>/mesh/ap_isolation - Date: May 2011 - Contact: Antonio Quartulli ordex@autistici.org - Description: - Indicates whether the data traffic going from a - wireless client to another wireless client will be - silently dropped. - What: /sys/class/net/<mesh_iface>/mesh/gw_bandwidth Date: October 2010 Contact: Marek Lindner lindner_marek@yahoo.de @@@ -60,6 -60,13 +60,13 @@@ Description Defines the selection criteria this node will use to choose a gateway if gw_mode was set to 'client'.
+ What: /sys/class/net/<mesh_iface>/mesh/hop_penalty + Date: Oct 2010 + Contact: Linus Lüssing linus.luessing@web.de + Description: + Defines the penalty which will be applied to an + originator message's tq-field on every hop. + What: /sys/class/net/<mesh_iface>/mesh/orig_interval Date: May 2010 Contact: Marek Lindner lindner_marek@yahoo.de @@@ -67,19 -74,12 +74,12 @@@ Description Defines the interval in milliseconds in which batman sends its protocol messages.
- What: /sys/class/net/<mesh_iface>/mesh/hop_penalty - Date: Oct 2010 - Contact: Linus Lüssing linus.luessing@web.de - Description: - Defines the penalty which will be applied to an - originator message's tq-field on every hop. - - What: /sys/class/net/<mesh_iface>/mesh/routing_algo - Date: Dec 2011 - Contact: Marek Lindner lindner_marek@yahoo.de + What: /sys/class/net/<mesh_iface>/mesh/routing_algo + Date: Dec 2011 + Contact: Marek Lindner lindner_marek@yahoo.de Description: - Defines the routing procotol this mesh instance - uses to find the optimal paths through the mesh. + Defines the routing procotol this mesh instance + uses to find the optimal paths through the mesh.
What: /sys/class/net/<mesh_iface>/mesh/vis_mode Date: May 2010 diff --combined net/batman-adv/bridge_loop_avoidance.c index a05b1b4,b6da6ae..b6da6ae --- a/net/batman-adv/bridge_loop_avoidance.c +++ b/net/batman-adv/bridge_loop_avoidance.c @@@ -1249,8 -1249,7 +1249,7 @@@ int batadv_bla_init(struct batadv_priv /** * batadv_bla_check_bcast_duplist * @bat_priv: the bat priv with all the soft interface information - * @bcast_packet: encapsulated broadcast frame plus batman header - * @bcast_packet_len: length of encapsulated broadcast frame plus batman header + * @skb: contains the bcast_packet to be checked * * check if it is on our broadcast list. Another gateway might * have sent the same packet because it is connected to the same backbone, @@@ -1262,20 -1261,17 +1261,17 @@@ * the same host however as this might be intended. */ int batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv, - struct batadv_bcast_packet *bcast_packet, - int bcast_packet_len) + struct sk_buff *skb) { - int i, length, curr, ret = 0; - uint8_t *content; - uint16_t crc; + int i, curr, ret = 0; + __be32 crc; + struct batadv_bcast_packet *bcast_packet; struct batadv_bcast_duplist_entry *entry;
- length = bcast_packet_len - sizeof(*bcast_packet); - content = (uint8_t *)bcast_packet; - content += sizeof(*bcast_packet); + bcast_packet = (struct batadv_bcast_packet *)skb->data;
/* calculate the crc ... */ - crc = crc16(0, content, length); + crc = batadv_skb_crc32(skb, (u8 *)(bcast_packet + 1));
spin_lock_bh(&bat_priv->bla.bcast_duplist_lock);
diff --combined net/batman-adv/bridge_loop_avoidance.h index 789cb73,196d9a0..196d9a0 --- a/net/batman-adv/bridge_loop_avoidance.h +++ b/net/batman-adv/bridge_loop_avoidance.h @@@ -31,8 -31,7 +31,7 @@@ int batadv_bla_backbone_table_seq_print void *offset); int batadv_bla_is_backbone_gw_orig(struct batadv_priv *bat_priv, uint8_t *orig); int batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv, - struct batadv_bcast_packet *bcast_packet, - int hdr_size); + struct sk_buff *skb); void batadv_bla_update_orig_address(struct batadv_priv *bat_priv, struct batadv_hard_iface *primary_if, struct batadv_hard_iface *oldif); @@@ -81,8 -80,7 +80,7 @@@ static inline int batadv_bla_is_backbon
static inline int batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv, - struct batadv_bcast_packet *bcast_packet, - int hdr_size) + struct sk_buff *skb) { return 0; } diff --combined net/batman-adv/routing.c index 5da62df,5da7724..5da7724 --- a/net/batman-adv/routing.c +++ b/net/batman-adv/routing.c @@@ -1181,16 -1181,12 +1181,12 @@@ int batadv_recv_bcast_packet(struct sk_
spin_unlock_bh(&orig_node->bcast_seqno_lock);
- /* keep skb linear for crc calculation */ - if (skb_linearize(skb) < 0) + /* check whether this has been sent by another originator before */ + if (batadv_bla_check_bcast_duplist(bat_priv, skb)) goto out;
bcast_packet = (struct batadv_bcast_packet *)skb->data;
- /* check whether this has been sent by another originator before */ - if (batadv_bla_check_bcast_duplist(bat_priv, bcast_packet, skb->len)) - goto out; - /* rebroadcast packet */ batadv_add_bcast_packet_to_list(bat_priv, skb, 1);
diff --combined net/batman-adv/types.h index 7b3d0d7,ae9ac9a..ae9ac9a --- a/net/batman-adv/types.h +++ b/net/batman-adv/types.h @@@ -156,7 -156,7 +156,7 @@@ struct batadv_neigh_node #ifdef CONFIG_BATMAN_ADV_BLA struct batadv_bcast_duplist_entry { uint8_t orig[ETH_ALEN]; - uint16_t crc; + __be32 crc; unsigned long entrytime; }; #endif