nl_allow_replace check for primary key
Hi all, I've noticed this patch: https://gitlab.nic.cz/labs/bird/-/commit/00b139bd25c77b401d2065283cb970d9d8c... It says that "(net, metric) is the primary key". But for my understanding the primary key in linux routing table also includes tos. It seems that BIRD currently does not support routes with tos, so it is not relevant now. But anyway the statement in code misses it, and this rifle might shoot in the future if tos support is added. Here is an example showing that tos is treated as a part of the primary key: # ip route add 192.168.2.0/24 via 192.168.0.2 metric 10 tos 0x10 # ip route add 192.168.2.0/24 via 192.168.0.3 metric 10 tos 0x20 # ip -N route show 192.168.2.0/24 192.168.2.0/24 tos 0x20 via 192.168.0.3 dev eth0 metric 10 192.168.2.0/24 tos 0x10 via 192.168.0.2 dev eth0 metric 10 # ip ro replace 192.168.2.0/24 via 192.168.0.4 metric 10 # ip -N route show 192.168.2.0/24 192.168.2.0/24 tos 0x20 via 192.168.0.3 dev eth0 metric 10 192.168.2.0/24 tos 0x10 via 192.168.0.2 dev eth0 metric 10 192.168.2.0/24 via 192.168.0.4 dev eth0 metric 10 # ip ro replace 192.168.2.0/24 via 192.168.0.5 metric 10 tos 0x10 # ip -N route show 192.168.2.0/24 192.168.2.0/24 tos 0x20 via 192.168.0.3 dev eth0 metric 10 192.168.2.0/24 tos 0x10 via 192.168.0.5 dev eth0 metric 10 192.168.2.0/24 via 192.168.0.4 dev eth0 metric 10 Regards, Alexander
participants (1)
-
Alexander Zubkov