NE-ONE: Diagnosing TTL Packet Expiry

Diagnosing TTL Packet Expiry in NE-ONE

 

Where you see <username> and <password> use the credentials you have set.

If you do not know these please contact support.

 

If you have a routing loop inside the NE-ONE you'll see errors in the log saying TTL expired e.g:

[35mCODE [ippe_ppo_process_packet_with_classes_and_bandwidth.1460:8] 2022-10-18 08:50:24.058530: TTL Expired on Packet for ppo [<ppo/object_name>], id [<nnn>] using network [<network_name>]

 

NE-ONE Packets have their own adjustable time to live (unrelated to IPv4 TTL). This is provided to assist with internal loop prevention.

 

When the TTL: expires a message is printed to ippe.log

 

The initial ttl is set to very large value (billions), but you can set your own, choose a maximum number of messages per second and print the packet causing the loop using these ippecli commands

--setinternalttl <value in internal hops> - by default ~4.3 billion

--printpacketwhenttlexpires <0 | 1> - by default 0 (off)

--setttlexpired frequency <messages per second> - by default 1

 

 

Here's how to use it.

 

Use the <username>/<password>. For example from Windows command prompt:

 

PS C:\Users\FRP> ssh <username>@192.168.202.138 ← change this IP address to your systems IP address

<username>@192.168.202.138's password: ← <password>

 

You get:

 

 

Select option E <Enter key> from the menu to exit into the shell. You get to the system prompt

 

<username>@NE-ONE:~$

 

Now run the following command:

 

<username>@NE-ONE:~$ sudo docker exec -it ippe bash

 

This gets you into the NE-ONE's docker environment. You get to this prompt:

 

root@NE-ONE:/#

 

Now login using the command line enter

 

root@NE-ONE:/# sess=`/ippe/bin/ippecli --login "admin;<admin's password>”` ← change this password to your admin web password

 

[Note the backticks above: ` - they are not single quotes: ']

 

This stores the session login token in the bash shell variable sess and we can use this to execute one of the commands above. So, for example, to see more packet details (e.g. ip addresses) when the ttl expires use the command:

 

root@NE-ONE:/# /ippe/bin/ippecli $sess --printpacketwhenttlexpires 1

Then tail the ippe.log file.

tail -1000f /ippe/logs/ippe.log