#What does -record-route do?

1 messages · Page 1 of 1 (latest)

grizzled tulip
#

In preparation to implement cluster peering I'm testing that I can ping each intercluster lif.
The network guy says that all network configuration is done/ready.
He can see mac adresses and and ping from within the network (cross sites) to all intercluster lif's and gateways in the "backup net".
In Ontap intercluster lif´s uses static route for the "Backup net".

I can't ping cross site if I dont use the net ping with -record-route true.

siteb::> net ping -vserver siteb -lif siteb-03_intcl-amar -destination 192.168.197.21 -record-route -show-detail -verbose
(network ping)
PING 192.168.197.21 (192.168.197.21) from 192.168.97.3: 56 data bytes
to 192.168.97.3 64 bytes from 192.168.197.21: icmp_seq=0 ttl=62 time=2.369 ms
RR: 192.168.251.1
192.168.197.254
192.168.197.21
192.168.251.2
192.168.97.254
192.168.97.3
to 192.168.97.3 64 bytes from 192.168.197.21: icmp_seq=1 ttl=62 time=2.152 ms (same route)
to 192.168.97.3 64 bytes from 192.168.197.21: icmp_seq=2 ttl=62 time=2.216 ms (same route)

sitec::> net ping -vserver sitec -lif sitec-01_intcl -destination 192.168.97.3 -record-route true -show-detail true -verbose
(network ping)
PING 192.168.97.3 (192.168.97.3) from 192.168.197.21: 56 data bytes
to 192.168.197.21 64 bytes from 192.168.97.3: icmp_seq=0 ttl=62 time=42.701 ms
RR: 192.168.251.2
192.168.97.254
192.168.97.3
192.168.251.1
192.168.197.254
192.168.197.21
to 192.168.197.21 64 bytes from 192.168.97.3: icmp_seq=1 ttl=62 time=72.188 ms (same route)
to 192.168.197.21 64 bytes from 192.168.97.3: icmp_seq=2 ttl=62 time=128.353 ms (same route)
to 192.168.197.21 64 bytes from

sitec::> net ping -vserver sitec -lif sitec-01_intcl -destination 192.168.97.3
(network ping)
no answer from 192.168.97.3

So what does this -record-route true do?
And what can be wrong in either network or Ontap configuration?

Thanks

wet wren
#

This is funny. From the man page for the NetApp ping:

[-R, -record-route <true>] - Record Route
Use this parameter to display the route followed by the ping. You should set this option to false for pinging to succeed.

#

Do you happen to have the output of

route show -vserver siteb|sitec ?

grizzled tulip
#

Yes, here you go:

#

Vserver Destination Gateway Metric


siteb
0.0.0.0/0 192.168.10.1 20
192.168.197.0/24
192.168.97.254 20

Vserver Destination Gateway Metric


sitec
0.0.0.0/0 192.168.15.30 20
192.168.97.0/24 192.168.197.254 20

spare trellis
#

traceroute and "ping" use different icmp types normally, fwiw, although i don't know what ONTap uses.

#

seems like you have a secondary gateway just connecting 192.168.197.0/24 and 192.168.97.0/24

grizzled tulip
#

Yes, that is the so called "backup network"

spare trellis
#

basically, this should just be two hops, routing-wise

#

i assume this is all in the default ipspace

#

can you "ping" the respective gateways from each side?

#

the .254 ips

grizzled tulip
#

siteb can ping it's local .254, and .254 on the other side.

#

sitec can only ping it's local .254

spare trellis
#

ok, seems like the route on siteb .254 back to the local .254 is missing on sitec

grizzled tulip
#

and each controller can ping it's partner node per cluster

spare trellis
#

i'm not sure what that means... can the intercluster lif reach each other or can the normal cluster interfaces reach each other?

#

some of this can be sort of "simplified" by using separate broadcast-domains and ipspaces for intercluster traffic. It's a little non-intuitive because an SVM is created for the new ipspace and you add the route to that SVM

grizzled tulip
#

I meant intercluster lif can reach each other per cluster

spare trellis
#

if the peering works, then it may just be the router interfaces dropping some icmp types (firewall admins like to do that)

grizzled tulip
#

I have not tried peering yet.
I'm told that there are no firewalls involved in this "backup net".
Siteb has Nexus switches and sitec has Catalyst switches.
But why does it work with -record-route true?
What does -record-route do?

spare trellis
#

if it resembles traceroute with icmp, then it sends a bit different icmp message... google explains it nicely

static whale
#

"record route" is a relic from earlier IP implementations, before traceroute was a thing. It sets a flag in the ECHO_REQUEST header that instructs hosts to put their IP address into a list when forwarding the packet. It has limited space (8 hosts IIRC) and most current IP stacks simply ignore the flag or drop the packet altogether

#

this is from the FreeBSD manual page, for example, which still supports this flag