I am trying to use a IP SLA for HTTP on my Cisco ISR 4321 router to check if a website is reachable. The challenge is that I need to do that in a frontdoor VRF. I have configured

ip name-server vrf INET

ip domain-lookup vrf INET

ip sla 10
 http raw http://ifconfig.co name-server cache disable
 vrf INET
  GET / HTTP/1.0\r\n
 threshold 2
 timeout 2
ip sla schedule 10 life forever start-time now

However, the result is a DNS error

IPSLAs Latest Operation Summary
Codes: * active, ^ inactive, ~ pending
All Stats are in milliseconds. Stats with u are in microseconds

ID           Type        Destination       Stats       Return      Last
                                                       Code        Run
*10          http           RTT=0       DNS query e 25 seconds ag
                                                       rror        o

DNS is however working in that VRF

#ping vrf INET ifconfig.co
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to, timeout is 2 seconds:
Success rate is 100 percent (5/5), round-trip min/avg/max = 13/18/34 ms

Any idea what I'm missing here?

  • 1
    Don't you need to set a source IP on your IP SLA?
    – user36472
    Jan 24, 2019 at 14:20
  • That would be hard as the only interface in that VRF has DHCP enabled and has a dynamic IP. I tried it nevertheless like ` http raw ifconfig.co source-ip name-server cache disable` but it still results in a DNS query error.
    – Daniel
    Jan 24, 2019 at 14:24
  • Ok well at least that's not the problem then. :-)
    – user36472
    Jan 24, 2019 at 14:26
  • Tried the same thing in IOSv (15.5(3)M), and I don't have the option for "ip domain-lookup vrf <x>". No option in the vrf definition either. But, DNS works for my HTTP SLA's. Can't seem to get a working GET request, though. Curious if you'll see the same if you drop the domin-lookup vrf.
    – boomi
    Jan 25, 2019 at 12:41
  • Well... I found parts of the issue. Threshold and timeout are specified in msec, not in seconds. The raw request still results in a timeout, but a "normal" get request works. I'll edit the question soon, as there are actually two new problems
    – Daniel
    Jan 25, 2019 at 15:26


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.