Page MenuHomeFreeBSD

melifaro (Alexander V. Chernikov)
User

Projects

User Details

User Since
May 27 2014, 9:32 AM (339 w, 4 d)

Recent Activity

Today

melifaro updated the diff for D27401: Add modular routing lookup framework..

Small cleanup, rebase to account for already-committed parts.

Sat, Nov 28, 5:28 PM
melifaro retitled D27406: Introduce rib_walk_ext_internal() to allow specifying rib by rnh pointer directly. from Introduce rib_walk_ext_internal() to allow specifying rib by rnh pointer directly, instead of fibnum/family. This solves the case when rib is not yet attached/detached to the system rib map. to Introduce rib_walk_ext_internal() to allow specifying rib by rnh pointer directly..
Sat, Nov 28, 5:24 PM
melifaro requested review of D27406: Introduce rib_walk_ext_internal() to allow specifying rib by rnh pointer directly..
Sat, Nov 28, 5:24 PM
melifaro updated the diff for D27405: Refactor fib4/fib6 functions..

Add forgotten NHR_UNLOCKED.

Sat, Nov 28, 5:14 PM
melifaro updated the summary of D27405: Refactor fib4/fib6 functions..
Sat, Nov 28, 5:05 PM
melifaro requested review of D27405: Refactor fib4/fib6 functions..
Sat, Nov 28, 4:56 PM
melifaro retitled D27404: Add tracking for rib/nhops/nhgrp objects and cumulative number accessors. from Add tracking for rib/nhops/nhgrp objects and cumulative number accessors. Simplify rib_unsubscribe: store rnh we're attached to instead of requiring it up again on destruction. This helps in the cases when rnh is not linked yet/already unlinked. to Add tracking for rib/nhops/nhgrp objects and cumulative number accessors..
Sat, Nov 28, 4:36 PM
melifaro requested review of D27404: Add tracking for rib/nhops/nhgrp objects and cumulative number accessors..
Sat, Nov 28, 4:35 PM
melifaro committed rS368128: Add nhgrp_get_idx() as a counterpart for nhop_get_idx()..
Add nhgrp_get_idx() as a counterpart for nhop_get_idx().
Sat, Nov 28, 3:46 PM
melifaro committed rS368127: Cleanup nexthops request flags:.
Cleanup nexthops request flags:
Sat, Nov 28, 3:12 PM
melifaro updated the summary of D27401: Add modular routing lookup framework..
Sat, Nov 28, 1:24 PM
melifaro requested review of D27401: Add modular routing lookup framework..
Sat, Nov 28, 10:42 AM

Tue, Nov 24

melifaro accepted D27279: if: Protect V_ifnet in vnet_if_return().
Tue, Nov 24, 10:32 PM
melifaro added a comment to D27279: if: Protect V_ifnet in vnet_if_return().

Thank you for addressing the comments!
Looks good, added another minor comment inside.

Tue, Nov 24, 10:09 PM
melifaro added inline comments to D27279: if: Protect V_ifnet in vnet_if_return().
Tue, Nov 24, 5:51 PM

Mon, Nov 23

melifaro added inline comments to D27279: if: Protect V_ifnet in vnet_if_return().
Mon, Nov 23, 11:44 PM

Sun, Nov 22

melifaro closed D27219: Refactor rib iterator functions..
Sun, Nov 22, 8:21 PM
melifaro committed rS367941: Refactor rib iterator functions..
Refactor rib iterator functions.
Sun, Nov 22, 8:21 PM
melifaro updated the summary of D27244: Remove RADIX_MPATH config option..
Sun, Nov 22, 6:53 PM
melifaro added inline comments to D27279: if: Protect V_ifnet in vnet_if_return().
Sun, Nov 22, 6:47 PM
melifaro accepted D27278: if: Remove ifnet_rwlock.
Sun, Nov 22, 6:27 PM

Mon, Nov 16

melifaro updated the diff for D27244: Remove RADIX_MPATH config option..

Fix diff.

Mon, Nov 16, 10:13 PM
melifaro updated the diff for D27029: Move inner loop logic out of sysctl_sysctl_next_ls().

Update ITER_SIBLINGS comment.

Mon, Nov 16, 10:09 PM
melifaro requested review of D27244: Remove RADIX_MPATH config option..
Mon, Nov 16, 10:07 PM
melifaro updated the diff for D27029: Move inner loop logic out of sysctl_sysctl_next_ls().

Address freqlab comments.

Mon, Nov 16, 9:56 PM

Sat, Nov 14

melifaro added a reviewer for D27219: Refactor rib iterator functions.: network.
Sat, Nov 14, 9:28 PM
melifaro requested review of D27219: Refactor rib iterator functions..
Sat, Nov 14, 9:28 PM
melifaro added a comment to D27112: WIP: Remove scope embedding in the lle/lltable code.

melifaro@ gave an explanation/clarification that this is much larger than originally anticipated. This patch is still a WIP, the RTAX_DST/RTAX_GATEWAY parts in rib_action() still needs to be done.

Sat, Nov 14, 12:09 AM

Fri, Nov 13

melifaro added a comment to D27029: Move inner loop logic out of sysctl_sysctl_next_ls().

I like that deciding what action to take at the current node is able to be split out into its own function. I don't find sysctl_sysctl_next_node to be a properly descriptive name. It kept confusing me that the "next node" function doesn't do what it sounds like. Changing that to something like sysctl_sysctl_next_action and using an enum for the different actions would avoid the confusion. The variable its return value is stored in could be called action instead of ret. Consider for example enum { ITER_STOP, ITER_SIBLINGS, ITER_CHILDREN };.

Thank you for the suggestion, that's a good one!
Does the current code look better?

Fri, Nov 13, 11:56 PM
melifaro updated the diff for D27029: Move inner loop logic out of sysctl_sysctl_next_ls().

Address freqlabs comments, rebase to latest HEAD.

Fri, Nov 13, 11:55 PM

Thu, Nov 12

melifaro accepted D27166: Add redirects to the fast forwarding path.

Thank you for addressing the comments, LGTM!

Thu, Nov 12, 8:13 PM

Wed, Nov 11

melifaro added inline comments to D27166: Add redirects to the fast forwarding path.
Wed, Nov 11, 10:32 PM
melifaro added inline comments to D27166: Add redirects to the fast forwarding path.
Wed, Nov 11, 10:01 PM

Sun, Nov 8

melifaro closed D26076: Switch net.add_addr_allfibs default to 0.
Sun, Nov 8, 6:28 PM
melifaro committed rS367491: Switch net.add_addr_allfibs default to 0..
Switch net.add_addr_allfibs default to 0.
Sun, Nov 8, 6:28 PM
melifaro committed rS367490: Temporarily revert setting net.add_addr_allfibs to 0..
Temporarily revert setting net.add_addr_allfibs to 0.
Sun, Nov 8, 6:11 PM
melifaro committed rS367486: Fix build broken by r367484: add route_ifaddrs.c..
Fix build broken by r367484: add route_ifaddrs.c.
Sun, Nov 8, 2:49 PM
melifaro added a comment to D26318: Move all ifaddr route creation code to net/route/route_ifaddr.c.

sys/net/route/route_ifaddr.c is missing and r367484 doesn't compile.
Is there any chance the missing file will be added?

Sorry for the breakage, should be fixed in r367486.

Sun, Nov 8, 2:00 PM
melifaro closed D26318: Move all ifaddr route creation code to net/route/route_ifaddr.c.
Sun, Nov 8, 11:12 AM
melifaro committed rS367484: Move all ifaddr route creation business logic to net/route/route_ifaddr.c.
Move all ifaddr route creation business logic to net/route/route_ifaddr.c
Sun, Nov 8, 11:12 AM
melifaro accepted D27024: Fix declaration of rn_addmask().
Sun, Nov 8, 10:17 AM

Fri, Nov 6

melifaro added inline comments to D27112: WIP: Remove scope embedding in the lle/lltable code.
Fri, Nov 6, 9:26 AM

Thu, Nov 5

melifaro committed rS367402: MFC r367114..
MFC r367114.
Thu, Nov 5, 10:42 PM

Mon, Nov 2

melifaro added a comment to D27024: Fix declaration of rn_addmask().

Do you by any chance have a usecase which requires exposing rn_addmask? If not, I'd rather prefer to have it the other way round - making the definition static.

Good question. NetApp has some additions to radix_mpath.c to be upstreamed that make use of this function, but it's possible that they should be using rn_lookup() instead. I'll have to investigate further before I can give a definitive answer.

I guess it's worth checking it as we don't use radix_mpath.c anymore. In fact, I forgot to remove it :-)

Mon, Nov 2, 9:55 PM

Sun, Nov 1

melifaro added a comment to D26578: nd6: Count packets dropped due to an invalid hop limit.

To followup on the discussion: I raised D27035, which introduces a generic mechanism to solve such issues. It also unbreaks FreeBSD12 compat for net.inet6.icmp6.stats.

Sun, Nov 1, 12:50 PM
melifaro updated the summary of D27035: Add versioning support for kernel<>userland sysctl interface.
Sun, Nov 1, 12:12 PM
melifaro added inline comments to D27035: Add versioning support for kernel<>userland sysctl interface.
Sun, Nov 1, 12:08 PM
melifaro retitled D27035: Add versioning support for kernel<>userland sysctl interface from Add support for dynamic oids. Add support for versioned oids. to Add versioning support for kernel<>userland sysctl interface.
Sun, Nov 1, 11:27 AM
melifaro requested review of D27035: Add versioning support for kernel<>userland sysctl interface.
Sun, Nov 1, 12:03 AM

Sat, Oct 31

melifaro updated the summary of D27029: Move inner loop logic out of sysctl_sysctl_next_ls().
Sat, Oct 31, 7:41 AM
melifaro updated the diff for D27029: Move inner loop logic out of sysctl_sysctl_next_ls().

Further simplify.

Sat, Oct 31, 7:35 AM

Fri, Oct 30

melifaro updated the summary of D27029: Move inner loop logic out of sysctl_sysctl_next_ls().
Fri, Oct 30, 11:10 PM
melifaro updated the diff for D27029: Move inner loop logic out of sysctl_sysctl_next_ls().

update.

Fri, Oct 30, 11:03 PM
melifaro updated the diff for D27029: Move inner loop logic out of sysctl_sysctl_next_ls().

update wording.

Fri, Oct 30, 10:37 PM
melifaro updated the diff for D27029: Move inner loop logic out of sysctl_sysctl_next_ls().

update,

Fri, Oct 30, 10:31 PM
melifaro added a comment to D27024: Fix declaration of rn_addmask().

Do you by any chance have a usecase which requires exposing rn_addmask? If not, I'd rather prefer to have it the other way round - making the definition static.

Fri, Oct 30, 10:15 PM
melifaro updated the diff for D27029: Move inner loop logic out of sysctl_sysctl_next_ls().

Update.

Fri, Oct 30, 10:01 PM
melifaro requested review of D27029: Move inner loop logic out of sysctl_sysctl_next_ls().
Fri, Oct 30, 9:22 PM

Oct 28 2020

melifaro committed rS367114: Fix use-after-free in icmp6_notify_error()..
Fix use-after-free in icmp6_notify_error().
Oct 28 2020, 8:22 PM

Oct 21 2020

melifaro closed D26436: Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q)..
Oct 21 2020, 9:28 PM · network
melifaro committed rS366917: Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q)..
Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q).
Oct 21 2020, 9:28 PM
melifaro accepted D26254: Add support for IPoIB lagg devices in FreeBSD.
Oct 21 2020, 7:51 PM

Oct 20 2020

melifaro added a comment to D26254: Add support for IPoIB lagg devices in FreeBSD.

The only real question/concern I have is the name. I'm a bit afraid that we're saying that "bond" is an IB port-channel and "lagg" is an ethernet port-channel. It's a bit confusing, given one cannot distinguish which is which by name and the fact that Linux folks are used to "bond" as the ethernet port-channel. If we really want to have the different names (to keep some applications happy?), would it be possible to have a name other than "bond"?

I agree with @melifaro ; Link Aggregation Group covers Ethernet (failover, lacp, loadbalance, roundrobin); why can't it also cover InfiniBand failover as part of the same?

Hi,

It is not possible to re-use lagg<N> for infiniband, because we set the type of the network device when it is created. lagg<N> are created like ethernet and bond<N> are created like infiniband.

Let's try to work it backwards?
I'd start with an assumption that from user POV we should be able to use the same interface for the same type of job, similarly to bond in Linux.
I see multiple options here:

  1. make lagg auto-change type based on the first interface attached. That would involve quite a lot of mechanics with notifications when changing between eth/ib.
  2. require lagg creation to specify laggtype in the creation params, assuming ethernet by default. ifconfig(8) needs to be updated (changes similar to vxlan_create() in sbin/ifconfig/ifvxlan.c).
Oct 20 2020, 9:37 PM
melifaro added a comment to D26254: Add support for IPoIB lagg devices in FreeBSD.

Thank you for addressing the comments!
Sorry, got a couple more, but generally it's looking great :-)
The only real question/concern I have is the name. I'm a bit afraid that we're saying that "bond" is an IB port-channel and "lagg" is an ethernet port-channel. It's a bit confusing, given one cannot distinguish which is which by name and the fact that Linux folks are used to "bond" as the ethernet port-channel. If we really want to have the different names (to keep some applications happy?), would it be possible to have a name other than "bond"?

Oct 20 2020, 6:57 PM
melifaro added a comment to D26436: Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q)..

I'm going to commit this tomorrow, October 21 unless there are any objections.

Oct 20 2020, 6:33 PM · network
melifaro added a reviewer for D26436: Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q).: network.
Oct 20 2020, 6:27 PM · network

Oct 19 2020

melifaro added a comment to D26254: Add support for IPoIB lagg devices in FreeBSD.

Looks like a really nice neat incorporation of IB into lagg. Please see some comments inline :-)
Also it would be nice to briefly discuss the naming part :-)

Oct 19 2020, 8:38 PM

Oct 18 2020

melifaro committed rS366816: MFC r363173: [ipfw] quieten maybe-uninitialized errors in ipfw..
MFC r363173: [ipfw] quieten maybe-uninitialized errors in ipfw.
Oct 18 2020, 8:54 PM
melifaro closed D26523: Enable multipath for outbound connections.
Oct 18 2020, 5:16 PM
melifaro committed rS366813: Implement flowid calculation for outbound connections to balance.
Implement flowid calculation for outbound connections to balance
Oct 18 2020, 5:16 PM
melifaro committed rS366807: Simplify NET_EPOCH_EXIT in inp_join_group()..
Simplify NET_EPOCH_EXIT in inp_join_group().
Oct 18 2020, 12:03 PM

Oct 17 2020

melifaro closed D26827: Fix sleepq_add panic happening with too wide net epoch..
Oct 17 2020, 8:33 PM
melifaro committed rS366795: Fix sleepq_add panic happening with too wide net epoch in mcast control..
Fix sleepq_add panic happening with too wide net epoch in mcast control.
Oct 17 2020, 8:33 PM
melifaro updated the diff for D26827: Fix sleepq_add panic happening with too wide net epoch..

Reflect ae@ comments.

Oct 17 2020, 4:22 PM
melifaro accepted D26436: Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q)..

I'll just slip in a small cosmetic update while I still can (MT_LAMBDA becomes MT_FILTER).

To summarize:

  • This patch adds support for stacked VLANs. It supports both 802.1Q over 802.1ad, and legacy 802.1Q over 802.1Q.
  • Since we now need to differentiate between IEEE 802.1Q "customer VLANs" and IEEE 802.1ad "service VLANs", two options were explored:
    1. The OpenBSD-style svlan interface naming scheme, where a "svlan" prefix in the interface name denotes an IEEE 802.1ad VLAN, while a "vlan" prefix denotes an IEEE 802.1Q VLAN. This option was implemented in diff #77589.
    2. A new vlanproto <vlan_proto> option to ifconfig, allowing users to explicitly set the VLAN encapsulation protocol on interface creation (possible values for vlan_proto: "802.1Q" and "802.1ad", case insensitive). Presumably what users from other obediences (i.e. the Linux crowd) may be most familiar with.

Both options are based on similar kernel-side mods and do behave well. Now the question is: which one shall we go with ?

Personal opinion: I have a marginal preference for option #1. The implementation is slightly more straightforward, and I like the fact that the choice, as presented to users, pertains more to the nature of the VLAN than to a mere property of it. This is just a gut feeling though. I'd be happy with either.

Thank you all for your time and comments.

Thank you for working on this!

Oct 17 2020, 2:37 PM · network
melifaro updated the summary of D26827: Fix sleepq_add panic happening with too wide net epoch..
Oct 17 2020, 11:31 AM
melifaro requested review of D26827: Fix sleepq_add panic happening with too wide net epoch..
Oct 17 2020, 11:28 AM

Oct 16 2020

melifaro updated the summary of D26523: Enable multipath for outbound connections.
Oct 16 2020, 10:35 PM
melifaro updated the diff for D26523: Enable multipath for outbound connections.

Address ae@ comment on udp6_usrreq.

Oct 16 2020, 10:34 PM
melifaro updated the summary of D26523: Enable multipath for outbound connections.
Oct 16 2020, 10:20 PM
melifaro updated the diff for D26523: Enable multipath for outbound connections.

Improve ROUTE_MPATH & RSS configurations.

Oct 16 2020, 10:03 PM
melifaro committed rS366773: Try to enable multipath routing in flowid tests..
Try to enable multipath routing in flowid tests.
Oct 16 2020, 9:51 PM
melifaro added inline comments to D26755: Add hash table lookup for IPv6 raw sockets..
Oct 16 2020, 7:55 PM

Oct 14 2020

melifaro requested changes to D26755: Add hash table lookup for IPv6 raw sockets..

Thanks for working on this!
It would be nice to have some tests attached to the diff to improve our continuous testing efforts :-)
Should be relatively easy to do with python sockets.

Oct 14 2020, 7:56 PM

Oct 13 2020

melifaro accepted D26578: nd6: Count packets dropped due to an invalid hop limit.

Any objection to committing the patch as it is? While having a backwards-compatible solution here would be nice, I don't think it should block the addition of new counters. As I pointed out, the ABI for icmpv6 stats is already broken with respect to stable/12.

Oct 13 2020, 8:48 PM
melifaro accepted D26758: Add IPv4 fragments reassembling to NAT64LSN.
Oct 13 2020, 6:40 PM

Oct 7 2020

melifaro updated the diff for D26523: Enable multipath for outbound connections.

Fix raw IPv6, add connectionless UDP.
Fix tests.

Oct 7 2020, 7:46 PM

Oct 6 2020

melifaro added inline comments to D26578: nd6: Count packets dropped due to an invalid hop limit.
Oct 6 2020, 10:35 PM
melifaro added inline comments to D26578: nd6: Count packets dropped due to an invalid hop limit.
Oct 6 2020, 10:18 PM

Oct 4 2020

melifaro added inline comments to D26523: Enable multipath for outbound connections.
Oct 4 2020, 6:30 PM
melifaro requested changes to D26652: Implement SO_RERROR.

I don't have enough competence to talk about the generic socket case, so I'll talk about route(4).

Oct 4 2020, 3:06 PM
melifaro committed rS366424: Fix route flags update during RTM_CHANGE..
Fix route flags update during RTM_CHANGE.
Oct 4 2020, 1:25 PM

Oct 3 2020

melifaro committed rS366398: Remove ROUTE_MPATH-related warnings introduced in r366390..
Remove ROUTE_MPATH-related warnings introduced in r366390.
Oct 3 2020, 2:38 PM
melifaro committed rS366390: Introduce scalable route multipath..
Introduce scalable route multipath.
Oct 3 2020, 10:48 AM
melifaro closed D26449: Stage 2: Introduce scalable route multipath.
Oct 3 2020, 10:48 AM
melifaro updated the diff for D26449: Stage 2: Introduce scalable route multipath.

Fix build with ROUTE_MPATH.
Set net.ip.route.multipath to 0 by default.

Oct 3 2020, 9:43 AM
melifaro updated the diff for D26449: Stage 2: Introduce scalable route multipath.

Address Gleb's comments.
Rebase to the latest HEAD.

Oct 3 2020, 9:35 AM
melifaro added inline comments to D26449: Stage 2: Introduce scalable route multipath.
Oct 3 2020, 9:31 AM

Oct 2 2020

melifaro accepted D26636: Implement SIOCGIFALIAS.
Oct 2 2020, 8:09 AM

Sep 29 2020

melifaro added a comment to D26578: nd6: Count packets dropped due to an invalid hop limit.

While I'm all up for more statistic counter, I'd suggest keeping nd6log calls. They're turned off by default, but useful for debugging.

Sep 29 2020, 8:20 PM