Bring Up CAN Interface in Container using Udev

I am trying to bring up the CAN interface using udev. I am able to execute the command /sbin/ip link set can0 up type can bitrate 125000 in the container and the can0 initializes and gets printed using ifconfig.

I have confirmed that this udev rule fires by also adding a RUN+="/bin/touch /data/FIRED.txt". A file does show up but no CAN interface. The interface is listed by running ifconfig -a but not initialized.

It might be related to this can0 udev not arriving in container. If this is true, what is the recommended way to initialize CAN? This module is connected via SPI to the processor (it is not a USB device that can be removed).

Dmesg Output:

[   12.376605] mcp251xfd spi0.1 can0: MCP2518FD rev0.0 (+RX_INT -MAB_NO_WARN +CRC_REG +CRC_RX +CRC_TX +ECC -HD c:40.00MHz m:20.00MHz r:17.00MHz e:0.00MHz) successfully initialized.

Dockerfile Contains:

# --------------------------------------------------
# Enable the UDEV system for udev rules and
# copy udev rules to proper location
#
# See: https://www.balena.io/docs/learn/develop/runtime/#mounting-external-storage-media
# --------------------------------------------------
ENV UDEV=on
COPY ./udev/ /etc/udev/rules.d/

My udev rule is listed here 91-caninterface.rules

KERNELS=="spi0.1", SUBSYSTEMS=="spi", DRIVERS=="mcp251xfd", RUN+="/sbin/ip link set can0 up type can bitrate 125000"

The docker-compose.yml file is listed here:

# Supported Docker Compose Fields
# https://www.balena.io/docs/reference/supervisor/docker-compose/

version: "2.1"

# Named volume for Persistant Storage
# https://www.balena.io/docs/learn/develop/multicontainer/#named-volumes
volumes:
  resin-data: {}

# Label Settings
# https://www.balena.io/docs/reference/supervisor/docker-compose/#labels
services:
  cns_mngr:
    build: ./
    restart: "no"
    privileged: true
    network_mode: host
    volumes:
      - 'resin-data:/data'
    labels:
      io.balena.features.dbus: "1"