From 3df9750d387f04a4661047855a50ec2e6963f535 Mon Sep 17 00:00:00 2001 From: Justin Pettit Date: Thu, 12 Jun 2008 20:07:11 -0700 Subject: [PATCH] Fix identification of SNAP packets. The result of the memcmp that checks whether the OUI is all zeroes was the reverse of what it should have been. This checkin also removes the masking of the least signficant bit from SAP checks, since it's not need for checking SNAP. Thanks to Masa and Brandon for catching this. --- datapath/snap.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/datapath/snap.h b/datapath/snap.h index 446b5f22..0d39a622 100644 --- a/datapath/snap.h +++ b/datapath/snap.h @@ -19,9 +19,9 @@ static inline int snap_get_ethertype(struct sk_buff *skb, uint16_t *ethertype) { struct snap_hdr *sh = (struct snap_hdr *)(skb->data + sizeof(struct ethhdr)); - if (((sh->dsap & 0xFE) != LLC_SAP_SNAP) - || ((sh->ssap & 0xFE) != LLC_SAP_SNAP) - || (!memcmp(sh->oui, "\0\0\0", SNAP_OUI_LEN))) + if ((sh->dsap != LLC_SAP_SNAP) + || (sh->ssap != LLC_SAP_SNAP) + || (memcmp(sh->oui, "\0\0\0", SNAP_OUI_LEN))) return -EINVAL; *ethertype = sh->ethertype; -- 2.30.2