Skip to content

RouterOS Script to Validate Connectivity

NETWORK ENGINEER TIP

As part of building the VXLAN class, one of our engineers put together a useful helper script to streamline the process. It’s worth noting that this script is intended for transport links that use a /29 addressing scheme.


:foreach item in=[/ip address find] do={
  :local address [/ip address get $item address]
  :local address [:pick $address 0 [:find $address "/"]]
  :local address ($address + 0)

  :local network [/ip address get $item network]

  :local master ($address - $network)
  :local master ($master = 1)

  :if ($master) do={
    :local peer ($network + 2)
    :local ping [/ping $peer count=1 as-value]
    
    :if ($ping->"status" = "timeout") do={
      :put "Peer unreachable: $peer"
    } else={
      :put "Peer reachable: $peer"
    }
  } else={
    :local peer ($network + 1)
    :local ping [/ping $peer count=1 as-value]
    
    :if ($ping->"status" = "timeout") do={
      :put "Peer unreachable: $peer"
    } else={
      :put "Peer reachable: $peer"
    }
  }
}
Back To Top