this is a strace from an RA rcv to a ubus notify proto... ( UPDATE )
you might see something different or nothing at all from a similar command... ( best run after boot and prior to the first RA UPDATE )
note: very messy to sanitize... but curious if any signals at all hit odhcp6c after the update arrives...
[root@dca632 /usbstick 46°]# strace -f -s 10000 -p $(pidof odhcp6c) 2>&1 | grep -A20 RT_1
[pid 23451] rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
[pid 23451] rt_sigaction(SIGCHLD, {sa_handler=0x438d3c, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x7f9cb82d18}, NULL, 8) = 0
[pid 23451] rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f9cb82d18}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
[pid 23451] getppid() = 13803
[pid 23451] uname({sysname="Linux", nodename="rpi-dca6325631", ...}) = 0
[pid 23451] getcwd("/lib/netifd/proto", 4096) = 18
[pid 23451] openat(AT_FDCWD, "/lib/netifd/dhcpv6.script", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
[pid 23451] fcntl(3, F_SETFD, FD_CLOEXEC) = 0
[pid 23451] fcntl(3, F_DUPFD_CLOEXEC, 10) = 10
[pid 23451] fcntl(10, F_SETFD, FD_CLOEXEC) = 0
[pid 23451] close(3) = 0
[pid 23451] rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
[pid 23451] rt_sigaction(SIGINT, {sa_handler=0x438d3c, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x7f9cb82d18}, NULL, 8) = 0
[pid 23451] rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
[pid 23451] rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x7f9cb82d18}, NULL, 8) = 0
[pid 23451] rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
[pid 23451] read(10, "#!/bin/sh\n[ -z \"$2\" ] && echo \"Error: should be run by odhcpc6c\" && exit 1\n. /lib/functions.sh\n. /lib/netifd/netifd-proto.sh\n\nsetup_interface () {\n\tlocal device=\"$1\"\n\tlocal prefsig=\"\"\n\tlocal addrsig=\"\"\n\n\t# Apply IPv6 / ND configuration\n\tHOPLIMIT=$(cat /proc/sys/net/ipv6/conf/$device/hop_limit)\n\t[ -n \"$RA_HOPLIMIT\" -a -n \"$HOPLIMIT\" ] && [ \"$RA_HOPLIMIT\" -gt \"$HOPLIMIT\" ] && echo \"$RA_HOPLIMIT\" > /proc/sys/net/ipv6/conf/$device/hop_limit\n\t[ -n \"$RA_MTU\" ] && [ \"$RA_MTU\" -ge 1280 ] && echo \"$RA_MTU\" > /proc/", 511) = 511
[pid 23451] wait4(-1, 0x7fd33d291c, WNOHANG, NULL) = -1 ECHILD (No child process)
[pid 23451] wait4(-1, 0x7fd33d29dc, WNOHANG, NULL) = -1 ECHILD (No child process)
[pid 23451] openat(AT_FDCWD, "/lib/functions.sh", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
[pid 23451] fcntl(3, F_SETFD, FD_CLOEXEC) = 0
[pid 23451] fcntl(3, F_DUPFD_CLOEXEC, 10) = 14
[pid 23451] fcntl(14, F_SETFD, FD_CLOEXEC) = 0
[pid 23451] close(3) = 0
[pid 23451] read(14, "#!/bin/sh\n# Copyright (C) 2006-2014 OpenWrt.org\n# Copyright (C) 2006 Fokus Fraunhofer <carsten.tittel@fokus.fraunhofer.de>\n# Copyright (C) 2010 Vertical Communications\n\n\ndebug () {\n\t${DEBUG:-:} \"$@\"\n}\n\n# newline\nN=\"\n\"\n\n_C=0\nNO_EXPORT=1\nLOAD_STATE=1\nLIST_SEP=\" \"\n\n# xor multiple hex values of the same length\nxor() {\n\tlocal val\n\tlocal ret=\"0x$1\"\n\tlocal retlen=${#1}\n\n\tshift\n\twhile [ -n \"$1\" ]; do\n\t\tval=\"0x$1\"\n\t\tret=$((ret ^ val))\n\t\tshift\n\tdone\n\n\tprintf \"%0${retlen}x\" \"$ret\"\n}\n\nappend() {\n\tlocal var=\"$1\"\n\tlocal", 511) = 511
[pid 23451] wait4(-1, 0x7fd33d25cc, WNOHANG, NULL) = -1 ECHILD (No child process)
[pid 23451] read(14, " value=\"$2\"\n\tlocal sep=\"${3:- }\"\n\n\teval \"export ${NO_EXPORT:+-n} -- \\\"$var=\\${$var:+\\${$var}\\${value:+\\$sep}}\\$value\\\"\"\n}\n\nlist_contains() {\n\tlocal var=\"$1\"\n\tlocal str=\"$2\"\n\tlocal val\n\n\teval \"val=\\\" \\${$var} \\\"\"\n\t[ \"${val%% $str *}\" != \"$val\" ]\n}\n\nconfig_load() {\n\t[ -n \"$IPKG_INSTROOT\" ] && return 0\n\tuci_load \"$@\"\n}\n\nreset_cb() {\n\tconfig_cb() { return 0; }\n\toption_cb() { return 0; }\n\tlist_cb() { return 0; }\n}\nreset_cb\n\npackage() {\n\treturn 0\n}\n\nconfig () {\n\tlocal cfgtype=\"$1\"\n\tlocal name=\"$2\"\n\n\texport ${NO_", 511) = 511
[pid 23451] brk(NULL) = 0x1f014000
[pid 23451] brk(0x1f015000) = 0x1f015000
[pid 23451] wait4(-1, 0x7fd33d25cc, WNOHANG, NULL) = -1 ECHILD (No child process)
[pid 23451] read(14, "EXPORT:+-n} CONFIG_NUM_SECTIONS=$((CONFIG_NUM_SECTIONS + 1))\n\tname=\"${name:-cfg$CONFIG_NUM_SECTIONS}\"\n\tappend CONFIG_SECTIONS \"$name\"\n\texport ${NO_EXPORT:+-n} CONFIG_SECTION=\"$name\"\n\tconfig_set \"$CONFIG_SECTION\" \"TYPE\" \"${cfgtype}\"\n\t[ -n \"$NO_CALLBACK\" ] || config_cb \"$cfgtype\" \"$name\"\n}\n\noption () {\n\tlocal varname=\"$1\"; shift\n\tlocal value=\"$*\"\n\n\tconfig_set \"$CONFIG_SECTION\" \"${varname}\" \"${value}\"\n\t[ -n \"$NO_CALLBACK\" ] || option_cb \"$varname\" \"$*\"\n}\n\nlist() {\n\tlocal varname=\"$1\"; shift\n\tlocal value=\"$*\"\n", 511) = 511
--
[pid 23453] rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x7f9cb82d18}, NULL, 8) = 0
[pid 23453] close(3) = 0
[pid 23453] dup3(4, 1, 0) = 1
[pid 23453] close(4) = 0
[pid 23453] newfstatat(AT_FDCWD, "/bin/cat", {st_mode=S_IFREG|0755, st_size=413729, ...}, 0) = 0
[pid 23453] execve("/bin/cat", ["cat", "/proc/sys/net/ipv6/conf/eth1/hop_limit"], 0x1f031830 /* 31 vars */) = 0
[pid 23453] set_tid_address(0x7f9c24c0cc) = 23453
[pid 23453] openat(AT_FDCWD, "/etc/ld-musl-aarch64.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 23453] openat(AT_FDCWD, "/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
[pid 23453] fcntl(3, F_SETFD, FD_CLOEXEC) = 0
[pid 23453] fstat(3, {st_mode=S_IFREG|0644, st_size=73744, ...}) = 0
[pid 23453] read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0p-\0\0\0\0\ LOTSOFELFHERE
[pid 23453] mmap(NULL, 143360, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x7f9c198000
[pid 23453] mmap(0x7f9c1b9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x11000) = 0x7f9c1b9000
[pid 23453] close(3) = 0
[pid 23453] mprotect(0x7f9c1b9000, 4096, PROT_READ) = 0
[pid 23453] mprotect(0x474000, 4096, PROT_READ) = 0
[pid 23453] prctl(PR_SET_NAME, "cat") = 0
--
[pid 23454] rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x7f9cb82d18}, NULL, 8) = 0
[pid 23454] close(3) = 0
[pid 23454] dup3(4, 1, 0) = 1
[pid 23454] close(4) = 0
[pid 23454] wait4(-1, 0x7fd33d199c, WNOHANG, NULL) = -1 ECHILD (No child process)
[pid 23454] newfstatat(AT_FDCWD, "/usr/sbin/jshn", 0x7fd33d1598, 0) = -1 ENOENT (No such file or directory)
[pid 23454] newfstatat(AT_FDCWD, "/usr/bin/jshn", {st_mode=S_IFREG|0755, st_size=12299, ...}, 0) = 0
[pid 23454] rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
[pid 23454] clone(child_stack=NULL, flags=SIGCHLDstrace: Process 23455 attached
<unfinished ...>
[pid 23455] gettid( <unfinished ...>
[pid 23454] <... clone resumed>) = 23455
[pid 23455] <... gettid resumed>) = 23455
[pid 23454] rt_sigprocmask(SIG_SETMASK, [], <unfinished ...>
[pid 23455] rt_sigprocmask(SIG_SETMASK, [], <unfinished ...>
[pid 23454] <... rt_sigprocmask resumed>NULL, 8) = 0
[pid 23455] <... rt_sigprocmask resumed>NULL, 8) = 0
[pid 23454] wait4(-1, <unfinished ...>
[pid 23455] execve("/usr/bin/jshn", ["jshn", "-w"], 0x1f03fc08 /* 112 vars */) = 0
[pid 23455] set_tid_address(0x7fa06f50cc) = 23455
[pid 23455] openat(AT_FDCWD, "/etc/ld-musl-aarch64.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
--
[pid 23456] rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0x7f9cb82d18}, NULL, 8) = 0
[pid 23456] execve("/bin/ubus", ["ubus", "call", "network.interface", "notify_proto", "{ \"action\": 0, \"link-up\": true, \"data\": { \"passthru\": \"100050000000000000242\" }, \
"keep\": false, \"ip6addr\": [ { \"ipaddr\": \"2403\", \"mask\": \"128\", \
"preferred\": 2847, \"valid\": 3847, \"offlink\": true } ], \
"routes6\": [ { \"target\": \"::\", \"netmask\": \"0\", \
"gateway\": \"fe80\", \"metric\": 384, \"valid\": 1799, \
"source\": \"2403" }, { \"target\": \"::\", \"netmask\": \"0\", \
"gateway\": \"fe80\", \"metric\": 384, \"valid\": 1799, \
"source\": \"2403\" } ], \"ip6prefix\": [ \"2403\" ], \
"dns\": [ \"2403", \"2403\" ], \"interface\": \"wan6\" }"], 0x1f040028 /* 112 vars */) = 0
( further down there was something about 'target' empty in the proto handler but that could normal... who knows... )