Skip to content

Make omping work with nat #40

@jfriesse

Description

@jfriesse

Looks like libvirt with nat translates multicast. Replies are then visible as a bridge address and not as a source. Example network:

<name>default</name>
<forward mode='nat'>
<nat>
   <port start='1024' end='65535'/>
  </nat>
  </forward>
 <bridge name='virbr0' stp='on' delay='0'/>
 <ip address='192.168.122.1' netmask='255.255.255.0'>
   <dhcp>
     <range start='192.168.122.2' end='192.168.122.254'/>
   </dhcp>
 </ip>
</network>

and omping then

omping.c:421 Received multicast message from 192.168.122.1 type A (0x41), len 69

Solution seems to be to:

  • Add source address as one of option
    • Such option is not in the RFC so has to use custom one
    • Add CLI option to force strict RFC behavior (= source address option is not included)
  • When mcast packet with source address option is received display it in some kind of special format (example multicast(forwarded/nat/... by 192.168.122.1), seq=6, size=69 bytes, dist=0, time=0.514ms)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions