CAN bus filter-mask configuration
I'm trying to develop a "bootloader via CANbus" for a dspic33f; the bootloader is divided in two parts, a desktop application (on my PC) which takes a binary file, sends it via CANbus (in small 8 bytes packages) to the dispic33f on which there is the second part of the bootloader application, which writes another part of the memory with the instructions contained in the binary file.
The communication between PC and dispic33f is done via a PEAK usb-can interface, and the desktop application has been developed using PEAK's libraries.
My problem is the following: the bootloader works just fine when I only have two nodes on the bus (the PEAK usb-canbus dongle and the dspic33f) but if there are other nodes on the bus (even only one more), the dspic33f part of the application doesn't work, presenting the error IVRIF from ecan module at some point, causing the bus to go bus-off.
What I'd like to know is: supposed I've correctly configured filters and masks to read only CAN-messages with a specific ID (selected to be the ID of messages coming from my PC via the PEAK dongle), shouldn't this imply that the presence of other nodes in the bus should not affect the transreceiver of my dspic33f?
Am I wrong in understanding the filtering mechanism?