Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Diagnosing TTL Packet Expiry in NE-ONE

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 itrinegy/itrinegy (or from v2022.08.936 onwards neone/neone) username/password combo (or use whatever password you changed it to). For example from Windows command prompt:

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

itrinegy@192.168.202.138's password: ← itrinegy (or whatever you changed it to)

You get:

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

itrinegy@NE-ONE:~$

Now run the following command:

itrinegy@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 --setinternalttl 1

  • No labels