Page MenuHomeFreeBSD

melifaro (Alexander V. Chernikov)
User

Projects

User Details

User Since
May 27 2014, 9:32 AM (443 w, 5 d)

Recent Activity

Sat, Nov 26

melifaro accepted D37508: ipfw: Add missing 'va' code point name.
Sat, Nov 26, 12:52 PM

Mon, Nov 21

melifaro added a reviewer for D37436: if_lagg: Allow lagg interfaces to be used with NetMap: network.
Mon, Nov 21, 3:13 PM

Fri, Nov 11

melifaro accepted D37334: stand: Remove i386-only support fire firewire.
Fri, Nov 11, 8:35 PM

Tue, Nov 8

melifaro accepted D37308: netlink: unregister groups along with family.
Tue, Nov 8, 11:35 AM

Thu, Nov 3

melifaro committed rG669d63eb8506: netlink: remove private netlink_var.h header from the non-netlink core files. (authored by melifaro).
netlink: remove private netlink_var.h header from the non-netlink core files.
Thu, Nov 3, 5:07 PM
melifaro committed rG4dfd380e06c5: netlink: allow more than 64 groups per netlink socket. (authored by melifaro).
netlink: allow more than 64 groups per netlink socket.
Thu, Nov 3, 5:07 PM

Tue, Nov 1

melifaro committed rG7366c0a49c9a: netlink: add netlink user documentation. (authored by melifaro).
netlink: add netlink user documentation.
Tue, Nov 1, 5:08 PM
melifaro closed D37011: netlink: add netlink user documentation..
Tue, Nov 1, 5:08 PM
melifaro added inline comments to D37011: netlink: add netlink user documentation..
Tue, Nov 1, 5:04 PM
melifaro added inline comments to D37011: netlink: add netlink user documentation..
Tue, Nov 1, 1:01 PM
melifaro updated the diff for D37011: netlink: add netlink user documentation..

Address the comments.

Tue, Nov 1, 1:00 PM

Mon, Oct 31

melifaro committed rG728ca8506dff: netlink: fix CTRL_CMD_GETFAMILY lookup/dumps. (authored by melifaro).
netlink: fix CTRL_CMD_GETFAMILY lookup/dumps.
Mon, Oct 31, 5:14 PM
melifaro committed rG03de61aabb40: netlink: fix NLMSG_SPACE() macro. (authored by melifaro).
netlink: fix NLMSG_SPACE() macro.
Mon, Oct 31, 3:05 PM
melifaro committed rG830352ccca23: netlink: fix genetlink CTRL_ATTR_MCAST_GRP_MAX define. (authored by melifaro).
netlink: fix genetlink CTRL_ATTR_MCAST_GRP_MAX define.
Mon, Oct 31, 3:05 PM
melifaro committed rGfc47afbfafca: netlink: fix generic netlink privilege check. (authored by melifaro).
netlink: fix generic netlink privilege check.
Mon, Oct 31, 1:41 PM

Oct 24 2022

melifaro accepted D36908: Split netinet shell tests into one per line..
Oct 24 2022, 7:46 PM

Oct 19 2022

melifaro accepted D36949: linprocfs(5): Add /proc/net/route.

@dchagin: want to commit it, or should I do do it?

Oct 19 2022, 7:33 PM

Oct 18 2022

melifaro added a comment to D36949: linprocfs(5): Add /proc/net/route.

Thank you for providing the updated version w/ rib_walk!
Looks good to me, please see some minor comments inline. Once addressed, it should be good to land.

Oct 18 2022, 10:22 PM

Oct 17 2022

melifaro accepted D37028: in6: Consolidate IN6_ARE_ADDR_EQUAL definitions.
Oct 17 2022, 9:45 PM
melifaro added inline comments to D36949: linprocfs(5): Add /proc/net/route.
Oct 17 2022, 8:12 PM
melifaro requested changes to D36949: linprocfs(5): Add /proc/net/route.
Oct 17 2022, 11:41 AM

Oct 16 2022

melifaro added a comment to D35881: new test: after destroying a jail, its vnet interfaces should be visible by host.

yes the sleep is racy, but I have no idea to fix it.
Without it, the test will always fails: There is a delay between the jail destruction and the interface being visible back from the host.

So I've tested a loop like this one:

while jls -dj jifdestroy >/dev/null 2>&1; do
        sleep 1
done

with a dummy script on 13.1-release like this one:

#!/bin/sh
#set -eu
ifconfig lo888 create
jail -c name=bug persist vnet vnet.interface=lo888
jexec bug ifconfig lo888 up
jail -R bug
while jls -dj bug >/dev/null 2>&1; do
        echo "wait"
        sleep 1
done
ifconfig lo888 destroy && echo "success" || echo "fails"

And it fails about 1 time on 5 runs:

 # sh -x ./yo.sh
+ ifconfig lo888 create
+ jail -c 'name=bug' persist vnet 'vnet.interface=lo888'
+ jexec bug ifconfig lo888 up
+ jail -R bug
+ jls -dj bug
+ ifconfig lo888 destroy
ifconfig: interface lo888 does not exist
+ echo fails
fails

So the only stable solution seems the racy sleep here.

Checking that vnet is not dying is the right thing - once vnet is destroyed you should get the interface back. I’d prefer to have this logic in the test instead of a random sleep.
If this fails (on current head) I can take a look in a ~week time

Oct 16 2022, 7:28 PM

Oct 15 2022

melifaro updated the summary of D37011: netlink: add netlink user documentation..
Oct 15 2022, 4:41 PM
melifaro requested review of D37011: netlink: add netlink user documentation..
Oct 15 2022, 4:38 PM

Oct 3 2022

melifaro added inline comments to D36729: netinet*: remove dead code from TCP, UDP, SCTP control input.
Oct 3 2022, 5:09 PM
melifaro accepted D36728: netinet: filter out invalid ICMP responses in ip_icmp().
Oct 3 2022, 4:50 PM

Oct 2 2022

melifaro committed rG356724fc931f: netlink: fix non-default builds (no INET, INET6, ROUTE_MPATH). (authored by melifaro).
netlink: fix non-default builds (no INET, INET6, ROUTE_MPATH).
Oct 2 2022, 1:14 PM

Oct 1 2022

melifaro committed rG03994c24da95: netlink: fix build without INVARIANTS (authored by melifaro).
netlink: fix build without INVARIANTS
Oct 1 2022, 9:22 PM
melifaro committed rG8d9f3e05728e: netlink: fix format strings on 32-bit platforms (authored by melifaro).
netlink: fix format strings on 32-bit platforms
Oct 1 2022, 9:17 PM
melifaro committed rGc90bff3fa7c1: netlink: fix debugging on 32-bit platforms (authored by melifaro).
netlink: fix debugging on 32-bit platforms
Oct 1 2022, 7:04 PM
melifaro committed rGdddafa8d25c6: netlink: make test-includes happy by hiding most of the header (authored by melifaro).
netlink: make test-includes happy by hiding most of the header
Oct 1 2022, 5:04 PM
melifaro committed rG11ca01e9aa47: netlink: add headers installation (authored by melifaro).
netlink: add headers installation
Oct 1 2022, 4:33 PM
melifaro committed rG7c40e2d5f685: linuxolator: add netlink support (authored by melifaro).
linuxolator: add netlink support
Oct 1 2022, 2:20 PM
melifaro closed D36361: linuxolator: add netlink support.
Oct 1 2022, 2:20 PM
melifaro closed D36002: netlink: add netlink support.
Oct 1 2022, 2:19 PM
melifaro committed rG7e5bf68495cc: netlink: add netlink support (authored by melifaro).
netlink: add netlink support
Oct 1 2022, 2:19 PM
melifaro added inline comments to D36470: ktls: Document requirement of use_flowid for lagg and NIC kTLS.
Oct 1 2022, 11:14 AM

Sep 30 2022

melifaro updated the diff for D36002: netlink: add netlink support.

Address the remaining manpage comments.

Sep 30 2022, 2:15 PM
melifaro added inline comments to D36002: netlink: add netlink support.
Sep 30 2022, 2:14 PM
melifaro updated the diff for D36002: netlink: add netlink support.

Address emaste@ manpage comments.

Sep 30 2022, 2:07 PM
melifaro added inline comments to D36002: netlink: add netlink support.
Sep 30 2022, 1:50 PM
melifaro updated the diff for D36002: netlink: add netlink support.
  • Use STAILQ mbuf macros in nl_io_queue
  • Update man pages to reflect the comments
Sep 30 2022, 1:49 PM

Sep 29 2022

melifaro added inline comments to D36002: netlink: add netlink support.
Sep 29 2022, 9:37 PM
melifaro added a comment to D36002: netlink: add netlink support.

I’m going to commit this tomorrow, Friday 30, unless there are any objections

Sep 29 2022, 7:39 PM
melifaro updated the diff for D36002: netlink: add netlink support.

Update headers to reflect the comments.

Sep 29 2022, 5:20 PM
melifaro added a comment to D36002: netlink: add netlink support.
In D36002#835201, @imp wrote:

From a licensing point of view, thinks look generally OK (modulo the one different language for the man pages I noticed). My approval is conditional on you fixing or explaining why you used these.
Most of these headers appear to have little creative content
Copying from the RFC is the only possible issue, since each RFC has its own permission statement. Please verify text from there can be copied verbatim.
Otherwise it appears that most of these items are covered by 'only one way to do it' plus 'gotta have these names and values for compatibility' exceptions.

Their "Full Copyright Statement" states that it can be used freely provided their copyright statement has to be included: "provided that the above copyright notice and this paragraph are

included on all such copies and derivative works". I've updated `netlink/netlink.h` to include this header. Does it look right to you?
Sep 29 2022, 5:20 PM
melifaro updated the diff for D36002: netlink: add netlink support.

Address header files feedback.

Sep 29 2022, 3:47 PM
melifaro updated the diff for D36002: netlink: add netlink support.
  • Add basic support for NETLINK_GET_STRICT_CHK
  • Fix getsockopt() for NETLINK_CAP_ACK / NETLINK_EXT_ACK
  • Move interface creation logic to the iface_drivers.c
  • Fix manpage lint errors
Sep 29 2022, 1:37 PM

Sep 28 2022

melifaro added a comment to D36651: if_move: create new ifp instances on each vmove.
In D36651#833505, @kp wrote:

That's an interesting idea, but I'm not clear on what the long-term plan is.
This will work (and might indeed be an improvement) for cloned interfaces, but we'd still have to maintain the previous way of handling things for "real" (e.g. igb0) interfaces as they're moved between vnets.

I worry that we'll end up doing things one way for cloned interfaces, and another for other interfaces, which gives us twice the opportunity for bugs, and half as much testing.

Thank you for the feedback!
Indeed, I should have included the proposal for the physical interfaces.
The primary goal of this change in general is to replace the current mechanism. I'm currently thinking of the following:

  • Slightly re-purpose if_reassign() to perform the same function as vmove_f handler (potentially even use if_reassign() directly even for cloned interfaces)
  • Write the handlers for the "relevant" (e.g. modern, likely to be used in routers/cloud setups) interfaces such as vnet/iflib/mellanox/chelsio
  • Add a deprecation warning with a wiki link, specifying how to report it, to the current cloning method
  • Wait for a couple of months and remove the current cloning method
Sep 28 2022, 3:28 PM
melifaro abandoned D36328: sockets: add SO_RCVBUFFORCE to allow maxsockbuf value bypassing..

Abort in favour of D36746

Sep 28 2022, 3:19 PM
melifaro added a reviewer for D36002: netlink: add netlink support: manpages.
Sep 28 2022, 3:05 PM
melifaro updated the diff for D36002: netlink: add netlink support.
  • Add custom SO_RCVBUF handler
  • Sync to the recent HEAD
  • Add manpage for netlink(4) and a manpage draft for rtnetlink(4).
Sep 28 2022, 3:04 PM
melifaro closed D36747: sockbufs: add sbreserve_locked_limit() with custom maxsockbuf limit..
Sep 28 2022, 10:21 AM
melifaro committed rG7b660faa9e30: sockbufs: add sbreserve_locked_limit() with custom maxsockbuf limit. (authored by melifaro).
sockbufs: add sbreserve_locked_limit() with custom maxsockbuf limit.
Sep 28 2022, 10:21 AM
melifaro closed D36746: protocols: make socket buffers ioctl handler changeable.
Sep 28 2022, 10:21 AM
melifaro committed rGf66968564dd7: protocols: make socket buffers ioctl handler changeable (authored by melifaro).
protocols: make socket buffers ioctl handler changeable
Sep 28 2022, 10:20 AM

Sep 27 2022

melifaro requested review of D36747: sockbufs: add sbreserve_locked_limit() with custom maxsockbuf limit..
Sep 27 2022, 1:57 PM
melifaro added reviewers for D36746: protocols: make socket buffers ioctl handler changeable: glebius, network.
Sep 27 2022, 1:48 PM
melifaro requested review of D36746: protocols: make socket buffers ioctl handler changeable.
Sep 27 2022, 1:47 PM
melifaro committed rG04a32b802ec7: if_epair: refactor interface creation and enqueue code. (authored by melifaro).
if_epair: refactor interface creation and enqueue code.
Sep 27 2022, 1:35 PM
melifaro closed D36689: if_epair: refactor interface creation and enqueue code..
Sep 27 2022, 1:35 PM
melifaro committed rGe437991fc936: netinet6: factor interface addition code to the dedicated function (authored by melifaro).
netinet6: factor interface addition code to the dedicated function
Sep 27 2022, 1:24 PM
melifaro closed D36713: netinet6: factor interface addition code to the dedicated function.
Sep 27 2022, 1:24 PM
melifaro accepted D36727: netinet*: de-void control input IP protocol methods.
Sep 27 2022, 11:03 AM
melifaro accepted D36726: netinet6: retire ip6protosw.h.
Sep 27 2022, 8:44 AM
melifaro accepted D36725: tcp: remove unnecessary include of tcp6_var.h.
Sep 27 2022, 8:42 AM
melifaro accepted D36724: udp: typedef udp tunneling functions to functions, not pointers.
Sep 27 2022, 8:42 AM
melifaro accepted D36723: netinet*: move ipproto_register() and co to ip_var.h and ip6_var.h.
Sep 27 2022, 8:41 AM

Sep 26 2022

melifaro updated the summary of D36713: netinet6: factor interface addition code to the dedicated function.
Sep 26 2022, 1:58 PM
melifaro updated the summary of D36713: netinet6: factor interface addition code to the dedicated function.
Sep 26 2022, 1:55 PM
melifaro requested review of D36713: netinet6: factor interface addition code to the dedicated function.
Sep 26 2022, 1:51 PM
melifaro committed rGf375bf0e6f0b: netinet: pass cred instead of the curthread to ifaddr manipulation funcs. (authored by melifaro).
netinet: pass cred instead of the curthread to ifaddr manipulation funcs.
Sep 26 2022, 1:47 PM
melifaro updated the summary of D36651: if_move: create new ifp instances on each vmove.
Sep 26 2022, 10:24 AM
melifaro updated the test plan for D36651: if_move: create new ifp instances on each vmove.
Sep 26 2022, 10:24 AM
melifaro updated the diff for D36651: if_move: create new ifp instances on each vmove.

Simplify patch.

Sep 26 2022, 10:23 AM

Sep 24 2022

melifaro updated the summary of D36651: if_move: create new ifp instances on each vmove.
Sep 24 2022, 8:43 PM
melifaro updated the diff for D36651: if_move: create new ifp instances on each vmove.

Update patch

Sep 24 2022, 8:42 PM
melifaro updated the summary of D36689: if_epair: refactor interface creation and enqueue code..
Sep 24 2022, 8:24 PM
melifaro requested review of D36689: if_epair: refactor interface creation and enqueue code..
Sep 24 2022, 8:22 PM
melifaro committed rG26c190d2802e: if_clone: add ifc_link_ifp() / ifc_unlink_ifp() to the KPI (authored by melifaro).
if_clone: add ifc_link_ifp() / ifc_unlink_ifp() to the KPI
Sep 24 2022, 8:15 PM
melifaro committed rG9a7c520a7811: ifp: add if_setdescr() / if_freedesrt() methods (authored by melifaro).
ifp: add if_setdescr() / if_freedesrt() methods
Sep 24 2022, 8:15 PM
melifaro updated the diff for D36651: if_move: create new ifp instances on each vmove.

Update patch

Sep 24 2022, 12:58 PM

Sep 22 2022

melifaro added inline comments to D36636: if_clone: migrate some consumers to the new KPI.
Sep 22 2022, 12:33 PM
melifaro closed D36636: if_clone: migrate some consumers to the new KPI.
Sep 22 2022, 12:33 PM
melifaro committed rG91ebcbe02a48: if_clone: migrate some consumers to the new KPI. (authored by melifaro).
if_clone: migrate some consumers to the new KPI.
Sep 22 2022, 12:32 PM
melifaro closed D36632: if_clone: rework cloning KPI.
Sep 22 2022, 10:21 AM
melifaro committed rG09ee0fc023c0: if_clone: rework cloning KPI (authored by melifaro).
if_clone: rework cloning KPI
Sep 22 2022, 10:21 AM
melifaro added inline comments to D36614: epair: deduplicate interface allocation code #1.
Sep 22 2022, 9:36 AM
melifaro committed rG12aeeb91903b: epair: deduplicate interface allocation code #1 (authored by melifaro).
epair: deduplicate interface allocation code #1
Sep 22 2022, 9:34 AM
melifaro closed D36614: epair: deduplicate interface allocation code #1.
Sep 22 2022, 9:34 AM

Sep 21 2022

melifaro updated the test plan for D36651: if_move: create new ifp instances on each vmove.
Sep 21 2022, 6:46 PM
melifaro requested review of D36651: if_move: create new ifp instances on each vmove.
Sep 21 2022, 6:44 PM

Sep 20 2022

melifaro added reviewers for D36636: if_clone: migrate some consumers to the new KPI: network, glebius, kp.
Sep 20 2022, 2:53 PM
melifaro requested review of D36636: if_clone: migrate some consumers to the new KPI.
Sep 20 2022, 2:52 PM
melifaro updated the diff for D36632: if_clone: rework cloning KPI.

add ifc_copyout()

Sep 20 2022, 2:51 PM
melifaro updated the summary of D36632: if_clone: rework cloning KPI.
Sep 20 2022, 12:19 PM
melifaro updated the summary of D36632: if_clone: rework cloning KPI.
Sep 20 2022, 12:15 PM
melifaro requested review of D36632: if_clone: rework cloning KPI.
Sep 20 2022, 11:18 AM

Sep 18 2022

melifaro accepted D36619: Deprecate telnetd.
Sep 18 2022, 12:38 PM

Sep 17 2022

melifaro retitled D36614: epair: deduplicate interface allocation code #1 from epair: deduplicate interface allocation code to epair: deduplicate interface allocation code #1.
Sep 17 2022, 8:57 PM