Users may find that origin validation for the Border Gateway Protocol (BGP) throws the Address already in use and Operation already in progress errors when a TCP session with the validation server is not established.
Address already in use
Operation already in progress
This article explains the cause for these errors to be reported, while also detailing the steps to troubleshoot the issue.
Origin validation for BGP throws the following errors when a TCP session with the validation server is not established:
router-re0 rpd[47958]: task_connect: task RV.192.16.1.2+2222 addr 192.16.1.2+2222: Address already in use router-re0 rpd[47958]: task_connect: task RV.205.93.207.69+2222 addr 205.93.207.69+2222: Operation already in progress router-re0 rpd[47958]: task_connect: task RV.192.16.1.2+2222 addr 192.16.1.2+2222: Address already in use router-re0 rpd[47958]: task_connect: task RV.205.93.207.69+2222 addr 205.93.207.69+2222: Operation already in progress
"Address already in use" and "Operation already in progress" are valid error codes when either there is no route to reach the validation server or there is a route to the validation server address but no validation server present to accept the connection request.
To troubleshoot the issue, perform the following steps:
ping
traceroute
labroot@lab> ping server_address
labroot@lab>traceroute server_address
ab>traceroute server_address
TCP port 8282 must be allowed on the local lo0 protect-RE filter. Make sure that no intermediate device blocks this port. Check the lo0 filter configuration to make sure that this is permitted:
lo0
protect-RE
[edit] labroot@lab# show interfaces lo0 unit 0 { family inet { filter { input protect_re; <<<<< filter applied on lo0 } address 1.1.1.1/32; } family iso { address 49.0001.1921.6800.0008.00; } } [edit] labroot@lab# show firewall family inet filter protect_re term 1 { from { source-prefix-list { trusted_servers; ## 'trusted_servers' is not defined } protocol tcp; destination-port 8282; <<<<< Permits port 8282 } then accept; } term 2 { then { discard; } }
Perform a TCP dump on both the router and the server on which the TCP session has been established. To find out which interface connects to the server, do a execute the show route server_address command.
show route server_address
monitor traffic interface <interface name> matching “host x.x.x.x” no-resolve
If connectivity is confirmed and the errors persist, enable traceoptions for a more detailed look:
traceoptions
set routing-options validation traceoptions file rv-g.log set routing-options validation traceoptions file size 1000000 set routing-options validation traceoptions file files 10 set routing-options validation traceoptions file world-readable set routing-options validation traceoptions flag all
With the above traceoptions information, contact Support to open a Technical Service Request.