具有可配置权重的 IPv6 多路径路由

具有可配置权重的 IPv6 多路径路由

使用 Linux 内核 4.14,当我添加具有权重(10 和 30)的 IPv6 多路径路由时,它们会以相同的权重“1”添加。IPv4 路由不存在此问题。

我在另一台装有 Linux 内核 4.19 的机器上按照完全相同的步骤进行了检查,其中输出中显示的权重似乎与配置相匹配。

请帮忙找出造成这种差异的原因。iproute 或内核版本中的任何更改是否会导致这种情况,或者是否需要启用任何特定内核配置才能支持权重多路径?两台机器都有CONFIG_IP_ROUTE_MULTIPATH=y

配置:

    # ip link add link eth0 name eth0.100 type vlan id 100
    # ip link add link eth0 name eth0.200 type vlan id 200
    # ip link set eth0.100 up
    # ip link set eth0.200 up
    # ip -6 addr add 20::1/120 dev eth0.100
    # ip -6 addr add 30::1/120 dev eth0.200
    # ip -6 route add 40::/120 nexthop via 20::2 weight 10 nexthop via 30::2 weight 30

从4.14开始:

    # ip -6 r l
    20::/120 dev eth0.100 proto kernel metric 256 pref medium
    30::/120 dev eth0.200 proto kernel metric 256 pref medium
    40::/120 metric 1024 pref medium
            nexthop via 20::2 dev eth0.100 weight 1
            nexthop via 30::2 dev eth0.200 weight 1
    
    # ip -V
    ip utility, iproute2-ss200330
    
    # uname -r
    4.14.231-pc64

从4.19开始:

    # ip -6 r l
    ::1 dev lo proto kernel metric 256 pref medium
    20::/120 dev eth0.100 proto kernel metric 256 pref medium
    30::/120 dev eth0.200 proto kernel metric 256 pref medium
    40::/120 metric 1024
            nexthop via 20::2 dev eth0.100 weight 10
            nexthop via 30::2 dev eth0.200 weight 30 pref medium
    
    #  ip -V
    ip utility, iproute2-ss190107
    #  uname -r
    4.19.0-16-cloud-amd64

相关内容