]> git.hungrycats.org Git - linux/commitdiff
[SNAP] make SNAP work again
authorArnaldo Carvalho de Melo <acme@conectiva.com.br>
Wed, 25 Sep 2002 22:43:10 +0000 (19:43 -0300)
committerDavid S. Miller <davem@nuts.ninka.net>
Wed, 25 Sep 2002 22:43:10 +0000 (19:43 -0300)
Stupid me, this is really needed, IPX as it supports several datalink_protos
and needs pt->type to find the right interface. Appletalk doesn't care, so
it worked without this. And these are the only snap users in the kernel.

net/802/psnap.c

index b0dfa847ae0cd3bcdc8b80a0f216bd24daed764b..f47ad9a47ae1c10cf73955251f919bb17f99f245 100644 (file)
@@ -56,12 +56,15 @@ static int snap_rcv(struct sk_buff *skb, struct net_device *dev,
 {
        int rc = 1;
        struct datalink_proto *proto = find_snap_client(skb->h.raw);
+       static struct packet_type snap_packet_type = {
+               .type = __constant_htons(ETH_P_SNAP),
+       };
 
        if (proto) {
                /* Pass the frame on. */
                skb->h.raw  += 5;
                skb_pull(skb, 5);
-               rc = proto->rcvfunc(skb, dev, pt);
+               rc = proto->rcvfunc(skb, dev, &snap_packet_type);
        } else {
                skb->sk = NULL;
                kfree_skb(skb);