- User Since
- Jan 18 2019, 4:52 AM (92 w, 5 d)
Wed, Oct 14
Tue, Oct 13
I see various errors in the man page:
Mon, Oct 5
Tue, Sep 29
Do you have any performance measurements?
Is it have advantages over injecting packets through ng_socket(4) or ng_device(4)?
Sep 25 2020
Is this PR: 241133 ?
Sep 20 2020
After looking at your abandoned review (D26420) where you add parsing of IPv6 addresses. I wondered if we could use the generic inet_aton(3) functions available from kernel space?
Sep 14 2020
Aug 18 2020
Sorry to start a discussion here, but we have a similar problem with bhyve. When it is necessary to deliver packets from VM with partial checksum and TSO to the host stack (inbound path).
For example, we need to solve the next path:
VM (virtio-net, TSO, partial checksum) -> if_bridge/ng_bridge -> if_tuntap/ng_eiface -> host stack.
Aug 16 2020
I really like the changes related to option handling.
Jun 23 2020
May 16 2020
May 15 2020
May 8 2020
@vmaffione , do you have any objections?
- Use ',' as options separator.
- Move '#include <sys/sysctl.h>' to NETGRAPH section.
- Free optscopy early.
- While I'm here, fix a memory leak in e1000 frontend.
May 7 2020
- Fix the indicated issues.
May 6 2020
It looks good to me. Thank you.
May 5 2020
@vmaffione , I left '/' as a separator, because ';' used by the shell (tcsh, sh), so there is a need to enclosure the option string.
I think the best solution is still to pass the full line of options to the backend. Then we can use ',' as the delimiter.
I have not completely understood how backward compatibility can be broken? May you clarify?
- Reuse tap backend functions.
@vmaffione do you have any objections?
May 4 2020
- Revert: 'relpath' -> 'path' option.
- Correctly calculate the maximum available socket buffer size, as is done in the kernel.
Please keep it "path".
"relpath" is useless in this situation, because your node is not yet connected and can't use a relative path at all.
- Return -1 earlier if an error occurs.
- Change separator from ':' to '/' to allow different Netgraph address types (See man 4 netgraph 'Addressing').
- Fix resources leak through ctrl_sock.
- Change the "path" option to "relpath" to match the ngctl connect command.
May 3 2020
May 1 2020
I will try to fix all the places.
Apr 30 2020
Apr 29 2020
Apr 25 2020
Apr 24 2020
Mar 31 2020
Are there any objections to not committing this?
Mar 29 2020
Mar 28 2020
- Allow entering MTU value in HEX.
Mar 19 2020
I tested this patch in our test lab with a lot of netgraph nodes. And I find it very useful.
I look at this issue from network virtualization point of view.
I have a plan (and patches) for adding native Netgraph support to the Bhyve network backend through ng_socket(4).
For this case, it is very interesting to be able to create ng_bridge(4) with the following options:
- One "uplink" hook with learning turned off, but all unknown MAC's go through it.
- The rest of the hooks have learning enabled, but unknown MAC's are not sent to them.
Mar 18 2020
Can we come to some kind of consensus?
Mar 16 2020
- Add additional checks (see Test Plan).
I understand your opinion, but because we do not know what kind of OS will be used as a guest, I think additional checks will not be superfluous. Also, I think it's easier to look for errors if bhyve crashes earlier.
Mar 14 2020
Mar 13 2020
- Fix typo.
- Enable VIRTIO_NET_F_MTU only if user provide mtu argument.
Yes, I tested various MTU values (including 9000) with different backends (if_tuntap(4), vale). I did not find any regressions without using the mtu argument.
Mar 12 2020
- Fix typo.
- Disable VIRTIO_NET_F_MQ flag.
- Check the lower boundary of the MTU with ETHERMIN.
Mar 11 2020
I agree that the lower bound looks weird. And it came from Linux:
Mar 10 2020
- Move checks of the MTU value to pci_virtio_net.c and add the corresponding min/max definitions from the virtio specification.
- Fix default MTU value.
- Add VIRTIO_NET_F_MQ capability, and initialize max_virtqueue_pairs.
Mar 6 2020
Oh, I'm glad to hear that. May you comment on support from Bhyve side?
Mar 5 2020
Is it really useful to have multiple uplinks?
Feb 28 2020
Feb 26 2020
Feb 20 2020
I tested this patch with various OS’s(windows, Ubuntu, centos) and didn’t find any issues. So, I think it’s ready to go.
Feb 18 2020
Sorry, I didn’t have time to test the patch. But as for the code, I have no questions.
Feb 12 2020
divert sockets can be used with other software but present exactly same significant overhead.
Do you have an example when suggested change improves performance really?
Ping. Are there any issues that prevent committing these changes?
divert(4) sockets can be used not only with natd(8), so the changes looks reasonable for me.
Feb 7 2020
Jan 30 2020
Yes indeed. But also the Linux virtio-net driver should do the same when mergeable rx buffers are not allocated.... so it is weird that it does not work in that case!
Hah, I checked fFreeBSD 12 guest and it works. It seems that, the FreeBSD guest driver allocates descriptors of size >= MTU.
Have you set mtu 9000 on the vtnet0 in the guest?
My tests were VM-2-VM, both freebsd guests.
Thanks for the suggestion. I retried with -D (on head), and it still works. I cannot reproduce the broken jumbo-frames+tap...
Jan 27 2020
The changes looks good to me.
Jan 24 2020
Jan 22 2020
I think this patch is the right direction. Now it’s really very difficult to add a storage backend other than file-like operations.
Jan 16 2020
Jan 14 2020
Dec 25 2019
Dec 24 2019
I catch this KASSERT (https://svnweb.freebsd.org/base/head/sys/amd64/vmm/vmm_dev.c?view=markup#l799) when trying to attach debugger to bhyve process.
Dec 4 2019
We are also interested in this interface.
It looks good for use with vale (4) to connect a virtual network to the host stack: bhyve VM's - vale (4) - if_vether (4) - Host. I tested this and it works well. But now we use if_epair (4) for this configuration, because I didn't know about the existence of the port.
Nov 26 2019
I welcome these changes. The current debug output looks like a mess.
Moreover, part of the files declares (W/D)PRINTF as
Nov 19 2019
The race would not have been fatal (but is still good to fix) if the default been the more compatible behavior.
Nov 9 2019
The changes look good to me. And I can not reproduce the bug https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241808
Oct 25 2019
I think you need to add people with good knowledge of the netgraph to the reviewers: JulianElischer, Gleb Smirnoff and Alexander Motin. Because apparently not all are subscribed to the network mailing list.