Page MenuHomeFreeBSD

afedorov (Aleksandr Fedorov)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 18 2019, 4:52 AM (92 w, 5 d)

Recent Activity

Wed, Oct 14

afedorov added a reviewer for D26755: Add hash table lookup for IPv6 raw sockets.: mav.
Wed, Oct 14, 7:31 PM

Tue, Oct 13

afedorov added a reviewer for D26668: Add native system call for eventfd: bcr.
Tue, Oct 13, 2:43 PM · Linux Emulation
afedorov added a comment to D26668: Add native system call for eventfd.

I see various errors in the man page:

Tue, Oct 13, 2:43 PM · Linux Emulation

Mon, Oct 5

afedorov added reviewers for D26668: Add native system call for eventfd: kib, trasz, markj.
Mon, Oct 5, 4:58 PM · Linux Emulation

Tue, Sep 29

afedorov added a comment to D21968: netgraph/ng_source: Allow ng_source to inject into any netgraph network.

Do you have any performance measurements?
Is it have advantages over injecting packets through ng_socket(4) or ng_device(4)?

Tue, Sep 29, 12:20 PM
afedorov added reviewers for D21965: usr.sbin/ngctl: Generate more compact GraphWiz output: glebius, jhb, markj, kevans.
Tue, Sep 29, 12:08 PM

Sep 25 2020

afedorov added a comment to D26548: ng_l2tp: Fix callout synchronization in the RACK timeout handler.

Is this PR: 241133 ?

Sep 25 2020, 10:40 AM

Sep 20 2020

afedorov added a comment to D26489: IP address parsing in netgraph eating too many characters.

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 20 2020, 10:14 AM · network

Sep 14 2020

lwhsu renamed afedorov from aleksandr.fedorov_itglobal.com to afedorov.
Sep 14 2020, 4:26 PM

Aug 18 2020

afedorov added a reviewer for D6611: net: translate inbound checksum offloading flags to outbound when forwarding: rgrimes.
Aug 18 2020, 7:00 PM
afedorov added reviewers for D6611: net: translate inbound checksum offloading flags to outbound when forwarding: jhb, vmaffione.
Aug 18 2020, 6:52 PM
afedorov added a comment to D6611: net: translate inbound checksum offloading flags to outbound when forwarding.

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 18 2020, 6:52 PM

Aug 16 2020

afedorov added a comment to D26035: Refactor configuration management in bhyve..

I really like the changes related to option handling.

Aug 16 2020, 5:44 PM
afedorov added inline comments to D6612: net: allow fast-forwarding TSO packets.
Aug 16 2020, 3:34 PM

Jun 23 2020

afedorov added inline comments to D24937: Add tunable net.iflib.tx_update_freq to set transmit descriptor update frequency.
Jun 23 2020, 7:07 AM · network

May 16 2020

afedorov added inline comments to D24846: [bhyve(8)] Add the netgraph network backend decription to the manpage..
May 16 2020, 8:11 AM
afedorov updated the diff for D24846: [bhyve(8)] Add the netgraph network backend decription to the manpage..
May 16 2020, 8:10 AM

May 15 2020

afedorov requested review of D24846: [bhyve(8)] Add the netgraph network backend decription to the manpage..
May 15 2020, 8:00 AM

May 8 2020

afedorov added a comment to D24620: [bhyve] Add Netgraph network backend..

@vmaffione , do you have any objections?

May 8 2020, 6:22 PM
afedorov updated the diff for D24620: [bhyve] Add Netgraph network backend..
  • Rebase
  • Use ',' as options separator.
  • Move '#include <sys/sysctl.h>' to NETGRAPH section.
May 8 2020, 6:19 PM
afedorov updated the diff for D24735: [bhyve] Pass a complete string of parameters to network backends.
  • Free optscopy early.
  • While I'm here, fix a memory leak in e1000 frontend.
May 8 2020, 5:00 PM

May 7 2020

afedorov added a comment to D24735: [bhyve] Pass a complete string of parameters to network backends.
  • Fix the indicated issues.
May 7 2020, 11:11 AM
afedorov updated the diff for D24735: [bhyve] Pass a complete string of parameters to network backends.
May 7 2020, 11:05 AM

May 6 2020

afedorov added a comment to D24723: bhyve: update man page to describe the virtio-net mtu option.

It looks good to me. Thank you.

May 6 2020, 3:06 PM
afedorov updated the test plan for D24735: [bhyve] Pass a complete string of parameters to network backends.
May 6 2020, 3:02 PM
afedorov requested review of D24735: [bhyve] Pass a complete string of parameters to network backends.
May 6 2020, 3:00 PM

May 5 2020

afedorov added a comment to D24620: [bhyve] Add Netgraph network backend..

@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?

May 5 2020, 6:56 PM
afedorov added a comment to D24620: [bhyve] Add Netgraph network backend..
  • Reuse tap backend functions.
May 5 2020, 6:44 PM
afedorov updated the diff for D24620: [bhyve] Add Netgraph network backend..
May 5 2020, 6:43 PM
afedorov added a comment to D24620: [bhyve] Add Netgraph network backend..

@vmaffione do you have any objections?

May 5 2020, 3:50 PM

May 4 2020

afedorov updated the diff for D24620: [bhyve] Add Netgraph network backend..
  • Revert: 'relpath' -> 'path' option.
  • Correctly calculate the maximum available socket buffer size, as is done in the kernel.
May 4 2020, 12:06 PM
afedorov added a comment to D24620: [bhyve] Add Netgraph network backend..

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.

May 4 2020, 11:28 AM
afedorov added inline comments to D24620: [bhyve] Add Netgraph network backend..
May 4 2020, 11:27 AM
afedorov updated the diff for D24620: [bhyve] Add Netgraph network backend..
  • 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 4 2020, 10:59 AM

May 3 2020

afedorov requested review of D24587: [iscsi] Fix initiator kernel panic if target ctl(4) port is disabled.
May 3 2020, 5:26 PM

May 1 2020

afedorov added a comment to D24620: [bhyve] Add Netgraph network backend..

ping

May 1 2020, 3:42 PM
afedorov added a comment to D24587: [iscsi] Fix initiator kernel panic if target ctl(4) port is disabled.

I will try to fix all the places.

May 1 2020, 3:42 PM

Apr 30 2020

afedorov added a comment to D24587: [iscsi] Fix initiator kernel panic if target ctl(4) port is disabled.

ping?

Apr 30 2020, 12:03 PM
afedorov added a comment to D24620: [bhyve] Add Netgraph network backend..

If I understand correctly, you are adding code in the VM-setup (copied from ngctl) to create a ng_socket and connect it to a specified node (ng_bridge). Then you are using the data channel of the ng_socket to transmit Ethernet frames.

Apr 30 2020, 10:42 AM

Apr 29 2020

afedorov requested review of D24620: [bhyve] Add Netgraph network backend..
Apr 29 2020, 5:05 PM

Apr 25 2020

afedorov updated the diff for D24557: ng_eiface: fix kernel panic due to the racecondition in ng_eiface shutdown.
Apr 25 2020, 11:20 AM

Apr 24 2020

afedorov created D24557: ng_eiface: fix kernel panic due to the racecondition in ng_eiface shutdown.
Apr 24 2020, 1:08 PM

Mar 31 2020

afedorov added a comment to D23710: Fix panics when using iflib pseudo device support.

Are there any objections to not committing this?

Mar 31 2020, 1:31 PM

Mar 29 2020

afedorov added inline comments to D23971: [bhyve][virtio-net] Add MTU advice support.
Mar 29 2020, 2:19 PM

Mar 28 2020

afedorov added inline comments to D23971: [bhyve][virtio-net] Add MTU advice support.
Mar 28 2020, 6:13 PM
afedorov updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
  • Allow entering MTU value in HEX.
Mar 28 2020, 6:01 PM

Mar 19 2020

afedorov added a reviewer for D21965: usr.sbin/ngctl: Generate more compact GraphWiz output: vmaffione.
Mar 19 2020, 3:42 PM
afedorov added inline comments to D21965: usr.sbin/ngctl: Generate more compact GraphWiz output.
Mar 19 2020, 3:41 PM
afedorov added a comment to D21965: usr.sbin/ngctl: Generate more compact GraphWiz output.

I tested this patch in our test lab with a lot of netgraph nodes. And I find it very useful.

Mar 19 2020, 3:40 PM
afedorov added inline comments to D23963: netgraph/ng_bridge: Introduce "uplink" ports without MAC learning.
Mar 19 2020, 3:33 PM
afedorov added a comment to D23963: netgraph/ng_bridge: Introduce "uplink" ports without MAC learning.

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 19 2020, 3:25 PM
afedorov created D24121: Add myself (afedorov) as a src commiter.
Mar 19 2020, 7:51 AM

Mar 18 2020

afedorov added a comment to D23971: [bhyve][virtio-net] Add MTU advice support.

Can we come to some kind of consensus?

Mar 18 2020, 6:36 PM

Mar 16 2020

afedorov updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
  • Add additional checks (see Test Plan).
Mar 16 2020, 6:20 PM
afedorov added a comment to D23971: [bhyve][virtio-net] Add MTU advice support.

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 16 2020, 6:14 PM

Mar 14 2020

afedorov updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
Mar 14 2020, 4:26 PM

Mar 13 2020

afedorov updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
  • Fix typo.
  • Enable VIRTIO_NET_F_MTU only if user provide mtu argument.
Mar 13 2020, 4:59 PM
afedorov added a comment to D23971: [bhyve][virtio-net] Add MTU advice support.

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 13 2020, 4:56 PM

Mar 12 2020

afedorov updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
  • Fix typo.
  • Disable VIRTIO_NET_F_MQ flag.
  • Check the lower boundary of the MTU with ETHERMIN.
Mar 12 2020, 9:37 AM

Mar 11 2020

afedorov added a comment to D23971: [bhyve][virtio-net] Add MTU advice support.

I actually see an additional issue. According to the standard, VIRTIO_NET_F_MQ depends on VIRTIO_NET_F_CTRL_VQ.
So it looks like we should add support for VIRTIO_NET_F_CTRL_VQ as a first step.

Mar 11 2020, 10:51 AM
afedorov added a comment to D23971: [bhyve][virtio-net] Add MTU advice support.

I agree that the lower bound looks weird. And it came from Linux:
https://elixir.bootlin.com/linux/latest/source/drivers/net/virtio_net.c#L2978
https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/if_ether.h#L40

Mar 11 2020, 6:16 AM

Mar 10 2020

afedorov updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
  • 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 10 2020, 5:32 PM

Mar 6 2020

afedorov added a reviewer for D23971: [bhyve][virtio-net] Add MTU advice support: bryanv.
Mar 6 2020, 3:26 PM
afedorov added a comment to D23987: [if_vtnet] Add VIRTIO_NET_F_MTU flag support..

Oh, I'm glad to hear that. May you comment on support from Bhyve side?

Mar 6 2020, 3:25 PM
afedorov created D23987: [if_vtnet] Add VIRTIO_NET_F_MTU flag support..
Mar 6 2020, 3:07 PM

Mar 5 2020

afedorov added a comment to D23963: netgraph/ng_bridge: Introduce "uplink" ports without MAC learning.

Is it really useful to have multiple uplinks?

Mar 5 2020, 4:38 PM
afedorov added a reviewer for D23971: [bhyve][virtio-net] Add MTU advice support: rgrimes.
Mar 5 2020, 4:04 PM
afedorov created D23971: [bhyve][virtio-net] Add MTU advice support.
Mar 5 2020, 3:56 PM

Feb 28 2020

afedorov updated subscribers of D23842: When generating an cloned interface instance in edsc_clone_create(), generate a random MAC address.
Feb 28 2020, 7:28 PM · network

Feb 26 2020

afedorov added inline comments to D23842: When generating an cloned interface instance in edsc_clone_create(), generate a random MAC address.
Feb 26 2020, 6:22 PM · network
afedorov added inline comments to D23840: netgraph/ng_base: Allow larger BINARY2ASCII conversions.
Feb 26 2020, 3:59 PM

Feb 20 2020

afedorov added a comment to D23472: bhyve: enable virtio-net mergeable rx buffers for tap(4).

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 20 2020, 9:14 PM

Feb 18 2020

afedorov accepted D23472: bhyve: enable virtio-net mergeable rx buffers for tap(4).

Sorry, I didn’t have time to test the patch. But as for the code, I have no questions.

Feb 18 2020, 2:38 PM

Feb 12 2020

afedorov added a comment to D23577: divert: Add socket options for divert socket's send and receive buffers.

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?

Feb 12 2020, 6:56 PM
afedorov added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

Ping. Are there any issues that prevent committing these changes?

Feb 12 2020, 11:08 AM
afedorov added inline comments to D23577: divert: Add socket options for divert socket's send and receive buffers.
Feb 12 2020, 10:47 AM
afedorov added a comment to D23577: divert: Add socket options for divert socket's send and receive buffers.

divert(4) sockets can be used not only with natd(8), so the changes looks reasonable for me.

Feb 12 2020, 10:30 AM

Feb 7 2020

afedorov added inline comments to D23472: bhyve: enable virtio-net mergeable rx buffers for tap(4).
Feb 7 2020, 9:24 AM

Jan 30 2020

afedorov added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

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!

Jan 30 2020, 10:44 PM
afedorov added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

Hah, I checked fFreeBSD 12 guest and it works. It seems that, the FreeBSD guest driver allocates descriptors of size >= MTU.

Jan 30 2020, 9:43 PM
afedorov added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

Have you set mtu 9000 on the vtnet0 in the guest?
My tests were VM-2-VM, both freebsd guests.

Jan 30 2020, 9:25 PM
afedorov added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

Thanks for the suggestion. I retried with -D (on head), and it still works. I cannot reproduce the broken jumbo-frames+tap...

Jan 30 2020, 8:56 PM

Jan 27 2020

afedorov added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

The changes looks good to me.

Jan 27 2020, 5:29 PM

Jan 24 2020

afedorov added inline comments to D23342: bhyve: move virtio-net header processing to pci_virtio_net.
Jan 24 2020, 8:16 AM
afedorov added inline comments to D23342: bhyve: move virtio-net header processing to pci_virtio_net.
Jan 24 2020, 8:08 AM

Jan 22 2020

afedorov added a comment to D23010: usr.sbin/bhyve: Implement a generic block store backend interf..

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 22 2020, 2:07 PM

Jan 16 2020

afedorov added a reviewer for D23168: [netgraph/ng_eiface] Generate MAC address from the FreeBSD OUI range.: ae.
Jan 16 2020, 9:59 AM
afedorov added a comment to D23168: [netgraph/ng_eiface] Generate MAC address from the FreeBSD OUI range..

ping

Jan 16 2020, 9:58 AM

Jan 14 2020

afedorov added inline comments to D23171: Make linux(4) handle TCP_CORK.
Jan 14 2020, 2:52 PM
afedorov created D23168: [netgraph/ng_eiface] Generate MAC address from the FreeBSD OUI range..
Jan 14 2020, 10:44 AM

Dec 25 2019

afedorov added inline comments to D22881: bhyve: terminate waiting loops if thread suspension is requested.
Dec 25 2019, 1:17 PM
afedorov added inline comments to D22881: bhyve: terminate waiting loops if thread suspension is requested.
Dec 25 2019, 12:24 PM

Dec 24 2019

afedorov added a comment to D22881: bhyve: terminate waiting loops if thread suspension is requested.

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 24 2019, 1:15 PM
afedorov added inline comments to D22881: bhyve: terminate waiting loops if thread suspension is requested.
Dec 24 2019, 12:36 PM

Dec 4 2019

afedorov added a comment to D20468: Port if_vether from OpenBSD.

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.

Dec 4 2019, 4:10 PM

Nov 26 2019

afedorov added a comment to D22552: bhyve: uniform printf format string newlines.

I welcome these changes. The current debug output looks like a mess.
Moreover, part of the files declares (W/D)PRINTF as

Nov 26 2019, 6:34 AM

Nov 19 2019

afedorov added a comment to D22440: bhyve: virtio-net: disable receive until features are negotiated.

The race would not have been fatal (but is still good to fix) if the default been the more compatible behavior.

Nov 19 2019, 6:21 PM

Nov 9 2019

afedorov accepted D22286: bhyve: rework mevent processing to fix a race condition.

The changes look good to me. And I can not reproduce the bug https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241808

Nov 9 2019, 3:07 PM

Oct 25 2019

afedorov added a comment to D22140: netgraph/ng_tag: Variable length data can not be set for all length.

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.

Oct 25 2019, 2:37 PM

Sep 14 2019

afedorov added a comment to D20973: bhyve: support for enabling/disabling the net backend.
In D20973#471364, @jhb wrote:

So I don't see any uses of mevent_add_disabled() in this change?

Sep 14 2019, 10:55 AM