ses is also a pointer to struct session which is passed into this particular
function "verify_packet".
int verify_packet(struct session *ses, struct pppoe_packet *p)
This function uses TAG_DATA to set hu_val, which is also a pointer to struct
session, and then it compares hu_val to ses which always fails.
hu_val = *TAG_DATA(struct session *, p->tags[TAG_HOST_UNIQ];
if (hu_val != ses)
. . .This is the error case generating the message....
TAG_DATA behaves differently under arm versus x86.
#define TAG_DATA(type, tag_ptr) ((type *) tag_ptr+1)
Thanks,
David
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Russell King
- ARM Linux
Sent: Wednesday, April 04, 2001 8:41 AM
To: David Milburn
Cc: Doug Dunlop; [EMAIL PROTECTED]
Subject: Re: pppoe using 2.4 kernel
David Milburn writes:
> Russell,
I'm sorry, I still don't see the problem - what is 'ses'? This doesn't
seem to be part of the kernel, so I don't have the sources to hand.
> > This is causing the failure in verify_packet where hu_val is set, if you
> > printf the value of 'ses' you will probably see that the f1a0 is
correct,
> it
> > is the 0400 causing the miscompare.
_____
|_____| ------------------------------------------------- ---+---+-
| | Russell King [EMAIL PROTECTED] --- ---
| | | | http://www.arm.linux.org.uk/ / / |
| +-+-+ --- -+-
/ | THE developer of ARM Linux |+| /|\
/ | | | --- |
+-+-+ ------------------------------------------------- /\\\ |
_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
Please visit the above address for information on this list.
_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
Please visit the above address for information on this list.