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, privacy policy and cookie policy

Browse other questions tagged or ask your own question.