skydive icon indicating copy to clipboard operation
skydive copied to clipboard

LLDP probe doesn't add switches to the graph until a tcpdump command is explicitly executed on the interface

Open tu-pm opened this issue 5 years ago • 3 comments

Hi, I'm currently testing skydive on a virtual test environment. I've noticed that unlike when tested on a physical network, if a lldp probe is listening on a specified interface on a libvirt guest, it seems not to be able to automatically detect lldp packets sent to that interface and display on the graph. But when I run a tcpdump command on that interface, just to make sure that those packets have arrived, then the probe can finally detect the switch sending them. Can anyone explain it to me?

tu-pm avatar Aug 23 '19 09:08 tu-pm

Hi, I suspect an issue with the destination MAC address. Skydive adds multicast address to the interface in order to get LLDP packets. I think the issue disappear with tcpdump because of the promiscuous mode. Can you confirm that the issue disappear if you set this mode to your interface.

ip link set promisc on dev eth0

Can you check if you see in the agent log the follow error message

Failed to add multicast address

Thanks

safchain avatar Aug 23 '19 22:08 safchain

Thanks for answering @safchain,

Adding promiscuous mode to the interface does solve my problem, and I don't have any error messages about attaching multicast addresses. This is strange because if the multicast addresses are added to the interface, the probe should be able to capture LLDP packets without having to go to promiscuous mode. Does the virtual environment have anything to do with this?

I've run into this problem in two cases:

  1. Run skydive binary on a libvirt guest
  2. Run skydive-agent on a docker container as a part of kolla-ansible deployment

tu-pm avatar Aug 26 '19 03:08 tu-pm

@safchain Hi any idea how to fix : "Failed to add multicast address"

bechavod avatar Sep 03 '19 15:09 bechavod