-
tsoome
Sorry for me doing this in first place.
-
nahamu
I forgive you all. :-P
-
jbk
if you have a packet that's segmented into 2+ mblk_ts (i.e. mblk_t->b_cont != NULL), how does that relate to mac_hcksum_set()? do you set that on the first or last mblk_t, or do you have to go through and set that on each mblk_t
-
rmustacc
In general most metadata is expected to be on the head and it's required that if someone removes the head information it would get duplicated to the tail.
-
rmustacc
As an example, if you have initial information from a NIC that's doing inner/outer checksums due to encap and the encapped packet is in the tail, when you removed the link and passed it on, then you'd need to update the checksums.
-
jbk
ok
-
rmustacc
Conversely, a driver should only ever look at the head.
-
rmustacc
That help jbk?
-
jbk
yes.. exactly what I needed to know
-
jbk
thanks
-
rmustacc
I think the other useful thing to keep in mind is that the stack will basically take the fast path only when it as all the L2-L4 headers in one mblk and will otherwise pull it up at some point.
-
jbk
ok.. i'm just looking at being able to RX a packet (likely jumbo frame) using >1 segment but not header splitting -- just to avoid allocating > PAGESIZE chunks of DMA memory
-
rmustacc
Even if it was header splitting it'd be fine.
-
jbk
(may look at the header splitting feature later, so that's good to know just to be sure)
-
rmustacc
Basically you just don't want to split L3/L4 headers if you can avoid it.
-
jbk
ok
-
rmustacc
If you're splitting at the end of the headers / data it may mamke sense.
-
rmustacc
But to be honest, then if you start using encapsulation were you want that split to be really changes.
-
rmustacc
It also may not buy you anyting unless the stack actually frees the leading block sooner.
-
Chat-ron
hi, I was wondering where can I find some ressources for starting with IllumOS ? I'm looking for some resources about the basic stuff like how to check the listening ports or how to manage the services
-
sommerfeld
in other stacks, with the assistance of the NIC in picking the split point, header split + page flipping has enabled zero-copy RX. But a lot of other things have to align for that to work.
-
danmcd
We had zero-copy RX at one point, but IIRC the historical context of losing it was, "sun4u machines did copyin/copyout faster than the overhead of ZC setup". That was a long time ago.
-
rmustacc
Assuming dma binding right now we shouldn't have copies going on at least until sockfs.
-
rmustacc
That is when we copy to the user address space.
-
rmustacc
At least, in the happy case.
-
danmcd
The historical ZC was pre-sockfs, FWIW.
-
danmcd
(or damn near after it...)
-
gitomat
[illumos-gate] 15349 dtrace should accept comma after last item in enum (fix tst.enum.d) -- Toomas Soome <tsoome⊙mc>
-
gitomat
[illumos-gate] 15169 incorrect argument declaration for pthread_rwlock_destroy -- Robert Mustacchi <rm⊙fo>
-
gitomat
[illumos-gate] 15246 scsi_hba_attach_setup(9F): Typo dev_bus_ops -> devo_bus_ops -- Robert Mustacchi <rm⊙fo>
-
gitomat
[illumos-gate] 15055 mc_tx(9E) has incorrect function name -- Robert Mustacchi <rm⊙fo>
-
gitomat
[illumos-gate] 15361 ld doesn't fill out PT_DYNAMIC sufficiently for binutils 2.40 -- Richard Lowe <richlowe⊙rn>
-
gitomat
[illumos-gate] 15260 ld crashes if group members are stripped by -s -- Richard Lowe <richlowe⊙rn>
-
sommerfeld
Chat-ron: service management is mainly through svcs, svcadm, and svccfg commands. netstat -a will show port usage (see the man page for other useful flags)
-
Chat-ron
sommerfeld >> thanks for the hints ; I've seen there is no -l flag for netstat, so I assume there is no equivalent to a netstat -l ?
-
rmustacc
No, but it'd probably be fairly straightforward to add.
-
toasterson
Chat-ron: netstat -a -f inet gets you close enough. Other than filtering out sockets there is seldome much noise
-
toasterson
adapt -f inet to -f inet6 for ipv6
-
Chat-ron
yep I've seen this flags
-
Chat-ron
but I thought that, as in FreeBSD there is sockstat for this (in addition of netstat), maybe that IllumOS there would be another tool too for this
-
rmustacc
Yes, connstat is similar to sockstat.
-
toasterson
uuuu connstat is nice. Adding to toolbelt
-
andyf
snmp over /dev/arp ftw (if it's the tool I'm thinking of)
-
rmustacc
connstat andyf?
-
toasterson
if you're talking about connstat then no. but SNMP over /dev/arp? now you got me curious
-
rmustacc
Oh you mean using the mib interface and not raw snmp.
-
andyf
Yes, I should have been more precise. It's still a very odd thing the first time you look at it, or was for me.
-
toasterson
Where can I look at it?
-
andyf
-
toasterson
So it basically uses SNMP MiB's to read things from the system?
-
Chat-ron
thx connstat is nice !
-
andyf
-
andyf
netstat uses it too
-
jbk
got i hate iscsi
-
jbk
err god
-
nbjoerg
jbk: He would agree with you :)
-
jbk
sort of like DNS of HTTP, not one stopped to ask if we should do this :)
-
danmcd
You mean DNS over HTTP, right? (And yeah, both DoH and iSCSI are immorally equivalent IMHO.)
-
sjorge
DoH is just horrible, while there is a perfectly good DoT
-
jbk
err yeah
-
jbk
i just spent 4+ hours w/ a customer preceeded by another 2 hours of conference calls
-
jbk
so i'm brain fried now
-
danmcd
Like either iSCSI or DoH alone wouldn't do that to you already.
-
jbk
that was just the icing on the cake
-
jbk
after everything else
-
jbk
'oh now iSCSI'
-
toasterson
Quick question about the upstream overlay. Where are the plugins located that need to be added on the commandline?
-
jbk
you mean for the inner IP->outer IP mapping bits? (there's also the possibility of different encapsulation plugins in the kernel)
-
toasterson
it says missing encapsulation plugin when I simply type dladm create-overlay -v 1 ofl/net0
-
toasterson
So I guess I need to add more flags
-
andyf
The overlay(5) man page has the details
-
toasterson
ah, keep forgetting there are more pages than just man1
-
andyf
If you're still stuck, I can dig up some examples
-
andyf
-
sommerfeld
I'd appreciate it if anyone could take a look at
code.illumos.org/c/illumos-gate/+/2647 - two-line fix (plus some tests) ported from OpenZFS
-
fenix
→ CODE REVIEW 2647: 3816 "zfs allow" mis-displays filesystems with "allow -c" but not "allow -s" set (NEW) |
illumos.org/issues/3816
-
toasterson
andyf: thanks that helps. With that I can start testing
-
andyf
It works really well in my experience, you just might need to drop the MTU on anything created on top of an overlay
-
toasterson
So make the default MTU 1500 on vnics on overlays?
-
neuroserve
toasterson : no jumbo frames?
-
toasterson
neuroserve: All vnics are Jumbo frames IIRC
-
toasterson
So unless I set the real nics to Jumbo Frames I'll have to drop the MTU
-
toasterson
But I guess even then I have to drop the MTU on an overlay a bit to make space for the header
-
andyf
I usually set them to 1400
-
andyf
Etherstubs default to 9000, so vnics on etherstubs use jumbo
-
jbk
for some testing, it would be useful to be able to get the kernel into a state where physical memory is highly fragmented (i.e. few if any contiguous chunks of ram free)... I'm wondering if artifically lowering the amount of RAM via /etc/system might allow the system to get into that state easier (by just generating lots of activity)
-
jbk
or might there be an easier way?
-
richlowe
honestly, we're so awful about memory fragmentation, I would imagine you don't need to try too hard
-
jbk
believe it or not it's actually a problem
-
jbk
at least on systems with lots of ram
-
richlowe
I don't know of any tweaks that make it happen faster, though.
-
jbk
basically for several drivers, if they do DMA allocations > PAGESIZE for packets (mostly rx since tx you can usually use multiple cookies) that can cause umm... undesirable behavior
-
jbk
like dladm create-vnic can block in the kernel for 10+ minutes