From d2005caace535201f7f89666868cee3d02cbb24a Mon Sep 17 00:00:00 2001 From: cumulusAnia Date: Tue, 10 Dec 2024 15:32:57 +0000 Subject: [PATCH 1/4] traceroute --- .../Network-Troubleshooting/_index.md | 94 ++++++++++++++++++- 1 file changed, 92 insertions(+), 2 deletions(-) diff --git a/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md b/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md index c0a0c1f9c8..d1bb25d878 100644 --- a/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md +++ b/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md @@ -12,6 +12,22 @@ Use `ping` to check that a host is reachable. `ping` also calculates the time it To test the connection to an IPv4 host: +{{< tabs "TabID15 ">}} +{{< tab "NVUE Commands ">}} + +``` +cumulus@switch:~$ +``` + +To test the connection to an IPv6 host: + +``` +cumulus@switch:~$ +``` + +{{< /tab >}} +{{< tab "Linux Commands ">}} + ``` cumulus@switch:~$ ping 192.0.2.45 PING 192.0.2.45 (192.0.2.45) 56(84) bytes of data. @@ -29,13 +45,58 @@ PING 2001::db8:ff:fe00:2(2001::db8:ff:fe00:2) from 2001::db8:ff:fe00:1 swp1: 56 64 bytes from 2001::db8:ff:fe00:2: icmp_seq=2 ttl=64 time=0.927 ms ``` +{{< /tab >}} +{{< /tabs >}} + When troubleshooting intermittent connectivity issues, it is helpful to send continuous pings to a host. ## Print Route Trace with traceroute -Use `traceroute` to track the route that packets take from an IP network on their way to a given host. See `man traceroute` for details. +Use the `traceroute` tool for network troubleshooting, identifying routing issues, measuring latency, mapping network paths, detecting performance bottlenecks, and diagnosing connectivity problems. + +You send traceroute packets to a destination to which you want to trace the route. You can specify either an IP address or a domain name. In addition, you can specify the following options: +- The hop count (the maximum number of hops). You can specify a value between 1 and 255. +- The `traceroute` packet size. You can specify a value between 8 and 65000. +- The source IP address to use for sending the `traceroute` packets. +- The layer 4 protocol packets to send. You can specify ICMP, TCP, or UDP. + +{{< tabs "TabID15 ">}} +{{< tab "NVUE Commands ">}} + +The following example checks the traceroute to localhost. + +``` +cumulus@switch:~$ nv action traceroute interface localhost +``` + +The following example sends 50 byte packets to check the traceroute to interface 10.10.10.6. + +``` +cumulus@switch:~$ nv action traceroute interface 10.10.10.6 packet_len 50 +``` + +The following example checks the traceroute to localhost with 4 maximum hops. + +``` +cumulus@switch:~$ nv action traceroute interface localhost hop-count 4 +``` + +The following example checks the traceroute to localhost from the source IP address 10.10.10.10 -To track the route to an IPv4 host: +``` +cumulus@switch:~$ nv action traceroute interface localhost source-address 10.10.10.10 +``` + +The following example sends UPD packets to check the traceroute to localhost: + +``` +cumulus@switch:~$ nv action traceroute interface localhost protocol upd +``` + +{{< /tab >}} +{{< tab "Linux Commands ">}} + +The following example checks the traceroute to www.google.com. ``` cumulus@switch:~$ traceroute www.google.com @@ -47,6 +108,35 @@ traceroute to www.google.com (74.125.239.49), 30 hops max, 60 byte packets 7 72.14.232.35 (72.14.232.35) 27.505 ms 22.925 ms 22.323 ms 8 nuq04s19-in-f17.1e100.net (74.125.239.49) 23.544 ms 21.851 ms 22.604 ms ``` + +The following example sends 50 byte packets to check the traceroute to interface www.google.com. + +``` +cumulus@switch:~$ traceroute www.google.com packet_len 50 +``` + +The following example checks the traceroute to localhost with 4 maximum hops. + +``` +cumulus@switch:~$ traceroute www.google.com -m 4 +``` + +The following example checks the traceroute to localhost from the source IP address 10.10.10.10 + +``` +cumulus@switch:~$ traceroute www.google.com -s 10.10.10.10 +``` + +The following example sends UPD packets to check the traceroute to localhost: + +``` +cumulus@switch:~$ traceroute www.google.com -U +``` + +To send TCP packets, use the -T option. To send ICMP packets, use the -I option. + +{{< /tab >}} +{{< /tabs >}} ## Run Commands in a Non-default VRF From ba180c7d769ac30dcf80345a445947c603bb77a0 Mon Sep 17 00:00:00 2001 From: cumulusAnia Date: Tue, 10 Dec 2024 15:54:40 +0000 Subject: [PATCH 2/4] updates --- .../Cumulus-Linux-Release-Versioning-and-Support-Policy.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/knowledge-base/Support/Support-Offerings/Cumulus-Linux-Release-Versioning-and-Support-Policy.md b/content/knowledge-base/Support/Support-Offerings/Cumulus-Linux-Release-Versioning-and-Support-Policy.md index cf2b7392aa..e4de492de4 100644 --- a/content/knowledge-base/Support/Support-Offerings/Cumulus-Linux-Release-Versioning-and-Support-Policy.md +++ b/content/knowledge-base/Support/Support-Offerings/Cumulus-Linux-Release-Versioning-and-Support-Policy.md @@ -60,13 +60,13 @@ Consistent with this two-pronged approach, the mainline and LTS code branches ar Frequency -Minor releases every quarter; maintenance releases as needed +Maintenance releases as needed Maintenance releases as needed Support Duration (Software updates and support)

LTS branch, before releasing LTS: Software updates and NVIDIA support

-

LTS branch, after releasing LTS: 12 months NVIDIA support only from date of LTS release

+

LTS branch, after releasing LTS: 12 months of NVIDIA support from date of LTS release to triage issues and help migrate to a newer release

3 years from release date of version @@ -88,8 +88,9 @@ NVIDIA does not provide support for end of life releases; migrate to a current r | Cumulus Linux Version | LTS Start Date | End of Life Date | | --------------------- | ----------------- | ----------------- | -| 5.y.z | N/A | April 2025 | +| 5.8.z or earlier | N/A | April 2025 | | 5.9.z | April 2024 | April 2027 | +| 5.10.z | N/A | November 2025 | | 5.11.z | November 2024 | November 2027 | Cumulus Linux 5.y.z supports Spectrum based switches only. From 987fcb462ea7d70f1eb66821dd54fd04cfb84bd0 Mon Sep 17 00:00:00 2001 From: cumulusAnia Date: Tue, 10 Dec 2024 16:36:00 +0000 Subject: [PATCH 3/4] updates to traceroute --- .../Network-Troubleshooting/_index.md | 228 +++++------------- 1 file changed, 54 insertions(+), 174 deletions(-) diff --git a/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md b/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md index d1bb25d878..97984197bc 100644 --- a/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md +++ b/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md @@ -56,81 +56,74 @@ Use the `traceroute` tool for network troubleshooting, identifying routing issue You send traceroute packets to a destination to which you want to trace the route. You can specify either an IP address or a domain name. In addition, you can specify the following options: - The hop count (the maximum number of hops). You can specify a value between 1 and 255. -- The `traceroute` packet size. You can specify a value between 8 and 65000. +- The `traceroute` packet size in bytes. You can specify a value between 28 and 65000 bytes. - The source IP address to use for sending the `traceroute` packets. - The layer 4 protocol packets to send. You can specify ICMP, TCP, or UDP. {{< tabs "TabID15 ">}} {{< tab "NVUE Commands ">}} -The following example checks the traceroute to localhost. +The following example validates the path to destination 10.10.10.10. ``` -cumulus@switch:~$ nv action traceroute interface localhost +cumulus@switch:~$ nv action traceroute interface 10.10.10.10 ``` -The following example sends 50 byte packets to check the traceroute to interface 10.10.10.6. +The following example sends 50-byte packets to validate the path to destination 10.10.10.10. ``` -cumulus@switch:~$ nv action traceroute interface 10.10.10.6 packet_len 50 +cumulus@switch:~$ nv action traceroute interface 10.10.10.10 packet_len 50 ``` -The following example checks the traceroute to localhost with 4 maximum hops. +The following example validates the path to destination 10.10.10.10 with 4 maximum hops. ``` -cumulus@switch:~$ nv action traceroute interface localhost hop-count 4 +cumulus@switch:~$ nv action traceroute interface 10.10.10.10 hop-count 4 ``` -The following example checks the traceroute to localhost from the source IP address 10.10.10.10 +The following example validates the path to destination 10.10.10.10 from the source IP address 10.10.5.1 ``` -cumulus@switch:~$ nv action traceroute interface localhost source-address 10.10.10.10 +cumulus@switch:~$ nv action traceroute interface 10.10.10.10 source-address 10.10.5.1 ``` -The following example sends UPD packets to check the traceroute to localhost: +The following example sends UDP packets to validate the path to destination 10.10.10.10: ``` -cumulus@switch:~$ nv action traceroute interface localhost protocol upd +cumulus@switch:~$ nv action traceroute interface 10.10.10.10 protocol udp ``` {{< /tab >}} {{< tab "Linux Commands ">}} -The following example checks the traceroute to www.google.com. +The following example validates the path to destination 10.10.10.10. ``` -cumulus@switch:~$ traceroute www.google.com -traceroute to www.google.com (74.125.239.49), 30 hops max, 60 byte packets -1 cumulusnetworks.com (192.168.1.1) 0.614 ms 0.863 ms 0.932 ms -... -5 core2-1-1-0.pao.net.google.com (198.32.176.31) 22.347 ms 22.584 ms 24.328 ms -6 216.239.49.250 (216.239.49.250) 24.371 ms 25.757 ms 25.987 ms -7 72.14.232.35 (72.14.232.35) 27.505 ms 22.925 ms 22.323 ms -8 nuq04s19-in-f17.1e100.net (74.125.239.49) 23.544 ms 21.851 ms 22.604 ms +cumulus@switch:~$ traceroute 10.10.10.10 ``` -The following example sends 50 byte packets to check the traceroute to interface www.google.com. +The following example sends 50-byte packets to validate the path to destination 10.10.10.10. ``` -cumulus@switch:~$ traceroute www.google.com packet_len 50 +cumulus@switch:~$ traceroute 10.10.10.10 packet_len 50 ``` -The following example checks the traceroute to localhost with 4 maximum hops. +The following example validates the path to destination 10.10.10.10 with 4 maximum hops. ``` -cumulus@switch:~$ traceroute www.google.com -m 4 +cumulus@switch:~$ traceroute 10.10.10.10 -m 4 ``` -The following example checks the traceroute to localhost from the source IP address 10.10.10.10 +The following example validates the path to destination 10.10.10.10 from the source IP address 10.10.5.1 ``` -cumulus@switch:~$ traceroute www.google.com -s 10.10.10.10 +cumulus@switch:~$ traceroute 10.10.10.10 -s 10.10.5.1 ``` -The following example sends UPD packets to check the traceroute to localhost: +The following example sends UDP packets to validate the path to destination 10.10.10.10: ``` -cumulus@switch:~$ traceroute www.google.com -U +cumulus@switch:~$ traceroute 10.10.10.10 -U ``` To send TCP packets, use the -T option. To send ICMP packets, use the -I option. @@ -138,6 +131,39 @@ To send TCP packets, use the -T option. To send ICMP packets, use the -I option. {{< /tab >}} {{< /tabs >}} + +### Monitor Control Plane Traffic with tcpdump + +You can use `tcpdump` to monitor control plane traffic (traffic sent to and coming from the switch CPUs). `tcpdump` does **not** monitor data plane traffic; use `cl-acltool` instead (see above). + +For more information on `tcpdump`, read the {{}} and the {{}}. + +The following example incorporates `tcpdump` options: + +- `-i bond0` captures packets from bond0 to the CPU and from the CPU to bond0 +- `host 169.254.0.2` filters for this IP address +- `-c 10` captures 10 packets then stops + +``` +cumulus@switch:~$ sudo tcpdump -i bond0 host 169.254.0.2 -c 10 +tcpdump: WARNING: bond0: no IPv4 address assigned +tcpdump: verbose output suppressed, use -v or -vv for full protocol decode +listening on bond0, link-type EN10MB (Ethernet), capture size 65535 bytes +16:24:42.532473 IP 169.254.0.2 > 169.254.0.1: ICMP echo request, id 27785, seq 6, length 64 +16:24:42.532534 IP 169.254.0.1 > 169.254.0.2: ICMP echo reply, id 27785, seq 6, length 64 +16:24:42.804155 IP 169.254.0.2.40210 > 169.254.0.1.5342: Flags [.], seq 266275591:266277039, ack 3813627681, win 58, options [nop,nop,TS val 590400681 ecr 530346691], length 1448 +16:24:42.804228 IP 169.254.0.1.5342 > 169.254.0.2.40210: Flags [.], ack 1448, win 166, options [nop,nop,TS val 530348721 ecr 590400681], length 0 +16:24:42.804267 IP 169.254.0.2.40210 > 169.254.0.1.5342: Flags [P.], seq 1448:1836, ack 1, win 58, options [nop,nop,TS val 590400681 ecr 530346691], length 388 +16:24:42.804293 IP 169.254.0.1.5342 > 169.254.0.2.40210: Flags [.], ack 1836, win 165, options [nop,nop,TS val 530348721 ecr 590400681], length 0 +16:24:43.532389 IP 169.254.0.2 > 169.254.0.1: ICMP echo request, id 27785, seq 7, length 64 +16:24:43.532447 IP 169.254.0.1 > 169.254.0.2: ICMP echo reply, id 27785, seq 7, length 64 +16:24:43.838652 IP 169.254.0.1.59951 > 169.254.0.2.5342: Flags [.], seq 2555144343:2555145791, ack 2067274882, win 58, options [nop,nop,TS val 530349755 ecr 590399688], length 1448 +16:24:43.838692 IP 169.254.0.1.59951 > 169.254.0.2.5342: Flags [P.], seq 1448:1838, ack 1, win 58, options [nop,nop,TS val 530349755 ecr 590399688], length 390 +10 packets captured +12 packets received by filter +0 packets dropped by kernel +``` + ## Run Commands in a Non-default VRF You can use `ip vrf exec` to run commands in a non-default VRF context, which is useful for network utilities like `ping`, `traceroute`, and `nslookup`. @@ -185,149 +211,3 @@ cumulus@switch:~$ sudo ip vrf exec Tenant1 traceroute6 -i swp1 -s 2001:db8::1 20 ``` The VRF context for `ping` and `traceroute` commands move automatically to the default VRF context, therefore, you must use the source interface flag to specify the management VRF. Typically, there is only a single interface in the management VRF (eth0) and only a single IPv4 address or IPv6 global unicast address assigned to it. You cannot specify both a source interface and a source IP address with `ping -I`. - -## Manipulate the System ARP Cache - -The `arp` command manipulates or displays the kernel's IPv4 network neighbor cache. See `man arp` for details. - -To display the ARP cache: - -``` -cumulus@switch:~$ arp -a -? (11.0.2.2) at 00:02:00:00:00:10 [ether] on swp3 -? (11.0.3.2) at 00:02:00:00:00:01 [ether] on swp4 -? (11.0.0.2) at 44:38:39:00:01:c1 [ether] on swp1 -``` - -To delete an ARP cache entry: - -``` -cumulus@switch:~$ arp -d 11.0.2.2 -cumulus@switch:~$ arp -a -? (11.0.2.2) at on swp3 -? (11.0.3.2) at 00:02:00:00:00:01 [ether] on swp4 -? (11.0.0.2) at 44:38:39:00:01:c1 [ether] on swp1 -``` - -To add a static ARP cache entry: - -``` -cumulus@switch:~$ arp -s 11.0.2.2 00:02:00:00:00:10 -cumulus@switch:~$ arp -a -? (11.0.2.2) at 00:02:00:00:00:10 [ether] PERM on swp3 -? (11.0.3.2) at 00:02:00:00:00:01 [ether] on swp4 -? (11.0.0.2) at 44:38:39:00:01:c1 [ether] on swp1 -``` - -If you need to flush or remove an ARP entry for a specific interface, you can disable dynamic ARP learning: - -``` -cumulus@switch:~$ ip link set arp off dev INTERFACE -``` - -## Generate Traffic Using mz - -`{{}}` (or `mausezahn`) is a fast traffic generator that can generate a large variety of packet types at high speed. See `man mz` for details. - -For example, to send two sets of packets to TCP port 23 and 24, with source IP address 11.0.0.1 and destination IP address 11.0.0.2: - -``` -cumulus@switch:~$ sudo mz swp1 -A 11.0.0.1 -B 11.0.0.2 -c 2 -v -t tcp "dp=23-24" - -Mausezahn 0.40 - (C) 2007-2010 by Herbert Haas - https://packages.debian.org/unstable/mz -Use at your own risk and responsibility! --- Verbose mode -- - -This system supports a high resolution clock. - The clock resolution is 4000250 nanoseconds. -Mausezahn will send 4 frames... - IP: ver=4, len=40, tos=0, id=0, frag=0, ttl=255, proto=6, sum=0, SA=11.0.0.1, DA=11.0.0.2, - payload=[see next layer] - TCP: sp=0, dp=23, S=42, A=42, flags=0, win=10000, len=20, sum=0, - payload= - - IP: ver=4, len=40, tos=0, id=0, frag=0, ttl=255, proto=6, sum=0, SA=11.0.0.1, DA=11.0.0.2, - payload=[see next layer] - TCP: sp=0, dp=24, S=42, A=42, flags=0, win=10000, len=20, sum=0, - payload= - - IP: ver=4, len=40, tos=0, id=0, frag=0, ttl=255, proto=6, sum=0, SA=11.0.0.1, DA=11.0.0.2, - payload=[see next layer] - TCP: sp=0, dp=23, S=42, A=42, flags=0, win=10000, len=20, sum=0, - payload= - - IP: ver=4, len=40, tos=0, id=0, frag=0, ttl=255, proto=6, sum=0, SA=11.0.0.1, DA=11.0.0.2, - payload=[see next layer] - TCP: sp=0, dp=24, S=42, A=42, flags=0, win=10000, len=20, sum=0, - payload= -``` - -## Create Counter ACL Rules - -In Linux, all ACL rules are always counted. To create an ACL rule for counting purposes only, set the rule action to ACCEPT. For details on how to use `cl-acltool` to set up iptables, ip6tables, and ebtables-based ACLs, see {{}}. - -{{%notice note%}} -Always place your rule files under `/etc/cumulus/acl/policy.d/`. -{{%/notice%}} - -To count all packets going to a Web server: - -``` -cumulus@switch:~$ cat sample_count.rules - - [iptables] - -A FORWARD -p tcp --dport 80 -j ACCEPT - - cumulus@switch:~$ sudo cl-acltool -i -p sample_count.rules - Using user provided rule file sample_count.rules - Reading rule file sample_count.rules ... - Processing rules in file sample_count.rules ... - Installing acl policy... done. - - cumulus@switch:~$ sudo iptables -L -v - Chain INPUT (policy ACCEPT 16 packets, 2224 bytes) - pkts bytes target prot opt in out source destination - - Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) - pkts bytes target prot opt in out source destination - 2 156 ACCEPT tcp -- any any anywhere anywhere tcp dpt:http - - Chain OUTPUT (policy ACCEPT 44 packets, 8624 bytes) - pkts bytes target prot opt in out source destination -``` - -{{%notice warning%}} -The `-p` option clears out all other rules. The `-i` option reinstalls all the rules. -{{%/notice%}} - -### Monitor Control Plane Traffic with tcpdump - -You can use `tcpdump` to monitor control plane traffic (traffic sent to and coming from the switch CPUs). `tcpdump` does **not** monitor data plane traffic; use `cl-acltool` instead (see above). - -For more information on `tcpdump`, read the {{}} and the {{}}. - -The following example incorporates `tcpdump` options: - -- `-i bond0` captures packets from bond0 to the CPU and from the CPU to bond0 -- `host 169.254.0.2` filters for this IP address -- `-c 10` captures 10 packets then stops - -``` -cumulus@switch:~$ sudo tcpdump -i bond0 host 169.254.0.2 -c 10 -tcpdump: WARNING: bond0: no IPv4 address assigned -tcpdump: verbose output suppressed, use -v or -vv for full protocol decode -listening on bond0, link-type EN10MB (Ethernet), capture size 65535 bytes -16:24:42.532473 IP 169.254.0.2 > 169.254.0.1: ICMP echo request, id 27785, seq 6, length 64 -16:24:42.532534 IP 169.254.0.1 > 169.254.0.2: ICMP echo reply, id 27785, seq 6, length 64 -16:24:42.804155 IP 169.254.0.2.40210 > 169.254.0.1.5342: Flags [.], seq 266275591:266277039, ack 3813627681, win 58, options [nop,nop,TS val 590400681 ecr 530346691], length 1448 -16:24:42.804228 IP 169.254.0.1.5342 > 169.254.0.2.40210: Flags [.], ack 1448, win 166, options [nop,nop,TS val 530348721 ecr 590400681], length 0 -16:24:42.804267 IP 169.254.0.2.40210 > 169.254.0.1.5342: Flags [P.], seq 1448:1836, ack 1, win 58, options [nop,nop,TS val 590400681 ecr 530346691], length 388 -16:24:42.804293 IP 169.254.0.1.5342 > 169.254.0.2.40210: Flags [.], ack 1836, win 165, options [nop,nop,TS val 530348721 ecr 590400681], length 0 -16:24:43.532389 IP 169.254.0.2 > 169.254.0.1: ICMP echo request, id 27785, seq 7, length 64 -16:24:43.532447 IP 169.254.0.1 > 169.254.0.2: ICMP echo reply, id 27785, seq 7, length 64 -16:24:43.838652 IP 169.254.0.1.59951 > 169.254.0.2.5342: Flags [.], seq 2555144343:2555145791, ack 2067274882, win 58, options [nop,nop,TS val 530349755 ecr 590399688], length 1448 -16:24:43.838692 IP 169.254.0.1.59951 > 169.254.0.2.5342: Flags [P.], seq 1448:1838, ack 1, win 58, options [nop,nop,TS val 530349755 ecr 590399688], length 390 -10 packets captured -12 packets received by filter -0 packets dropped by kernel -``` From 7e4cec2dced6e8e32e58ee123519726d6c346b5a Mon Sep 17 00:00:00 2001 From: cumulusAnia Date: Tue, 10 Dec 2024 17:46:15 +0000 Subject: [PATCH 4/4] ping --- .../Network-Troubleshooting/_index.md | 142 +++++++++++++++--- content/cumulus-linux-512/Whats-New/_index.md | 4 +- 2 files changed, 125 insertions(+), 21 deletions(-) diff --git a/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md b/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md index 97984197bc..9994983f72 100644 --- a/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md +++ b/content/cumulus-linux-512/Monitoring-and-Troubleshooting/Network-Troubleshooting/_index.md @@ -6,43 +6,147 @@ toc: 3 --- Cumulus Linux includes command line and analytical tools to help you troubleshoot issues with your network. -## Use ping +## Check if a Host is Reachable with ping Use `ping` to check that a host is reachable. `ping` also calculates the time it takes for packets to travel round trip. See `man ping` for details. -To test the connection to an IPv4 host: +Use the ping tool to check that a destination on a network is reachable. Ping sends [ICMP](## "Internet Control Message Protocol") Echo Request packets to the specified address and listens for Echo Reply packets. -{{< tabs "TabID15 ">}} +You send Echo Request packets to a destination (IP address or a hostname) to check if it is reachable. In addition, you can specify the following options: +- The number of Echo Request packets to send. You can specify a value between 1 and 10. The default packet count is 3. +- How often two send Echo Request packets. You can specify a value between 0.1 and 5 seconds???. The default value is ???. +- The packet size in bytes. You can specify a value between 1 and 9216. The default value is ??? +- The number of seconds to wait for an Echo Reply packet before the ping request times out. You can specify a value between 0.1 and 10. The default value is ???. +- The source IP address from which to send the Echo Request packets. +- Do not fragment. If the packet is larger than the maximum transmission unit (MTU) of any network segment it traverses, drop the packet instead of fragmenting the packet. +- The layer 3 protocol you want to use to send the Echo Request packets. You can specify IPv4 or IPv6. +- The VRF for which you want to test the routing paths. +- A source interface for which you want to test the routing path for a link local address. IPv6 only. + +{{< tabs "TabID26 ">}} {{< tab "NVUE Commands ">}} +The following example checks if destination 10.10.10.10 is reachable on the network. + +``` +cumulus@switch:~$ nv action ping system 10.10.10.10 +``` + +The following example sends 5 Echo Request packets to check if destination 10.10.10.10 is reachable on the network. + +``` +cumulus@switch:~$ nv action ping system 10.10.10.10 count 5 +``` + +The following example sends Echo Request packets every two seconds to check if destination 10.10.10.10 is reachable on the network. + +``` +cumulus@switch:~$ nv action ping system 10.10.10.10 interval 2 +``` + +The following example sends 50-byte Echo Request packets to check if destination 10.10.10.10 is reachable on the network. + +``` +cumulus@switch:~$ nv action ping system 10.10.10.10 size 200 +``` + +The following example checks if destination 10.10.10.10 is reachable on the network and waits for 3 seconds for an Echo Reply packet before timing out. + +``` +cumulus@switch:~$ nv action ping system 10.10.10.10 time 3 +``` + +The following example checks if destination 10.10.10.10 is reachable on the network and sets the `do not fragment` bit. + +``` +cumulus@switch:~$ nv action ping system 10.10.10.10 do-not-fragment +``` + +The following example sends Echo Request packets to destination 10.10.10.10 from the source IP address 10.10.5.1. + +``` +cumulus@switch:~$ nv action ping system 10.10.10.10 source 10.10.5.1 +``` + +The following example sends Echo Request packets to destination 10.10.10.10 for the management VRF. + +``` +cumulus@switch:~$ nv action ping system 10.10.10.10 vrf mgmt +``` + +The following example sends Echo Request packets to destination 10.10.10.10 for IPv4. + ``` -cumulus@switch:~$ +cumulus@switch:~$ nv action ping system 10.10.10.10 l3protocol ipv4 ``` -To test the connection to an IPv6 host: +The following example sends Echo Request packets from source interface eth0. ``` -cumulus@switch:~$ +cumulus@switch:~$ nv action ping system fe80::a00:27ff:fe00:0 source-interface eth0 ``` {{< /tab >}} {{< tab "Linux Commands ">}} +The following example checks if destination 10.10.10.10 is reachable on the network. + +``` +cumulus@switch:~$ ping 10.10.10.10 +``` + +The following example sends 5 Echo Request packets to check if destination 10.10.10.10 is reachable on the network. + +``` +cumulus@switch:~$ ping -c 5 10.10.10.10 +``` + +The following example sends Echo Request packets every two seconds to check if destination 10.10.10.10 is reachable on the network. + +``` +cumulus@switch:~$ ping -i 2 10.10.10.10 +``` + +The following example sends 50-byte Echo Request packets to check if destination 10.10.10.10 is reachable on the network. + +``` +cumulus@switch:~$ ping -s 50 10.10.10.10 +``` + +The following example checks if destination 10.10.10.10 is reachable and waits for 3 seconds for an Echo Reply packet before the ping request times out. + +``` +cumulus@switch:~$ ping -W 10.10.10.10 +``` + +The following example checks if destination 10.10.10.10 is reachable and sets the `do not fragment` bit for IPv4. + +``` +cumulus@switch:~$ ping –4 -M do 10.10.10.10 +``` + +The following example sends Echo Request packets to destination 10.10.10.10 from the source IP address 10.10.5.1. + +``` +cumulus@switch:~$ ping system -1 10.10.5.1 10.10.10.10 +``` + +The following example sends Echo Request packets to destination 10.10.10.10 for the management VRF. + +``` +cumulus@switch:~$ ping vrf mgmt 10.10.10.10 +``` + +The following example sends Echo Request packets to destination 10.10.10.10 for IPv4. + ``` -cumulus@switch:~$ ping 192.0.2.45 -PING 192.0.2.45 (192.0.2.45) 56(84) bytes of data. -64 bytes from 192.0.2.45: icmp_req=1 ttl=53 time=40.4 ms -64 bytes from 192.0.2.45: icmp_req=2 ttl=53 time=39.6 ms -... +cumulus@switch:~$ ping -1 ipv4 10.10.10.10 ``` -To test the connection to an IPv6 host: +The following example sends Echo Request packets to destination fe80::a00:27ff:fe00:0 from source interface eth0. ``` -cumulus@switch:~$ ping6 -I swp1 2001::db8:ff:fe00:2 -PING 2001::db8:ff:fe00:2(2001::db8:ff:fe00:2) from 2001::db8:ff:fe00:1 swp1: 56 data bytes -64 bytes from 2001::db8:ff:fe00:2: icmp_seq=1 ttl=64 time=1.43 ms -64 bytes from 2001::db8:ff:fe00:2: icmp_seq=2 ttl=64 time=0.927 ms +cumulus@switch:~$ ping -5 fe80::a00:27ff:fe00:0%eth0 ``` {{< /tab >}} @@ -52,15 +156,15 @@ When troubleshooting intermittent connectivity issues, it is helpful to send con ## Print Route Trace with traceroute -Use the `traceroute` tool for network troubleshooting, identifying routing issues, measuring latency, mapping network paths, detecting performance bottlenecks, and diagnosing connectivity problems. +Use the traceroute tool for network troubleshooting, identifying routing issues, measuring latency, mapping network paths, detecting performance bottlenecks, and diagnosing connectivity problems. You send traceroute packets to a destination to which you want to trace the route. You can specify either an IP address or a domain name. In addition, you can specify the following options: - The hop count (the maximum number of hops). You can specify a value between 1 and 255. -- The `traceroute` packet size in bytes. You can specify a value between 28 and 65000 bytes. +- The traceroute packet size in bytes. You can specify a value between 28 and 65000 bytes. - The source IP address to use for sending the `traceroute` packets. - The layer 4 protocol packets to send. You can specify ICMP, TCP, or UDP. -{{< tabs "TabID15 ">}} +{{< tabs "TabID167 ">}} {{< tab "NVUE Commands ">}} The following example validates the path to destination 10.10.10.10. diff --git a/content/cumulus-linux-512/Whats-New/_index.md b/content/cumulus-linux-512/Whats-New/_index.md index 0cc4c19e3b..8d68b35b6f 100644 --- a/content/cumulus-linux-512/Whats-New/_index.md +++ b/content/cumulus-linux-512/Whats-New/_index.md @@ -34,8 +34,8 @@ This document supports the Cumulus Linux 5.12 release, and lists new platforms, - Implement flow-control/backpressure between zebra and clients (like bgpd) to handle heavy churn at high scale( EVPN Scenarios) - SN5400 Hippo | Add SyncE support at 1G (optical) - NVUE - - API call for traceroute - - API call for Ping + - {{}} + - {{}} - support SPIFFE ID for AAA (Validation) - Support for defining APT sources - API call for "ls" linux command to list files in a directory