Page MenuHomeFreeBSD
Feed Advanced Search

Aug 28 2018

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

You are right, inp_route6 would be better. I'm sure I copied and pasted, then didn't make as many changes as I should have. I will happily approve a review to make that change if you test that it compiles :-).

Aug 28 2018, 12:31 AM

May 17 2018

karels added a comment to D15459: Use __SCCSID for SCCS IDs in libkvm sources..

Looks good to me. I could go either way on the blank line.

May 17 2018, 1:47 AM

Mar 10 2018

karels committed rS330712: Change ps(1) output width to unlimited if not interactive.
Change ps(1) output width to unlimited if not interactive
Mar 10 2018, 12:11 AM
karels closed D14614: Change ps(1) output width to unlimited if not interactive.
Mar 10 2018, 12:11 AM

Mar 9 2018

karels added a comment to D14614: Change ps(1) output width to unlimited if not interactive.

Thanks for catching the typo.

Mar 9 2018, 12:58 AM

Mar 8 2018

karels created D14614: Change ps(1) output width to unlimited if not interactive.
Mar 8 2018, 12:57 AM

Feb 28 2018

karels committed rS330091: Revert r314685 in ps.
Revert r314685 in ps
Feb 28 2018, 12:17 AM
karels closed D14530: Revert r314685 in ps.
Feb 28 2018, 12:17 AM

Feb 27 2018

karels created D14530: Revert r314685 in ps.
Feb 27 2018, 12:42 AM

Feb 10 2018

karels added a comment to D14291: Allow route change requests to not specify the gateway..

I agree with the change as well; the regression seems to have happened when the code was refactored and the "add" and "change" code became joined.

Feb 10 2018, 7:30 PM

Jan 23 2018

karels accepted D13990: Increment the route table gen count after a modify.

Looks good.

Jan 23 2018, 1:52 AM

Jan 22 2018

karels accepted D13989: Reduce code duplication for inpcb route caching.
Jan 22 2018, 5:38 AM
karels accepted D13988: Invalidate inpcb LLE cache if cached route is invalidated.
Jan 22 2018, 5:38 AM
karels added a comment to D13988: Invalidate inpcb LLE cache if cached route is invalidated.

Got it. I didn't realize it, but Phabricator lists the reviews in reverse order, so that's the order I looked at them.

Jan 22 2018, 5:38 AM

Jan 20 2018

karels added a comment to D13990: Increment the route table gen count after a modify.

I just realized that this is necessary when the L3 gateway changes. The L3 cache doesn't need to be invalidated, but L2 does. A comment to this effect would be helpful.

Jan 20 2018, 3:19 AM
karels added a comment to D13988: Invalidate inpcb LLE cache if cached route is invalidated.

Could this use the new invalidate macro?

Jan 20 2018, 2:59 AM
karels added a comment to D13989: Reduce code duplication for inpcb route caching.

Was there a place where only L3 was invalidated?

Jan 20 2018, 2:37 AM
karels added a comment to D13990: Increment the route table gen count after a modify.

Why is this necessary, or desirable? If a route that is cached is modified, that doesn't invalidate it. It should still be the best route if it was before.

Jan 20 2018, 2:32 AM

Jan 13 2018

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.
Jan 13 2018, 2:15 PM
karels committed rS327920: MFC r327505:.
MFC r327505:
Jan 13 2018, 2:10 PM

Jan 3 2018

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.
Jan 3 2018, 6:41 AM
karels committed rS327505: make SW_WATCHDOG dynamic.
make SW_WATCHDOG dynamic
Jan 3 2018, 12:56 AM
karels closed D13713: make SW_WATCHDOG dynamic.
Jan 3 2018, 12:56 AM

Jan 2 2018

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

Tweak man page

Jan 2 2018, 5:31 AM

Jan 1 2018

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.

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

Update man page

Jan 1 2018, 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?

Jan 1 2018, 2:11 AM

Dec 31 2017

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?

Dec 31 2017, 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.

Dec 31 2017, 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.

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

Dec 18 2017

karels committed rS326928: MFC r326734:.
MFC r326734:
Dec 18 2017, 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 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