bridge: multicast: call skb_checksum_{simple_, }validate
Let's use these new, neat helpers. Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
c19ae86a51
Коммит
3c9e4f8700
|
@ -1610,16 +1610,8 @@ static int br_multicast_ipv4_rcv(struct net_bridge *br,
|
|||
if (!pskb_may_pull(skb2, sizeof(*ih)))
|
||||
goto out;
|
||||
|
||||
switch (skb2->ip_summed) {
|
||||
case CHECKSUM_COMPLETE:
|
||||
if (!csum_fold(skb2->csum))
|
||||
break;
|
||||
/* fall through */
|
||||
case CHECKSUM_NONE:
|
||||
skb2->csum = 0;
|
||||
if (skb_checksum_complete(skb2))
|
||||
if (skb_checksum_simple_validate(skb2))
|
||||
goto out;
|
||||
}
|
||||
|
||||
err = 0;
|
||||
|
||||
|
@ -1737,20 +1729,8 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
|
|||
|
||||
ip6h = ipv6_hdr(skb2);
|
||||
|
||||
switch (skb2->ip_summed) {
|
||||
case CHECKSUM_COMPLETE:
|
||||
if (!csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, skb2->len,
|
||||
IPPROTO_ICMPV6, skb2->csum))
|
||||
break;
|
||||
/*FALLTHROUGH*/
|
||||
case CHECKSUM_NONE:
|
||||
skb2->csum = ~csum_unfold(csum_ipv6_magic(&ip6h->saddr,
|
||||
&ip6h->daddr,
|
||||
skb2->len,
|
||||
IPPROTO_ICMPV6, 0));
|
||||
if (__skb_checksum_complete(skb2))
|
||||
if (skb_checksum_validate(skb2, IPPROTO_ICMPV6, ip6_compute_pseudo))
|
||||
goto out;
|
||||
}
|
||||
|
||||
err = 0;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче