MAVLink routing - some messages are not forwarded

I am trying to forward messages through one link of ArduCopter to another link. My end goal is to forward messages from a companion computer through pixhawk, although at the moment I am just testing this in SITL. I read MAVLink Routing in ArduPilot.

The problem is that some messages are not forwarded by ArduCopter. I uploaded code to reproduce the issue to this gist. I am testing this with Wireshark to look at TCP ports 5760 and 5762 - some messages get sent from the “companion computer” on 5762 but are not forwarded on 5760.

My test environment consists of ArduCopter V4.0.2-dev (98adeafa) SITL downloaded using Mission Planner (Windows), python 3.8 and pymavlink from github. Mission Planner connects to Copter SITL serial0 while the script above (“companion computer”) connects to serial2. The script is using system 2 and component 200. I tried system 1 and other values as well.

The following messages are not forwarded: OPEN_DRONE_ID_LOCATION, ONBOARD_COMPUTER_STATUS

There are no target system and component on the messages that do not get forwarded, so they should be broadcasted. Any idea what am I missing here? Thanks!

Edit: added Wireshark screenshots, simplified test environment (no MAVProxy) -

Sent to ArduCopter:

Sent from ArduCopter:

Looks like ArduPilot (or more precisely the mavlink c library) ignores unknown messages. There’s an open issue:

We will only forward messages we understand. These two we do not
understand (they’re not in our common.xml).