• Mahesh Bandewar's avatar
    ipvlan: add L2 check for packets arriving via virtual devices · 92ff4264
    Mahesh Bandewar authored
    Packets that don't have dest mac as the mac of the master device should
    not be entertained by the IPvlan rx-handler. This is mostly true as the
    packet path mostly takes care of that, except when the master device is
    a virtual device. As demonstrated in the following case -
    
      ip netns add ns1
      ip link add ve1 type veth peer name ve2
      ip link add link ve2 name iv1 type ipvlan mode l2
      ip link set dev iv1 netns ns1
      ip link set ve1 up
      ip link set ve2 up
      ip -n ns1 link set iv1 up
      ip addr add 192.168.10.1/24 dev ve1
      ip -n ns1 addr 192.168.10.2/24 dev iv1
      ping -c2 192.168.10.2
      <Works!>
      ip neigh show dev ve1
      ip neigh show 192.168.10.2 lladdr <random> dev ve1
      ping -c2 192.168.10.2
      <Still works! Wrong!!>
    
    This patch adds that missing check in the IPvlan rx-handler.
    Reported-by: default avatarAmit Sikka <amit.sikka@ericsson.com>
    Signed-off-by: default avatarMahesh Bandewar <maheshb@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    92ff4264
ipvlan_core.c 18.8 KB