X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/blobdiff_plain/92e57abc8b98e5c28b6d6b4e9e3bf8735c0746c4..65faf8dff03b7ed638341b6105b26addae28d641:/keys/tripe-keys.in diff --git a/keys/tripe-keys.in b/keys/tripe-keys.in index b195342c..b0dbf945 100644 --- a/keys/tripe-keys.in +++ b/keys/tripe-keys.in @@ -474,6 +474,30 @@ def cmd_clean(args): zap(i) ###-------------------------------------------------------------------------- +### Commands: mtu + +def cmd_mtu(args): + mtu, = (lambda mtu = '1500': (mtu,))(*args) + mtu = int(mtu) + + blksz = C.gcciphers[conf['cipher']].blksz + + index = conf['mac'].find('/') + if index == -1: + tagsz = C.gcmacs[conf['mac']].tagsz + else: + tagsz = int(conf['mac'][index + 1:])/8 + + mtu -= 20 # Minimum IP header + mtu -= 8 # UDP header + mtu -= 1 # TrIPE packet type octet + mtu -= tagsz # MAC tag + mtu -= 4 # Sequence number + mtu -= blksz # Initialization vector + + print mtu + +###-------------------------------------------------------------------------- ### Main driver. ## Exceptions. @@ -485,6 +509,7 @@ commands = {'help': (cmd_help, 0, 1, ''), 'upload': (cmd_upload, 0, 0, ''), 'update': (cmd_update, 0, 0, ''), 'clean': (cmd_clean, 0, 0, ''), + 'mtu': (cmd_mtu, 0, 1, '[PATH-MTU]'), 'generate': (cmd_generate, 1, 1, 'TAG'), 'rebuild': (cmd_rebuild, 0, 0, '')}