|
@@ -123,8 +123,14 @@ static void new_aggregated_packet(unsigned char *packet_buff, int packet_len,
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- forw_packet_aggr->skb = dev_alloc_skb(MAX_AGGREGATION_BYTES +
|
|
|
|
- sizeof(struct ethhdr));
|
|
|
|
|
|
+ if ((atomic_read(&bat_priv->aggregation_enabled)) &&
|
|
|
|
+ (packet_len < MAX_AGGREGATION_BYTES))
|
|
|
|
+ forw_packet_aggr->skb = dev_alloc_skb(MAX_AGGREGATION_BYTES +
|
|
|
|
+ sizeof(struct ethhdr));
|
|
|
|
+ else
|
|
|
|
+ forw_packet_aggr->skb = dev_alloc_skb(packet_len +
|
|
|
|
+ sizeof(struct ethhdr));
|
|
|
|
+
|
|
if (!forw_packet_aggr->skb) {
|
|
if (!forw_packet_aggr->skb) {
|
|
if (!own_packet)
|
|
if (!own_packet)
|
|
atomic_inc(&bat_priv->batman_queue_left);
|
|
atomic_inc(&bat_priv->batman_queue_left);
|