Skip to content

Commit

Permalink
af_packet: allow packets defragmentation not only for hash fanout type
Browse files Browse the repository at this point in the history
Packets defragmentation was introduced for PACKET_FANOUT_HASH only,
see 7736d33 ("packet: Add pre-defragmentation support for ipv4
fanouts")

It may be useful to have defragmentation enabled regardless of
fanout type. Without that, the AF_PACKET user may have to:
1. Collect fragments from different rings
2. Defragment by itself

Signed-off-by: Alexander Drozdov <al.drozdov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
sorc1 authored and davem330 committed Feb 22, 2015
1 parent b9ebafb commit 3f34b24
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions net/packet/af_packet.c
Original file line number Diff line number Diff line change
Expand Up @@ -1349,14 +1349,14 @@ static int packet_rcv_fanout(struct sk_buff *skb, struct net_device *dev,
return 0;
}

if (fanout_has_flag(f, PACKET_FANOUT_FLAG_DEFRAG)) {
skb = ip_check_defrag(skb, IP_DEFRAG_AF_PACKET);
if (!skb)
return 0;
}
switch (f->type) {
case PACKET_FANOUT_HASH:
default:
if (fanout_has_flag(f, PACKET_FANOUT_FLAG_DEFRAG)) {
skb = ip_check_defrag(skb, IP_DEFRAG_AF_PACKET);
if (!skb)
return 0;
}
idx = fanout_demux_hash(f, skb, num);
break;
case PACKET_FANOUT_LB:
Expand Down

0 comments on commit 3f34b24

Please sign in to comment.