def verify_checksum(self, source, destination):
        # An all zero transmitted checksum value means that the transmitter
        # generated no checksum (for debugging or for higher level protocols
        # that don't care).
        if self.checksum == 0:
            return True

        return self.checksum == self.calculate_checksum(source, destination)