karels (Mike Karels)
User

Projects

User Details

User Since
Mar 1 2015, 6:19 PM (150 w, 1 d)

Recent Activity

Sat, Jan 13

karels committed rS327923: Add info about SW_WATCHDOG change to be dynamic in the common case..
Add info about SW_WATCHDOG change to be dynamic in the common case.
Sat, Jan 13, 2:15 PM
karels committed rS327920: MFC r327505:.
MFC r327505:
Sat, Jan 13, 2:10 PM

Wed, Jan 3

karels committed rS327512: Add info about SW_WATCHDOG change to be dynamic in the common case..
Add info about SW_WATCHDOG change to be dynamic in the common case.
Wed, Jan 3, 6:41 AM
karels committed rS327505: make SW_WATCHDOG dynamic.
make SW_WATCHDOG dynamic
Wed, Jan 3, 12:56 AM
karels closed D13713: make SW_WATCHDOG dynamic.
Wed, Jan 3, 12:56 AM

Tue, Jan 2

karels added inline comments to D13713: make SW_WATCHDOG dynamic.
Tue, Jan 2, 5:40 AM
karels updated the diff for D13713: make SW_WATCHDOG dynamic.

Tweak man page

Tue, Jan 2, 5:31 AM

Mon, Jan 1

karels added a comment to D13713: make SW_WATCHDOG dynamic.

A list of ioctl names didn't seem very useful to me, so I extracted the information from the header file.

Mon, Jan 1, 4:16 PM
karels updated the diff for D13713: make SW_WATCHDOG dynamic.

Update man page

Mon, Jan 1, 4:15 PM
karels added a comment to D13713: make SW_WATCHDOG dynamic.

IIRC, there are ten of these ioctls, although I didn't add any. I thought I'd correct the obvious out-of-date statement, but wasn't sure I could correctly document all of those added over time. Suggestions?

Mon, Jan 1, 2:11 AM

Sun, Dec 31

karels added a comment to D13713: make SW_WATCHDOG dynamic.

Rod, perhaps you have never needed this functionality; but have you ever had a system hang? Along the same lines, there are probably about 1000 bits of code that you haven't needed in the kernel; should we add options to remove each of them? This way lies madness. There are two hardclock routines; which are you using? Should we ifdef out the other?

Sun, Dec 31, 6:07 PM
karels added a comment to D13713: make SW_WATCHDOG dynamic.

Sorry, my last comment was responding to imp@; it crossed with the comment from rgrimes.

Sun, Dec 31, 5:33 PM
karels added a comment to D13713: make SW_WATCHDOG dynamic.

Thanks. About loadable hardware watchdogs: that should work if they attach before watchdogd starts.

Sun, Dec 31, 5:18 PM
karels created D13713: make SW_WATCHDOG dynamic.
Sun, Dec 31, 2:49 PM

Mon, Dec 18

karels committed rS326928: MFC r326734:.
MFC r326734:
Mon, Dec 18, 5:29 AM

Dec 9 2017

karels committed rS326734: gifconfig_gif0 no longer works, document replacement.
gifconfig_gif0 no longer works, document replacement
Dec 9 2017, 5:28 PM
karels closed D13130: gifconfig_gif0 no longer works, document replacement.
Dec 9 2017, 5:28 PM

Nov 27 2017

karels updated the diff for D13130: gifconfig_gif0 no longer works, document replacement.

Update date.

Nov 27 2017, 11:03 PM

Nov 25 2017

karels updated the diff for D13130: gifconfig_gif0 no longer works, document replacement.

Fix macro usage, update text

Nov 25 2017, 11:05 PM

Nov 24 2017

karels added inline comments to D13130: gifconfig_gif0 no longer works, document replacement.
Nov 24 2017, 10:03 PM

Nov 18 2017

karels added inline comments to D13130: gifconfig_gif0 no longer works, document replacement.
Nov 18 2017, 6:41 PM
karels added inline comments to D13130: gifconfig_gif0 no longer works, document replacement.
Nov 18 2017, 6:16 PM
karels updated the diff for D13130: gifconfig_gif0 no longer works, document replacement.

Another attempt to clarify, flesh out example.

Nov 18 2017, 6:11 PM
karels added inline comments to D13130: gifconfig_gif0 no longer works, document replacement.
Nov 18 2017, 3:07 PM
karels added inline comments to D13130: gifconfig_gif0 no longer works, document replacement.
Nov 18 2017, 3:51 AM

Nov 17 2017

karels updated the diff for D13130: gifconfig_gif0 no longer works, document replacement.

Update Dd date

Nov 17 2017, 10:01 AM
karels created D13130: gifconfig_gif0 no longer works, document replacement.
Nov 17 2017, 5:07 AM

Sep 26 2017

karels added inline comments to D12430: tcp: Don't "negotiate" MSS..
Sep 26 2017, 3:35 AM
karels added inline comments to D12430: tcp: Don't "negotiate" MSS..
Sep 26 2017, 3:10 AM

Sep 24 2017

karels accepted D12430: tcp: Don't "negotiate" MSS..

I hadn't noticed this snippet of code before. It was definitely wrong.

Sep 24 2017, 1:36 PM

Aug 29 2017

karels closed D10135: Enable route and LLE (ndp) caching in TCP/IPv6.

Commited in https://reviews.freebsd.org/rS316065

Aug 29 2017, 12:33 PM

Apr 22 2017

karels committed rS317286: MFC r316065: Enable route and LLE (ndp) caching in TCP/IPv6.
MFC r316065: Enable route and LLE (ndp) caching in TCP/IPv6
Apr 22 2017, 6:55 PM

Apr 10 2017

karels committed rS316668: Fix reference count leak with L2 caching..
Fix reference count leak with L2 caching.
Apr 10 2017, 1:26 AM

Mar 27 2017

karels committed rS316065: Enable route and LLE (ndp) caching in TCP/IPv6.
Enable route and LLE (ndp) caching in TCP/IPv6
Mar 27 2017, 11:48 PM

Mar 25 2017

karels created D10135: Enable route and LLE (ndp) caching in TCP/IPv6.
Mar 25 2017, 4:38 PM
karels closed D10059: Fix reference count leak with L2 caching. by committing rS315956: Fix reference count leak with L2 caching..
Mar 25 2017, 3:06 PM
karels committed rS315956: Fix reference count leak with L2 caching..
Fix reference count leak with L2 caching.
Mar 25 2017, 3:06 PM

Mar 20 2017

karels added reviewers for D10059: Fix reference count leak with L2 caching.: gnn, ae.
Mar 20 2017, 12:37 AM
karels created D10059: Fix reference count leak with L2 caching..
Mar 20 2017, 12:27 AM

Dec 31 2016

karels added a comment to D8904: inet: Fix routing issue by calling if_up().

I think the change is a step in the right direction. Certainly, "ifconfig xxN down" followed by an implicit UP should not cause any change to the routing table. Does anyone know why the "down" is removing the route? That seems wrong to me.

Dec 31 2016, 5:47 PM
karels added a comment to D8905: if: Defer the if_up until the ifnet.if_ioctl is called..

Seems fine to me; will let someone else approve.

Dec 31 2016, 5:45 PM

Sep 21 2016

karels committed rS306060: MFC r304713:.
MFC r304713:
Sep 21 2016, 12:07 AM

Aug 24 2016

karels closed D7591: Fix L2 caching for UDP over IPv6 by committing rS304713: Fix L2 caching for UDP over IPv6.
Aug 24 2016, 12:52 AM
karels committed rS304713: Fix L2 caching for UDP over IPv6.
Fix L2 caching for UDP over IPv6
Aug 24 2016, 12:52 AM

Aug 22 2016

karels committed rS304642: MFC r304546: Disable L2 caching for UDP over IPv6.
MFC r304546: Disable L2 caching for UDP over IPv6
Aug 22 2016, 10:30 PM
karels added a reviewer for D7591: Fix L2 caching for UDP over IPv6: peter.
Aug 22 2016, 5:03 AM
karels added a comment to D7591: Fix L2 caching for UDP over IPv6.

btw, the second chunk (first after include) is new since original version.

Aug 22 2016, 4:52 AM
karels added a comment to D7591: Fix L2 caching for UDP over IPv6.

This patch has been tested by Mike Andrews, who will continue monitoring. I've asked Peter if he can test.

Aug 22 2016, 4:39 AM
karels retitled D7591: Fix L2 caching for UDP over IPv6 from to Fix L2 caching for UDP over IPv6.
Aug 22 2016, 4:02 AM

Aug 20 2016

karels committed rS304546: MFC r304545: Disable L2 caching for UDP over IPv6.
MFC r304545: Disable L2 caching for UDP over IPv6
Aug 20 2016, 8:56 PM
karels committed rS304545: Disable L2 caching for UDP over IPv6.
Disable L2 caching for UDP over IPv6
Aug 20 2016, 8:47 PM

Aug 14 2016

karels committed rS304088: MFC r303978: Fix kernel build with TCP_RFC7413 option.
MFC r303978: Fix kernel build with TCP_RFC7413 option
Aug 14 2016, 6:30 PM
karels committed rS304086: MFC r303978; Fix kernel build with TCP_RFC7413 option.
MFC r303978; Fix kernel build with TCP_RFC7413 option
Aug 14 2016, 4:57 PM

Aug 11 2016

karels committed rS303978: Fix kernel build with TCP_RFC7413 option.
Fix kernel build with TCP_RFC7413 option
Aug 11 2016, 11:52 PM

Aug 3 2016

karels committed rS303698: MFC r303171: Fix per-connection L2 caching in fast path.
MFC r303171: Fix per-connection L2 caching in fast path
Aug 3 2016, 6:33 AM

Jul 24 2016

karels added a comment to D7251: Avoid calling in_pcbnotifyall() to flush cached routes.

I'm looking into the account issue.

Jul 24 2016, 5:33 AM

Jul 22 2016

karels added a comment to D7251: Avoid calling in_pcbnotifyall() to flush cached routes.

I'm not sure my acceptance "counts" using mike-karels.net; if you add karels@, I can re-approve.

Jul 22 2016, 11:33 PM
karels accepted D7251: Avoid calling in_pcbnotifyall() to flush cached routes.

Looks good to me. This will only update one connection, but there is nothing wrong with that. We could receive a large number of redirects if there are a lot of connections using the same route. Another option would be to increment the route table revision if a redirect adds a new route, doing nothing if it changes a route. But this is quick and expedient. It should obviously be MFC'ed to 11.0.

Jul 22 2016, 11:31 PM

Jul 19 2016

karels added reviewers for D7239: Fix per-connection L2 caching in fast path: gnn, gallatin, kmacy, transport.
Jul 19 2016, 1:51 AM
karels retitled D7239: Fix per-connection L2 caching in fast path from to Fix per-connection L2 caching in fast path.
Jul 19 2016, 1:46 AM

May 28 2016

karels updated the diff for D6262: Implement L2 lookup caching for TCP and UDP.

Update to current HEAD; fix to work with flowtable

May 28 2016, 4:13 PM

May 21 2016

karels added a comment to D6262: Implement L2 lookup caching for TCP and UDP.

Hello? Is anyone looking at this?

May 21 2016, 1:16 PM

May 8 2016

karels added a reviewer for D6262: Implement L2 lookup caching for TCP and UDP: transport.
May 8 2016, 5:53 PM
karels retitled D6262: Implement L2 lookup caching for TCP and UDP from to Implement L2 lookup caching for TCP and UDP.
May 8 2016, 5:49 PM

Apr 27 2016

karels added a comment to D5872: tcp: Don't prematurely drop receiving-only connections.

I disagree; congestion is congestion, not "congestion for everyone but me". I'd prefer to leave the cwnd change until it is replaced by something more modern.

Apr 27 2016, 8:21 AM

Apr 21 2016

karels added a comment to D5872: tcp: Don't prematurely drop receiving-only connections.

btw, I think the line to set the snd_cwnd should remain for now, until something replaces it. ENOBUFS signals local congestion.

Apr 21 2016, 2:26 AM

Apr 16 2016

karels added a comment to D5872: tcp: Don't prematurely drop receiving-only connections.

Setting a retransmission timer on an ACK makes no sense; I don't think tcp_output will send an ACK on a retransmission timeout.

Apr 16 2016, 3:18 PM
karels added a comment to D5872: tcp: Don't prematurely drop receiving-only connections.

I believe that the original code is wrong, and the change is not sufficient
to fix it. The retransmit timer should be running if and only if we have
sent data into the receive window and are awaiting an ACK. The persist
timer should be running if and only if the retransmit timer is not running,
and we have data to send that do not reasonably fit in the window. If we
get an ENOBUFS when sending data, we will already be running the retransmit
timer. If we drop an ACK on ENOBUFS, either we will receive more data and
attempt another ACK, or the sender will time out and resend data. Either
will get the connection started again. I believe lines 1552-1554 should
simply be deleted.

Apr 16 2016, 2:44 AM

Mar 19 2016

karels added a comment to D4306: Re-add route caching for TCP.

This change does not affect forwarding, just TCP and UDP termination. It makes the most difference when TSO is not enabled.

Mar 19 2016, 1:14 PM · transport

Mar 18 2016

karels updated the diff for D4306: Re-add route caching for TCP.

Fix user-level include of in_pcb.h
rt_gen_t was in an ifdef _KERNEL

Mar 18 2016, 1:24 AM · transport
karels added a comment to D4306: Re-add route caching for TCP.

Argh, I see what I did. I ended up with the wrong version of route.h in /usr/include.

Mar 18 2016, 1:17 AM · transport

Mar 14 2016

karels updated the diff for D4306: Re-add route caching for TCP.

Update to match head, fix UDP/IPv4 locking
Move definitions to match movement in header files.

Mar 14 2016, 3:02 AM · transport

Feb 15 2016

karels added a comment to D4490: inpcb rtentry/l2 prepend caching.

OK, I missed the malloc/copy in if_ethersubr.c. So there isn't a problem with pointers to freed memory, but the L2 code still has the issue as the routing code with copying the pointers to/from the route structure.

Feb 15 2016, 4:58 PM · transport

Feb 9 2016

karels added a comment to D4490: inpcb rtentry/l2 prepend caching.
I'll respond to other parts soon.  But I want to correct this:
Feb 9 2016, 2:42 AM · transport

Feb 7 2016

karels added a comment to D4490: inpcb rtentry/l2 prepend caching.

About L3 caching:

Feb 7 2016, 8:16 PM · transport

Jan 23 2016

karels updated the diff for D4306: Re-add route caching for TCP.

This revision does several things:

Jan 23 2016, 4:55 PM · transport

Dec 13 2015

karels updated subscribers of D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..
Dec 13 2015, 7:41 PM
karels updated subscribers of D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..
Dec 13 2015, 7:41 PM
karels added a comment to D4102: Add link header precomputation for ethernet/infiniband. Make arp/ndp/bpf/flowtable use it..

I haven't reviewed this as closely as I should. However, if I read this correctly, this is a new caching mechanism that:

Dec 13 2015, 6:14 PM

Dec 8 2015

karels added a comment to D4364: inpcb L2/L3 caching.

Randall: see also D4306 for another approach.

Dec 8 2015, 1:47 AM · transport

Dec 3 2015

karels added a comment to D4306: Re-add route caching for TCP.

Thanks, I think I understand your position better now. But you are objecting mostly to the current API and data structures, not against using them. What I mean is that the "struct route" *is* the existing mechanism to get and hold a reference to a rtentry. The rtentry is the existing entity that contains the exported information, and "private" management information, and includes a reference count and a bit (RTF_UP) to report invalidation of the route to the remaining references. (And the route structure did not change for radix; that the rtentry.) So, while you apparently want to replace the API and implementation, we should take full advantage of what's there now, unless/until something new arrives in head. The same points apply to the llentry.

Dec 3 2015, 2:33 PM · transport
karels added a comment to D4306: Re-add route caching for TCP.

Thanks for the pointer to your wiki page; I wasn't aware of that before now. It sounds like you have some interesting work in progress. However, I don't agree with your conclusion that caching the route and lle are "wrong" or "hacks". The interface to route and lle validation could be encapsulated, but ip*output need to look up routes and get the information, and it will always be faster to cache the value than to make a "fast" lookup.

Dec 3 2015, 1:33 AM · transport

Nov 29 2015

karels added a comment to D4306: Re-add route caching for TCP.
In D4306#90594, @kmacy wrote:

I've had a patch to do this floating about for about 5 years (hence the otherwise vestigial rnh_gen). I hope you're successful in pushing in something that provides this functionality. I brought it up with melifaro@ about a year ago and he said that he had something better going in shortly.

Looking forward to continuing improvements.
Nov 29 2015, 3:18 AM · transport

Nov 28 2015

karels retitled D4306: Re-add route caching for TCP from to Re-add route caching for TCP.
Nov 28 2015, 10:37 PM · transport

Apr 3 2015

karels added a comment to D1965: Add extended media types to if_media.h and ifconfig.

Following up on Glebius' comment: I think this interface is fine for the short term, including MFC. I think it is quite reasonable to come up with an improved interface, both ioctl and KPI, for 11. I don't think more bits for existing fields is a big enough motivation; I think the interface needs a fair amount of thought and rework. I'm willing to assist in this, but we also need input from driver authors.

Apr 3 2015, 8:03 PM

Mar 30 2015

karels added a comment to D1965: Add extended media types to if_media.h and ifconfig.

You are right, it doesn't work. I switched to IFM_X. See ftp.karels.net/outgoing/if_media.h.

Mar 30 2015, 10:17 PM
karels added a comment to D1965: Add extended media types to if_media.h and ifconfig.

This now requires re-review; reviewers, could you take a look?

Mar 30 2015, 11:36 AM

Mar 25 2015

karels added a comment to D1965: Add extended media types to if_media.h and ifconfig.

I meant that _X should be undefed, not that it was. I forgot to do it. If there are no other changes, could you add that? Thanks.

Mar 25 2015, 10:51 PM
karels added a comment to D1965: Add extended media types to if_media.h and ifconfig.

Hmm, looks like if_media.h isn't right. Eric, did you apply the new patch to the previous version? It was meant to apply to the base version. It is currently only using one extra bit for extended type. Check the whole file, it should be right.

Mar 25 2015, 1:35 PM
karels added a comment to D1965: Add extended media types to if_media.h and ifconfig.

Yes, I pulled in all the types from the latest in D2056 except VFAST.

Mar 25 2015, 12:13 PM

Mar 24 2015

karels added a comment to D1965: Add extended media types to if_media.h and ifconfig.

A few notes on the last update:

Mar 24 2015, 11:57 PM

Mar 15 2015

karels added a comment to D2056: Add extended media types to if_media.h and ifconfig.

I was experimenting with this version, and noticed that VFAST is not in the extended range. If I move it there, I can no longer select it for vtnet. The problem is that the IFM_SUBTYPE_ETHERNET_DESCRIPTIONS array encodes the non-shifted value (in my case, 50), and that doesn't match the shifted value in the if_media list. So it appears that this patch does not work for selecting extended media types.

Mar 15 2015, 4:56 PM

Mar 14 2015

karels added a comment to D2056: Add extended media types to if_media.h and ifconfig.

Yes, as I said earlier, libpcap and net-snmp use IFM_SUBTYPE. ifconfig certainly uses it as well. I don't know how many ports use it, or other network monitoring software (including commercial software).

Mar 14 2015, 10:23 PM
karels added a comment to D2056: Add extended media types to if_media.h and ifconfig.

IFM_SUBTYPE uses IFM_TMASK, and it's a macro. Thus, anything that uses IFM_SUBTYPE uses IFM_TMASK. It's precisely because of MFCs that I want good binary compatibility. Only ifconfig and drivers using new subtypes need to use the new ioctl, and any ports that want to be able to detect the new subtypes.

Mar 14 2015, 1:38 PM

Mar 13 2015

karels added a comment to D2056: Add extended media types to if_media.h and ifconfig.

net-snmp definitely uses IFM_SUBTYPE. libpcap uses it as well, although it only checks for AUTO. I would think these would be sufficient to justify reasonable binary compatibility.

Mar 13 2015, 11:26 PM
karels added a comment to D2056: Add extended media types to if_media.h and ifconfig.

Don't forget IFM_SUBTYPE(); not even ifconfig uses TMASK directly.

Mar 13 2015, 10:54 PM
karels added a comment to D2056: Add extended media types to if_media.h and ifconfig.

I don't have a specific example, although SNMP comes to mind as a candidate. However, you seem to be assuming that anything from ports will be recompiled, and that is not a reasonable assumption for embedded systems and appliances (such as I work on).

Mar 13 2015, 2:10 PM
karels added a comment to D2056: Add extended media types to if_media.h and ifconfig.

Binary compatibility is not just for old ifconfig binaries. IIRC, there were on the order of 60 users of SIOCGIFMEDIA in our tree, which included things like SNMP. Doing 2 ioctls in ifconfig is not a big deal.

Mar 13 2015, 11:59 AM
karels added a comment to D2056: Add extended media types to if_media.h and ifconfig.

I like the idea of using bits from the Ethernet-specific options field, so as to get more than one additional bit. I'm not sure it is wise to use all of them; perhaps one can be kept (still allows 511 variants).

Mar 13 2015, 12:52 AM

Mar 8 2015

karels added a comment to D2008: Extend ifmedia word to struct ifmed..

One addition: I think the existence of this review should be announced on the -arch and -net lists with a link. The summary should be included.

Mar 8 2015, 5:01 PM