• Venkat Venkatsubra's avatar
    ipvlan: handle NETDEV_DOWN event · 22978397
    Venkat Venkatsubra authored
    In case of stacked devices, to help propagate the down
    link state from the parent/root device (to this leaf device),
    handle NETDEV_DOWN event like it is done now for NETDEV_UP.
    
    In the below example, ens5 is the host interface which is the
    parent of the ipvlan interface eth0 in the container.
    
    Host:
    
    [root@gkn-podman-x64 ~]# ip link set ens5 down
    [root@gkn-podman-x64 ~]# ip -d link show dev ens5
    3: ens5: <BROADCAST,MULTICAST> mtu 9000 qdisc mq state DOWN
          ...
    [root@gkn-podman-x64 ~]#
    
    Container:
    
    [root@testnode-ol8 /]# ip -d link show dev eth0
    2: eth0@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 state UNKNOWN
            ...
        ipvlan mode l2 bridge
            ...
    [root@testnode-ol8 /]#
    
    eth0's state continues to show up as UP even though ens5 is now DOWN.
    
    For macvlan the handling of NETDEV_DOWN event was added in
    commit 80fd2d6c ("macvlan: Change status when lower device goes down").
    Reported-by: default avatarGia-Khanh Nguyen <gia-khanh.nguyen@oracle.com>
    Signed-off-by: default avatarVenkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
    Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    22978397
ipvlan_main.c 27.9 KB