Closed T-X closed 5 years ago
Actually, it does not seem to be the NO-CARRIER per se. It's just that setting pim-veth1 in the network namespace UP fixes it. If I set pim-veth1 DOWN again in the network namespace, so pim-veth0 becoming NO-CARRIER again, then the segfault does not reappear.
So to reproduce I need to delete and recreate the veth pair. Like:
$ ip link del pim-veth0
$ ip link add pim-veth0 type veth peer name pim-veth1
$ ip link set netns pim6test0 dev pim-veth1
$ ip link set up dev pim-veth0
[not setting pim-veth1 up here]
$ ./src/pim6sd -n -f pim6sd.conf
[5sec]
... segmentation fault
Seems it bites the dust when the interface doesn't have a link-local address. I've added some checks for this in 10c64e3 to prevent segfaulting. Hope that helps!
With current master (c3e2cab46665ea) I get a segfault after about 5 seconds if one of the two interfaces I have enabled in the pim6.conf has no carrier.
My pim6sd.conf looks like this:
And "ip address *" like this:
(\< and > replaced with "()")
pim-veth0 has NO-CARRIER because I haven't set the interface pim-veth1, which sits in a different network namespace, up yet.
gdb output: