- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Aug 13 2019
Aug 11 2019
If you know that the problem occurs only with BPF, bpfwrite() invokes if_output() already in epoch section.
Aug 9 2019
Aug 5 2019
Aug 2 2019
Jul 29 2019
Does this mean that you concluded in the IETF mailing list to drop this support?
Jul 23 2019
Jul 19 2019
Jul 12 2019
Jul 7 2019
What happens ifp->if_softc will become NULL just after this 'if (sc == NULL)' check? It looks like epair_remove_ifp_from_draining(ifp) also uses if_softc field.
Jul 3 2019
Jul 1 2019
Jun 26 2019
Jun 25 2019
Jun 24 2019
Jun 21 2019
Committed in https://svnweb.freebsd.org/changeset/base/349267
Forgot to specify phabricator URL...
Jun 20 2019
Jun 14 2019
Jun 12 2019
In D20616#445619, @kristof wrote:Only if the firewall needs to read/write actual packet data. Protocol headers (TCP, IP, etc.) are always stored in a normal mbuf at the start of a packet's mbuf chain. Unmapped mbufs only hold payload data that is stored in a socket buffer, so most of the filters I can think of off the top of my head as well as things like NAT should only operate on the normal mbuf holding the headers.
Okay, thanks. That should indeed just work. The 'pf_check_proto_cksum()' flow, assuming there's no hardware assist, might break. I suspect that hardware which uses unmapped mbufs is always going to have checksum offload, so that's probably not an issue either.
Jun 7 2019
Jun 6 2019
Jun 5 2019
May 31 2019
May 28 2019
May 27 2019
May 24 2019
May 22 2019
I think it would be good to have this committed into 11.3 release. So you will be able to see how many users will complain that they need this support, if any.
May 21 2019
May 19 2019
Can you also update ixv driver? We discovered problems with ixv+VLANs on some KVM hosts with the stock driver, but the driver 1.5.15 from Intel's site works well.
May 14 2019
May 13 2019
May 12 2019
- s/bpf_epoch_buffer/bpf_program_buffer/g
- update some comments
- add copyright line
- add refcount to bpf_d and use it in bpfwrite
May 11 2019
move bpf_updated() into bpf_setf() to reduce BPF_LOCK() flipping
There is at least one problem that with this patch becomes easy reproducible. With default optimize_writers=0 bpt_mtap() can catch several packets in the time between bpf_setif() and bpf_setf(), because empty filter means "accept all" by bpf_filter(). Maybe it is time to remove optimize_writers variable and use this behavior by default? I.e. by default link new bpf_if into writers only list, and re-link it into readers list when application sets filter? Or change its value to be 1 by default?
May 10 2019
May 9 2019
May 8 2019
I have no objection. This subsystem is currently broken, but nobody wants to fix it. So, if you tested this patch and it helps to solve your problem, I'm ok, since description looks reasonable.
May 6 2019
In D20163#434567, @jhb wrote:FWIW, my limited testing of IPsec doesn't use if_ipsec, but instead I used setkey. I think having the rc.d scripts for 'ipsec_enable' autoloading ipsec.ko is reasonable.
May 5 2019
I think there are too few users of if_ipsec, to make assumption that all users who use IPsec will use ifconfig(8). AFAIR, it is not the problem, you can just add symlink if_ipsec.ko -> ipsec.ko. But you also need some tweaks that will load ipsec,ko when ipsec_enable is "YES".
May 2 2019
May 1 2019
I'm sorry, I completely missed this change in the past. But it looks like it can break ipfw firewall rules, since rcvif is now union with snd_tag. And this means, rcvif can be initialized for packets that were not actually received on specified interface. ipfw uses rcvif in rules to check that a packet was received on specified interface, and this check was correct even for outgoing packets. Now it looks like such checks can be incorrect.
Apr 30 2019
The epoch_call_drain() function is indeed needed (at least to fix such panic https://reviews.freebsd.org/F4491011).
But your example shows that epoch based reclamation is just wrongly used. The right solution should be keeping ifnet detached until all possible consumers stop reference it, and only then it will be safe to free ifnet pointer.
Apr 29 2019
In D20070#432259, @markj wrote:I'm not quite familiar with this code. Is it safe enough to make INP_WUNLOCK(); /* some code */ INP_WLOCK(); without holding extra reference to PCB? Is is it impossible, that another thread can destroy PCB when we release lock?
Sorry, I don't see where the question is coming from. In general, no, you have to acquire a reference before dropping the lock. That's what the old version of the diff did, in order to acquire the sleepable IN_MULTI lock. But dropping the PCB lock introduces races. I changed the code to acquire the IN_MULTI lock first, so we don't have to drop the PCB lock anymore.