Sebastian Smolorz wrote: > Hi Wolfgang, > > we currently face an issue regarding the filtering of CAN messages since > Xenomai 2.4. It was introduced in rev. 2202 (I know it is long ago but > the problem popped up last week). The line in question is > > http://www.rts.uni-hannover.de/xenomai/lxr/source/ksrc/drivers/can/rtcan_raw_filter.c?v=2.3.5#064 > > and > > http://www.rts.uni-hannover.de/xenomai/lxr/source/ksrc/drivers/can/rtcan_raw_filter.c?v=2.4.4#062 > > respectively. > > What worries me is the removal of the AND-operation (can_id & can_mask). > From my POV this offends the CAN specification which says that the CAN > filter mask shall indicate which bits are taken into account when > comparing a CAN identifier and which shall be seen as "don't care". > > From your Changelog entry the reason for this modification was to be up > to date with the Linux Socket CAN project. So maybe there is also the > need to bring up this topic on their ML, too.
No, this looks like a Xenomai-exclusive bug. If I quick-read mainline correctly, this line prevents that bits in can_id which should be ignored according to the mask can cause problems when they are set: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=net/can/af_can.c;h=7d4d2b3c137ef6b84598d9bebd50b1a69dfaf707;hb=HEAD#l340 So, unless I'm now also misled, we are basically lacking a final recv_filter->can_id &= recv_filter->can_mask; in rtcan_raw_mount_filter. Wolfgang, correct? Jan
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core