diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 2f589f24c09397fa58cffe9d54ec866b02e78598..563b442ffab8fcabd26292199a340499cddd4fbb 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c @@ -666,7 +666,7 @@ static int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *)) */ fh->nexthdr = nexthdr; fh->reserved = 0; - if (frag_id) { + if (!frag_id) { ipv6_select_ident(skb, fh); frag_id = fh->identification; } else