option skip verif

This commit is contained in:
Pascal Engélibert 2026-03-03 09:28:53 +01:00
commit 76c1b9c08c
3 changed files with 77 additions and 17 deletions

View file

@ -387,7 +387,11 @@ scp records/wikipedia nancy.g5k:tlsbench/records/
LD_PRELOAD="/home/pengelib/tlsbench/libssl.so.3.6 /home/pengelib/tlsbench/libcrypto.so.3.6" ./netreplay --help
```
https://api.grid5000.fr/stable/sites/lyon/metrics?nodes=dahu-6&metrics=wattmetre_power_watt,bmc_node_power_watt&start_time=2026-02-26T14:00&end_time=2026-02-26T14:40
#### Wattmetre
API timestamp at Paris time.
https://api.grid5000.fr/stable/sites/nancy/metrics?nodes=gros-69&metrics=bmc_node_power_watt&start_time=2026-02-26T14:00&end_time=2026-02-26T14:40
## Problems

39
exp.py
View file

@ -208,10 +208,11 @@ CONFIGS = {
# i7-4790 -> i5-7300HQ
"i5": {
"experiments": [
"impl-cipher-ver",
"impl-cert-ver",
"impl-kex-ver",
"zrtt",
#"impl-cipher-ver",
#"impl-cert-ver",
#"impl-kex-ver",
#"zrtt",
"realistic",
],
"sides": [
"client",
@ -222,7 +223,7 @@ CONFIGS = {
True,
],
"records": [
{ "filename": "wikipedia", "repeat": 2000 },
{ "filename": "wikipedia", "repeat": 1000 },
],
"repo_dir": "/home/tuxmain/reps/tlsbench",
"exp_dir": "/dev/shm/exp",
@ -237,9 +238,12 @@ CONFIGS = {
"rapl": True,
"sa": True,
"listen_port": 8080,
"idle": "idle - - - - - - - - - 600.000194311142 0.0 1822 6541 1.3880000000000052 304283035 -",
"idle": "idle - - - - - - - - - 1772446308.8950071 1772447508.8950853 1200.000078201294 0 1747 6555 2.4309999999999974 564883014 -",
"notify_listen": ("0.0.0.0", 8090),
"notify_addr": "192.168.3.1:8090",
"ld_preload": {
"openssl": "/home/tuxmain/reps/tlsbench/libssl.so.3:/home/tuxmain/reps/tlsbench/libcrypto.so.3",
}
},
"i5-local": {
"experiments": [
@ -294,7 +298,7 @@ CONFIGS = {
"log_backup_dir": "/home/pengelib",
"local_addr": "TODO",
"remote_addr": "172.16.52.6",
"remote_ssh": "pengelib@nova-6",
"remote_ssh": "pengelib@gros-69",
"remote_psw": None,
"remote_repo_dir": "/home/pengelib/tlsbench",
"wattmeter": False,
@ -302,11 +306,11 @@ CONFIGS = {
"rapl": False,
"sa": False,
"listen_port": 8080,
"idle": "idle - - - - - - - - - 600.000194311142 0.0 1822 6541 1.3880000000000052 304283035 -",#TODO
"idle": "idle - - - - - - - - - 1772205368.593937 1772206568.6941307 1200.1001937389374 0 298843 2217803 0 0 -",#TODO
"notify_listen": ("0.0.0.0", 8090),
"notify_addr": "TODO:8090",
"ld_preload": {
"openssl": "LD_PRELOAD=/home/pengelib/openssl-openssl-3.6.1/libssl.so.3:/home/pengelib/openssl-openssl-3.6.1/libcrypto.so.3",
"openssl": "/home/pengelib/openssl-openssl-3.6.1/libssl.so.3:/home/pengelib/openssl-openssl-3.6.1/libcrypto.so.3",
}
},
}
@ -362,11 +366,11 @@ CERT_SIGN_ALGS = [
"rsa2048", "rsa3072", "rsa4096", # widely used
]
IMPLS = [
"aws-lc", # Amazon's crypto widely used in Rust stuff
"boring", # Google's fork of OpenSSL used in Chrome and Android
#"aws-lc", # Amazon's crypto widely used in Rust stuff
#"boring", # Google's fork of OpenSSL used in Chrome and Android
#"graviola", # New crypto in Rust
"openssl", # widely used
"ring", # used in most Rust stuff
#"ring", # used in most Rust stuff
#"symcrypt", # Microsoft's crypto
#"wolfcrypt" # used in embedded (won't build with rpxy for now)
]
@ -651,10 +655,10 @@ def run_netreplay_server(ssh, exp_dir, repo_dir, record, listen_addr, listen_por
if tls:
cmd.append("--tls")
cmdline = " ".join(cmd)
print(cmdline)
#print(cmdline)
return ssh_run_bg(ssh, cmdline, env)
def run_netreplay_client(ssh, exp_dir, repo_dir, record, remote_addr, remote_port, tls, impl, certs_dir, only_record=None, ciphers=None, kexes=None, earlydata="0", debug=False, notify_addr=None):
def run_netreplay_client(ssh, exp_dir, repo_dir, record, remote_addr, remote_port, tls, impl, certs_dir, only_record=None, ciphers=None, kexes=None, earlydata="0", debug=False, notify_addr=None, ld_preload=None, skip_verif=False):
if exp_dir[-1] != "/":
exp_dir += "/"
repo_dir = repo_dir.removesuffix("/")
@ -674,8 +678,10 @@ def run_netreplay_client(ssh, exp_dir, repo_dir, record, remote_addr, remote_por
cmd += ["--record", only_record]
if notify_addr != None:
cmd += ["-n", notify_addr]
if skip_verif:
cmd.append("-s")
cmdline = " ".join(cmd)
print(cmdline)
#print(cmdline)
return ssh_run_bg(ssh, cmdline, env)
# Run with or without SSH
@ -693,9 +699,9 @@ def ssh_run(ssh, cmd, env={}, **kwargs):
# Run with or without SSH
def ssh_run_bg(ssh, cmd, env={}, **kwargs):
print(cmd)
if ssh == None:
# As long as there is no argument containing a space (escaped or quoted), we're fine
print(cmd)
return subprocess.Popen(cmd.split(" "), env=env)
else:
# https://stackoverflow.com/questions/8775598/how-to-start-a-background-process-with-nohup-using-fabric
@ -924,6 +930,7 @@ def run_exp(config, only_record=None, idle=False, shutdown=False, debug=False):
debug=debug,
notify_addr=config["notify_addr"],
ld_preload=config["ld_preload"] if "ld_preload" in config else None,
skip_verif=True,
)
prof_filename = "-"

49
g5kwatt.py Normal file
View file

@ -0,0 +1,49 @@
import getpass, time, requests
def fetch(site, node, start, stop, user, psw):
start_str = time.strftime("%Y-%m-%dT%H:%M", time.localtime(int(start)))
stop_str = time.strftime("%Y-%m-%dT%H:%M", time.localtime(int(stop+61)))
auth = requests.auth.HTTPBasicAuth(user, psw)
resp = requests.get(f"https://api.grid5000.fr/stable/sites/{site}/metrics?nodes={node}&metrics=bmc_node_power_watt&start_time={start_str}&end_time={stop_str}", auth=auth)
if resp.status_code != 200:
print("Status: ", resp.status_code)
print(resp.content)
exit(1)
data = resp.json()
energy = 0
last_power = None
last_time = 0
for sample in data:
t = time.mktime(time.strptime(sample["timestamp"], "%Y-%m-%dT%H:%M:%S.%f%z"))
if last_power != None:
energy += last_power * (t - last_time)
last_power = None
if t >= start and t <= stop:
last_power = sample["value"]
last_time = t
return energy
def get_psw():
psw = None
try:
f = open("/dev/shm/g5k_psw", "r")
psw = f.read()
f.close()
except:
pass
if psw:
return psw
psw = getpass.getpass("Psw: ")
f = open("/dev/shm/g5k_psw", "w")
f.write(psw)
f.close()
return psw
def main():
user = "pengelib"
psw = get_psw()
print(fetch("nancy", "gros-69", 1772205368.593937, 1772206568.6941307, user, psw))
if __name__ == "__main__":
main()