Confusion about IPv6 same metric route

There are two default routes on my router with the same metric value. After testing, I found that the data always passes wwan0. Does anyone know how the router chooses the route when the destination and metric are the same.

uci set network.wan6.ip6table="1"
uci set network.wwan6.ip6table="2"
uci -q delete network.wan6_default
uci set network.wan6_default="rule6"
uci set network.wan6_default.lookup="1"
uci set network.wan6_default.priority="40000"
uci -q delete network.wwan6_default
uci set network.wwan6_default="rule6"
uci set network.wwan6_default.lookup="2"
uci set network.wwan6_default.priority="50000"
uci commit network
/etc/init.d/network restart

The above is relevant for the router itself, while the clients are subjected to source routing by default:
https://openwrt.org/docs/guide-user/network/ipv6/start#general_features

Thank you for the routing policy, but I just want to know what the router chooses the route based on when the metric and destination are the same.

Strangely, when I manually deleted the rule and added it again, I was told that the file already existed, which prevented me from trying any more.


Unless I change the metric

Since the key parameters match, it should simply select the default route listed first.
It's likely sorted by the interface name, the init order, or the hoplimit/expires parameters.
So, it should be more or less random in general case.

I thought maybe hoplimit would matter because routes with a high hoplimit value looked more reliable, but there was no way I could try it manually.

That's unlikely, otherwise it would allow adding multiple routes with different hoplimit similar to metric.