05:36:54 Sorry for me doing this in first place. 13:48:27 I forgive you all. :-P 15:26:15 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 15:27:38 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. 15:28:47 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. 15:28:57 ok 15:28:58 Conversely, a driver should only ever look at the head. 15:35:39 That help jbk? 15:36:28 yes.. exactly what I needed to know 15:38:30 thanks 15:41:29 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. 15:45:44 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 15:46:13 Even if it was header splitting it'd be fine. 15:46:21 (may look at the header splitting feature later, so that's good to know just to be sure) 15:46:23 Basically you just don't want to split L3/L4 headers if you can avoid it. 15:46:33 ok 15:46:41 If you're splitting at the end of the headers / data it may mamke sense. 15:46:56 But to be honest, then if you start using encapsulation were you want that split to be really changes. 15:47:12 It also may not buy you anyting unless the stack actually frees the leading block sooner. 17:22:38 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 17:40:26 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. 17:53:03 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. 17:53:14 Assuming dma binding right now we shouldn't have copies going on at least until sockfs. 17:53:25 That is when we copy to the user address space. 17:53:32 At least, in the happy case. 17:53:41 The historical ZC was pre-sockfs, FWIW. 17:53:53 (or damn near after it...) 18:22:06 [illumos-gate] 15349 dtrace should accept comma after last item in enum (fix tst.enum.d) -- Toomas Soome 18:57:47 [illumos-gate] 15169 incorrect argument declaration for pthread_rwlock_destroy -- Robert Mustacchi 18:57:47 [illumos-gate] 15246 scsi_hba_attach_setup(9F): Typo dev_bus_ops -> devo_bus_ops -- Robert Mustacchi 18:57:47 [illumos-gate] 15055 mc_tx(9E) has incorrect function name -- Robert Mustacchi 19:07:21 [illumos-gate] 15361 ld doesn't fill out PT_DYNAMIC sufficiently for binutils 2.40 -- Richard Lowe 19:07:21 [illumos-gate] 15260 ld crashes if group members are stripped by -s -- Richard Lowe 19:12:48 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) 19:31:20 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 ? 19:32:54 No, but it'd probably be fairly straightforward to add. 19:34:58 Chat-ron: netstat -a -f inet gets you close enough. Other than filtering out sockets there is seldome much noise 19:35:17 adapt -f inet to -f inet6 for ipv6 19:35:55 yep I've seen this flags 19:37:11 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 19:37:55 Yes, connstat is similar to sockstat. 19:42:01 uuuu connstat is nice. Adding to toolbelt 19:42:31 snmp over /dev/arp ftw (if it's the tool I'm thinking of) 19:42:59 connstat andyf? 19:43:41 if you're talking about connstat then no. but SNMP over /dev/arp? now you got me curious 19:43:42 Oh you mean using the mib interface and not raw snmp. 19:44:43 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. 19:45:24 Where can I look at it? 19:46:09 https://github.com/illumos/illumos-gate/blob/master/usr/src/cmd/connstat/connstat_mib.c#L32 19:50:28 So it basically uses SNMP MiB's to read things from the system? 19:54:44 thx connstat is nice ! 19:58:05 toasterson - that's how I think of it - https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/common/inet/mib2.h has some more information. 19:58:08 netstat uses it too 20:31:49 got i hate iscsi 20:31:53 err god 20:35:04 jbk: He would agree with you :) 20:40:53 sort of like DNS of HTTP, not one stopped to ask if we should do this :) 20:44:20 You mean DNS over HTTP, right? (And yeah, both DoH and iSCSI are immorally equivalent IMHO.) 20:48:22 DoH is just horrible, while there is a perfectly good DoT 20:52:34 err yeah 20:52:55 i just spent 4+ hours w/ a customer preceeded by another 2 hours of conference calls 20:53:04 so i'm brain fried now 20:53:57 Like either iSCSI or DoH alone wouldn't do that to you already. 20:55:42 that was just the icing on the cake 20:55:45 after everything else 20:55:51 'oh now iSCSI' 21:12:54 Quick question about the upstream overlay. Where are the plugins located that need to be added on the commandline? 21:14:38 you mean for the inner IP->outer IP mapping bits? (there's also the possibility of different encapsulation plugins in the kernel) 21:16:35 it says missing encapsulation plugin when I simply type dladm create-overlay -v 1 ofl/net0 21:16:50 So I guess I need to add more flags 21:21:19 The overlay(5) man page has the details 21:21:45 ah, keep forgetting there are more pages than just man1 21:22:12 If you're still stuck, I can dig up some examples 21:22:45 https://paste.ec/paste/T7sAjVtD#De417lIXOfE3xYNlbUxOzuvOwisNkLxJO2unG+PBWMS 21:43:04 I'd appreciate it if anyone could take a look at https://code.illumos.org/c/illumos-gate/+/2647 - two-line fix (plus some tests) ported from OpenZFS 21:43:05 → CODE REVIEW 2647: 3816 "zfs allow" mis-displays filesystems with "allow -c" but not "allow -s" set (NEW) | https://www.illumos.org/issues/3816 21:59:38 andyf: thanks that helps. With that I can start testing 22:11:23 It works really well in my experience, you just might need to drop the MTU on anything created on top of an overlay 22:16:01 So make the default MTU 1500 on vnics on overlays? 22:17:39 toasterson : no jumbo frames? 22:18:21 neuroserve: All vnics are Jumbo frames IIRC 22:18:44 So unless I set the real nics to Jumbo Frames I'll have to drop the MTU 22:19:03 But I guess even then I have to drop the MTU on an overlay a bit to make space for the header 22:28:00 I usually set them to 1400 22:28:15 Etherstubs default to 9000, so vnics on etherstubs use jumbo 22:43:22 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) 22:43:34 or might there be an easier way? 22:44:28 honestly, we're so awful about memory fragmentation, I would imagine you don't need to try too hard 22:44:40 believe it or not it's actually a problem 22:44:49 at least on systems with lots of ram 22:44:51 I don't know of any tweaks that make it happen faster, though. 23:44:43 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 23:45:03 like dladm create-vnic can block in the kernel for 10+ minutes