[NET] snap: needs hardware checksum fix
The SNAP code pops off it's 5 byte header, but doesn't adjust the checksum. This would cause problems when using device that does IP over SNAP and hardware receive checksums. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
1113a7e92e
Коммит
42c5e15f18
|
@ -59,8 +59,10 @@ static int snap_rcv(struct sk_buff *skb, struct net_device *dev,
|
|||
proto = find_snap_client(skb->h.raw);
|
||||
if (proto) {
|
||||
/* Pass the frame on. */
|
||||
u8 *hdr = skb->data;
|
||||
skb->h.raw += 5;
|
||||
skb_pull(skb, 5);
|
||||
skb_postpull_rcsum(skb, hdr, 5);
|
||||
rc = proto->rcvfunc(skb, dev, &snap_packet_type, orig_dev);
|
||||
} else {
|
||||
skb->sk = NULL;
|
||||
|
|
Загрузка…
Ссылка в новой задаче