User Details
- User Since
- May 28 2014, 2:27 PM (626 w, 5 d)
Fri, May 29
Thu, May 28
Wed, May 27
This is supposed to fix this INVARIANTS only panic:
VNASSERT failed: (flags & tounset) == tounset not true at /usr/src/ocafirmware/FreeBSD/sys/kern/vfs_subr.c:7446 (vn_irflag_unset_locked)
0xfffff8047bdb0c08: type VREG state VSTATE_CONSTRUCTED op 0xffffffff812a4508
usecount 2, writecount 1, refcount 40 seqc users 0
hold count flags ()
flags (VIRF_PGREAD|VMP_LAZYLIST) VI_LOCKed
v_object 0xfffff81a41ace2b0 ref 0 pages 148 cleanbuf 12 dirtybuf 25
lock type ufs: EXCL by thread 0xfffff806d43d8000 (pid 14038, nginx, tid 104106)
nlink=1, effnlink=1, size=2350813, extsize=0
generation=2d3a9092, uid=80, gid=0, flags=0x0
ino 9003324, on dev nda3p8
panic: vn_irflag_unset_locked: some of the passed flags not set (have 2, passed 512)Makes sense to me. Thanks for good explanation in the commit message.
Tue, May 26
P.S. Oleksandr, if you got review from any other domain expert than Warner, consider this approved by mentor (me).
Not a domain expert, so leaving this 100% to Warner. Code & style wise everything LGTM.
Mon, May 25
I'd suggest to split the default increase and the added new option into two separate commits.
To me this looks like a more generic problem rather than just the watchdogd's problem. Should every daemon have this feature? Or should we say that /var/run shall be mdmfs(8) on hosts with read-only root?
Fri, May 22
Thu, May 21
- Update the ddb(4) handler. The porthash is now empty.
The ioctl path shall not use the epoch. The list is protected by IFNET_WLOCK(). Ideally the IFNET_WLOCK should become a sleepable lock. A temporary solution would be to keep IFNET_WLOCK() as is and allocate a temporary buffer to fill, then unlock and do copyout from this buffer. To make buffer size guessing easier we can track number of members in the V_ifg_head and try to allocate this size.
For this particular patch, I'd suggest the following.
Sorry for widening the discussion, but I think it is better to discuss this more rather then end up with a quick fix. At Netflix Drew is working on a module that is very different from NFS, but is also a fat source of traffic. We have a very similar function in there.
Wed, May 20
Of course this gets things a bit more sophisticated. I don't like that syncache_socket() will again pull the ipopts from the mbuf as the syncache_add() already just did. Maybe after the fix try to make this less sophisticated?
I like Patrick's change more, but maybe with more verbose comment.
Is this a quick fix mentioned in D56942 that later is to be refactored to delayed free in lagg protocol detach?
I don't think this is a right fix. A route lookup now doesn't guarantee the same interface will be used in the future. There is dynamic routing, weighted routing, policy routing, etc etc etc.
Mon, May 11
In the commit text, in the phrase it'll drop packets from the queue but fail to remove them, I'd suggest to change drop to free or m_freem.
Sun, May 10
Sat, May 9
Tue, May 5
As Zhenlei said, we don't need much parallelism in the configuration path.
May 2 2026
Mark, thanks a lot for fixing that. I just started to investigate yesterday, but you were faster. Thanks!
May 1 2026
Thanks for working on this, Zhenlei!
Dave, I'm very sorry for not looking at your earlier submissions. Trust me, this is not a reluctance to add them to the src, but just a lack of time. Would you like me to review your nodes on github or would you prefer to refresh the phabricator revisions where you suggested the nodes to add to src? I will try to find some time.
Apr 30 2026
Please take into account Mark's suggestion.
Sorry for slightly switching context. This actually links to the recent "regression" that I planted. With a new API to get exact list of possible bpf taps, instead of guessing via getifaddrs(3) + list USB buses, the building of the list requires privileges. Previously you could run tcpdump -D without privileges on FreeBSD, now it can't. The wireshark/tcpdump guys think that it is a regression and should be fixed.
Apr 29 2026
@markj I adjusted naming per your suggestion. Can you please approve?
Apr 28 2026
- Use in_pcblookup_with_lock() instead of in_pcblookup_locked().
This one to be abandoned as is. An alternative better be a new revision.
Apr 27 2026
If you find a committer (maybe @ae ?), there is no objection from my side, as the added cruft is isolated to stable/14 and won't travel with us into the future.
I wonder if anybody have actually tested that old mode on this relatively new driver. I wonder if anybody in the world runs with the device polling today at all.
Apr 25 2026
Maybe we need kern.trueosreldate added?
Appears I was wrong. We have an instrument for jails to fake the kernel version, added in https://reviews.freebsd.org/D1948. With jails configured this way we can't use kern.osreldate to tell ipfw version.
Excellent. Once we have TCP own socket buffer, it could be part of soisdisconnected() method of TCP. Now it just sits next to this call.
You don't need a special sysctl for that. You can use kern.osreldate, which is generic sysctl designed exactly for such kind of problems.
Apr 24 2026
IMHO, Vova's plan sounds better than a sysctl.
No objections! Good plan for the stable branches. Thanks!
Apr 23 2026
Thanks!
Apr 22 2026
Bjoern, can you please confirm you are fine with the change.
Apr 21 2026
P.S. Touch to raw_ip.c reminds me of my long desire to move those pointers to some more appropriate place at least.
I always assumed "policy routing" by packet filters a tool that allows to shoot into ones leg. I can imagine some weird scenarios where people would use pf to actually inject packets where it won't be routed by the normal stack.
