-
sjorge
I like to imagine it like the beacons of Gondor being lit
-
stevenm_
is DilOS the only illumos/open-solaris based distro that is both a) still actively worked on, and b) uses debian packaging / apt ?
-
» stevenm_ wonders if debian itself can use the same kernel as illumos
-
neuroserve
stevenm_ : were there other illumos distros using apt/debian packaging despite dilos?
-
stevenm_
well nexenta os was
-
stevenm_
aka illumian
-
psydroid
it's an interesting question, but shouldn't IPS work fine too?
-
Woodstock
illumian was never a thing, and nexenta stopped using debian packaging with their 5.0 release five years ago. and the whole debian stuff never worked that well for it anyway.
-
stevenm_
Woodstock, according to this...
illumos.org/docs/about/distro
-
stevenm_
NexenStor is still using APT
-
Woodstock
don't believe everything you read on the internet
-
stevenm_
shame if it's not true
-
stevenm_
tbh I think my dream scenario would be an official debian port ... like they do for the kfreebsd and hurd kernels
-
stevenm_
igork, ^ :P
-
igork
stevenm_: dilos is active and many into at #dilos channel :)
-
stevenm_
Woodstock, strange I watched a whole presentation on youtube about illumian being a thing last night :P
youtube.com/watch?v=P4SS3R_4oy8
-
stevenm_
the audience looked a little empty - and it was 9 years ago :P
-
toasterson
stevenm_: it was a debian fork for illumos like kfreebsd but like kfreebsd it did not find traction and died about 3 years after
-
stevenm_
toasterson, so what'd be the proper term (if 'k' is 'kernel of') if debian did have a port? in the illumos/opensolaris sense?
-
stevenm_
kIllumos ?
-
stevenm_
or is the kernel still seen as the OpenSolaris kernel?
-
jperkin
"OpenSolaris" hasn't been a thing for well over a decade, Solaris is very much not open, and if you find anything still referencing that name (other than historical) then it should be removed
-
toasterson
stevenm_: no clue. we never gave the kernel a dedicated name. the source is illumos-gate but that also includes userland things not just the kernel.
-
stevenm_
toasterson, well you could say that the linux kernel 'project' hosts a few userland tools too
-
stevenm_
but no one calls the linux kernel (between your normal desktop/server gnu/linux distro's - nothing exotic like android) "forks" just because they might add/remove the odd patch or select/deselect things at compile time
-
stevenm_
so maybe 'illumos-gate' kernel is about the right name? doesn't uname still show SunOS for some reason!? :D
-
toasterson
it does, but that has historical reasons. C programs still need it to detect things sometimes.
-
stevenm_
hmm, if I ask google to show me any pages mentioning "NexentaStor CE" OR "NexentaStor community edition" for the last 2 years...
-
stevenm_
I get 8 pages lol
-
jclulow
I would just call it "the illumos kernel".
-
andyf
That's what `uname -o` shows, after all
-
alanc
certainly better than the threatening looking "killumos"
-
» pmooney chuckles
-
bahamat
rmustacc: I've got a system getting an error creating overlays. Wondering if you've got any insight before I get lost in this stuff.
-
bahamat
Error is: dladm: warning: failed to set property vxlan/listen_ip
-
bahamat
The IP specified *is* plumbed (at least according to ipadm)
-
sjorge
killumos sounds like what a terminator would run on
-
richlowe_
weren't they commodore 64 or something like that?
-
richlowe_
when you saw the code on screen
-
andyf
It was 6502 at least, IIRC
-
toasterson
it was a couple ones depending on era. Terminator 4 ran linux. I don't know the older ones.
-
rmustacc
bahamat: It didn't tell you why it failed did it?
-
bahamat
rmustacc: It says "dladm: overlay creation failed: <unknown error>"
-
rmustacc
Ah, that's too bad. I didn't remember how much additional info we had there.
-
rmustacc
There'll probably be a kernel ioctl that's issuing it.
-
bahamat
Yeah, the dladm_overlay_setprop function does ioctl(dladm_dld_fd(handle), OVERLAY_IOC_SETPROP, &prop)
-
rmustacc
Yeah, I was hoping it would have given you a bit more there, but it's been 5+ years since i've looked at any of this.
-
rmustacc
Maybe grab a quick truss of it?
-
danmcd
truss is good, and I think I have a good kernel place to throw downstack.d at.
-
bahamat
It happens during vmadm start, so it's hard to grab.
-
rmustacc
OK, one min.
-
rmustacc
I can give you a dtrace thing for it and then I have to get back to something for danmcd.
-
bahamat
Sweet, that'll help a lot. I was looking at writing one myself
-
rmustacc
dtrace -n 'fbt::vxlan_o_setprop:entry{ printf("%s\n", stringof(args[1])); }' -n 'fbt::vxlan_o_setprop:return{ trace(arg1); }'
-
rmustacc
Something like that.
-
rmustacc
Haven't built it.
-
bahamat
ok, let me see what I can get out of that.
-
danmcd
(That's the function I want to downstack...)
-
rmustacc
It doesn't call anything else.
-
rmustacc
It all returns directly.
-
danmcd
Oh...
-
danmcd
.. nothing that'll get reached at all on a failure. Gotcha.
-
rmustacc
I mean, you'll call bcopy, but that's not useful.
-
rmustacc
Or mutex calls.
-
rmustacc
But there are no return values generated from downstack stuff.
-
bahamat
That's what that ioctl is doing?
-
rmustacc
Yes.
-
rmustacc
Eventually.
-
bahamat
Hmm, crap. dtrace: invalid probe specifier
-
bahamat
The CN I'm testing on has no vms with overlays currently. I tried on another one that does already have overlays and that worked.
-
rmustacc
Invalid probe specifier or doesn't match any probes?
-
bahamat
I copied it
-
bahamat
Hmm. modinfo says overlay is loaded
-
rmustacc
It comes from the vxlan module. If had said it didn't match any probes then you'd just toss in a -Z.
-
rmustacc
*If it had
-
bahamat
Yeah, vxlan isn't loaded
-
bahamat
Ok, even with -Z it was giving me an error about, but I modloaded it, and dtrace is happy now.
-
rmustacc
It probably would have complained about using args[1].
-
rmustacc
what is the address anyways?
-
bahamat
of the module?
-
bahamat
or the listen_ip?
-
rmustacc
The IP.
-
bahamat
-p svp/underlay_ip=10.3.248.238 -p vxlan/listen_ip=10.3.248.238
-
bahamat
Things that I don't think matter: They have aggrs, lldp falls to maintenance
-
bahamat
We had both of that happening at Joyent and it never caused this issue.
-
rmustacc
So most of the checks are all about whether or not something is a multicast address.
-
bahamat
There are also CNs running the same PI that aren't having this error, but the ones that do, it's consistent.
-
rmustacc
So I think the quesiton I'd ask is whether we're somehow not properly doing an endian encoding.
-
rmustacc
As 238.* is an IPv4 mcast address.
-
rmustacc
But that's why I'd confirm that we're getting EINVAL, that that was the property, and then we'll change it to print the data.
-
bahamat
Ah...that may be.
-
bahamat
I'll see if there are any other servers exhibiting this issue or just the one.
-
rmustacc
Well, we should go diagnose the bug.
-
bahamat
I'll try mocking up this IP on a CN and see what I get out of that dtrace
-
rmustacc
Can't force the provision to that CN?
-
rmustacc
If that is right (and I sincerely hope not), then anything that ends in .224-.239 would fail.
-
bahamat
It's a customer, so I'm preparing a set of things for them to get back to me with, but it'll probably be tomorrow at the earliest that I'd get a response.
-
rmustacc
You should be able to mock that up.
-
rmustacc
As long as you never start the overlay the set-prop will work.
-
rmustacc
Because we don't try to use that until we get further there.
-
rmustacc
So even on a system without that IP you can try it and see.
-
rmustacc
It'll fail in a different way later.
-
bahamat
I'll check with Joyent to see if they have any underlay addresses with that host ID. If they do, and they have no issues there, that would seem to absolve the endianness
-
rmustacc
OK. Well if you have more info, let me know.
-
bahamat
OK, so I could just do the dladm create-overlay even without plumbing it up and it should hit the same error, if it's an issue with the IP itself?
-
bahamat
FWIW: vxlan_o_setprop:return 22
-
bahamat
Hmm, just EINVAL.
-
rmustacc
So you'd want to modify the DTrace to then print the opening bits there.
-
rmustacc
EINVAL is the only error that whole chunk there.
-
rmustacc
So basically print the property name. If it maches what you expect, then you want DTrace to print the buffer as an in6_addr.
-
bahamat
So I'm going to have to do that in the call to strcmp(), right?
-
bahamat
O, no, actually I don't need to
-
rmustacc
No, you use the entry probe and predicate.
-
bahamat
Yeah
-
rmustacc
And if it matches, then you case arg2 to the right type and print.
-
bahamat
How do I make it print as a type?
-
rmustacc
Something like print((struct in6_addr *)arg2);
-
rmustacc
But you'd only want to do that if the predicate about the property name matches.
-
rzezeski
maybe: `print(*(struct in6_addr *)arg2)` (so you don't just print it as pointer)
-
rmustacc
ah yeah, thanks.
-
bahamat
Ah, ok, here we go:
-
bahamat
uint8_t [16] _S6_u8 = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 0xa, 0x3, 0xf8, 0xee ]
-
bahamat
So that macro does this: #define IN6_IS_ADDR_MULTICAST(a) ((a)->s6_addr[0] == 0xff)
-
bahamat
Now I want to get at that s6_addr
-
bahamat
wait, we're probably falling all the way through to IN6_IS_ADDR_V4MAPPED so what I really want to look at is IN_MULTICAST
-
bahamat
OK, so if I manually `0xeef8030a & 0xf0000000`, that does indeed equal 0xe0000000.
-
bahamat
rmustacc: Thanks for your help here, you literally saved me days of trying to decipher all of this on my own.
-
danmcd
Callers to IN_MULTICAST must normalize-to-host-order whatever it feeds. Other callers of IN_MULTICAST use ntohl() first, so should the overlay code in question.
-
danmcd
(Don't ask me WHY it's that way, likely a 4BSD choice inherited from 2BSD.)
-
» danmcd is trying to remember which BSD first got multicast. I think it was 4.3 proper, or 4.3 Net/1 or Net/2.