Page MenuHomeFreeBSD

ae (Andrey V. Elsukov)
User

Projects

User Details

User Since
Jun 4 2014, 7:25 AM (367 w, 2 d)

Recent Activity

Wed, Jun 16

ae added a comment to D30764: ipfw: Update the pfil mbuf pointer in ipfw_check_frame().

p is a union of struct mbuf ** and void *. So wouldn't setting *p.m do the wrong thing if the packet is passed with PFIL_MEMPTR?

Wed, Jun 16, 10:18 AM

Tue, Jun 15

ae accepted D30764: ipfw: Update the pfil mbuf pointer in ipfw_check_frame().

I think we can set *p.m unconditionally, like we do in ipfw_check_packet().

Tue, Jun 15, 11:21 AM

Fri, Jun 11

ae abandoned D12041: direct vlan handling in mlx5en.

The intent of this review was show how we can reduce vlan handling call path. It is not targeted to be included in main stream.

Fri, Jun 11, 2:49 PM

Fri, May 21

ae added a comment to D29274: VNETify dummynet.
In D29274#682376, @kp wrote:

The locking Tom cites does still need to be fixed, but I think it's mostly okay. The only missing part is the protection of schedlist and aqmlist, and those will probably be better served by NET_EPOCH than by a separate lock. (Because taking the lock in find_sched_type() doesn't protect the struct dn_alg we return from being removed after we release the lock. Being inside NET_EPOCH and waiting to complete the unload until after NET_EPOCH_WAIT should be fine.)

I'll try to post a patch for that later today.

Fri, May 21, 12:01 PM

May 17 2021

ae accepted D30313: dummynet: Remove unused code.

Just want to note, I'm sorry for long delay, I moved temporary to another project and dummynet overhaul is not done yet. But I plan to publish the code somewhere on guthub.

May 17 2021, 2:32 PM

May 11 2021

ae accepted D30208: sbin/ipfw: Allow tablearg as hostname.
May 11 2021, 8:41 AM
ae added a comment to D30164: sbin/ipfw: Fix parsing error in table based forward.

I meant the case fwd tableargs.home.lan:8000.

May 11 2021, 7:28 AM

May 10 2021

ae added a comment to D30164: sbin/ipfw: Fix parsing error in table based forward.

Replacing _substrcmp() with strncmp(,,8) breaks the case, when "tablearg" is part of hostname:port syntax.

May 10 2021, 9:51 PM

May 2 2021

ae accepted D30046: sbin/ipfw: Fix null pointer deference when printing counters.
May 2 2021, 12:54 PM

Apr 30 2021

ae accepted D30042: traceroute6: Properly calculate UDP checksum.
Apr 30 2021, 10:33 AM

Apr 28 2021

ae committed R10:5ebfa80f7543: ipfw: do not use sleepable malloc in callout context. (authored by ae).
ipfw: do not use sleepable malloc in callout context.
Apr 28 2021, 10:08 AM
ae committed R10:29246f2cb0c5: ipfw: do not use sleepable malloc in callout context. (authored by ae).
ipfw: do not use sleepable malloc in callout context.
Apr 28 2021, 10:06 AM

Apr 20 2021

ae accepted D29838: Add more checking for unmapped mbufs.
Apr 20 2021, 4:48 AM

Apr 19 2021

ae added a comment to D29378: pf: Handle unmapped mbufs when computing checksums.

I see a call in ipfw, I guess that needs to be updated too. Seems time to introduce a new subroutine to handle this.

Apr 19 2021, 11:03 AM

Apr 16 2021

ae added inline comments to D29772: ipfw: do not use sleepable malloc in callout context..
Apr 16 2021, 8:23 AM
ae committed R10:9bacbf1ae243: ipfw: do not use sleepable malloc in callout context. (authored by ae).
ipfw: do not use sleepable malloc in callout context.
Apr 16 2021, 7:25 AM
ae closed D29772: ipfw: do not use sleepable malloc in callout context..
Apr 16 2021, 7:25 AM

Apr 15 2021

ae updated the diff for D29772: ipfw: do not use sleepable malloc in callout context..
  • Fix copy/paste bug.
Apr 15 2021, 12:40 PM
ae published D29772: ipfw: do not use sleepable malloc in callout context. for review.
Apr 15 2021, 12:37 PM

Apr 6 2021

ae committed R10:38c299fe8562: ipdivert: check that PCB is still valid after taking INPCB_RLOCK. (authored by ae).
ipdivert: check that PCB is still valid after taking INPCB_RLOCK.
Apr 6 2021, 6:51 AM
ae committed R10:6b8c65318e81: ipdivert: check that PCB is still valid after taking INPCB_RLOCK. (authored by ae).
ipdivert: check that PCB is still valid after taking INPCB_RLOCK.
Apr 6 2021, 6:50 AM

Apr 5 2021

ae added a comment to D29576: First take on syn-rlock..
In D29576#663187, @ae wrote:

Imagine, you have two or more identical SYNs, now you use INP_RLOCK(), this means they all can be handled in parallel "in the same time". This means, syncache_add() in some cases can determine that there are no corresponding entries yet - syncache_lookup() returns NULL, we still hold SCH_LOCK(), then we allocate syncache entry, populate all its fields and do SCH_UNLOCK(). Imagine, now the same things will be done by the another thread, and another. In the end we will have several the same entries added by the syncache_insert().
Is this impossible?

In this case the second thread will wait in SCH_LOCK and then, once it acquires the lock, syncache_lookup will return entry created by the first thread.

Apr 5 2021, 4:19 PM
ae added a comment to D29576: First take on syn-rlock..
In D29576#663155, @ae wrote:

I doubt that it is enough to just do s/wlock/rlock/ in the syncache code. Usually we need to add the extra check that an entry was not already linked by another thread in such cases.

Nothing changes in the syncache hash locking with this patch. The patch changes to rlock of the listening socket PCB.

Apr 5 2021, 1:53 PM
ae added a comment to D29576: First take on syn-rlock..

I doubt that it is enough to just do s/wlock/rlock/ in the syncache code. Usually we need to add the extra check that an entry was not already linked by another thread in such cases.

Apr 5 2021, 11:38 AM

Apr 1 2021

ae accepted D29515: tcp: Use jenkins_hash32() in hostcache.
Apr 1 2021, 7:32 AM
ae added inline comments to D29515: tcp: Use jenkins_hash32() in hostcache.
Apr 1 2021, 7:31 AM

Mar 30 2021

ae closed D29420: ip_divert: check that PCB is still valid after INP_RLOCK taking.
Mar 30 2021, 9:43 AM
ae committed R10:c80a4b76ceac: ipdivert: check that PCB is still valid after taking INPCB_RLOCK. (authored by ae).
ipdivert: check that PCB is still valid after taking INPCB_RLOCK.
Mar 30 2021, 9:43 AM

Mar 25 2021

ae published D29420: ip_divert: check that PCB is still valid after INP_RLOCK taking for review.
Mar 25 2021, 8:58 AM

Mar 19 2021

ae added a reviewer for D29320: Add log() style versions of device_printf() and if_printf(): network.
Mar 19 2021, 8:56 AM

Mar 16 2021

ae added a comment to D29274: VNETify dummynet.

I think when my work will be ready, I will commit it as separate implementation. Thus you can commit your changes to go forward with your work.

Mar 16 2021, 9:22 AM

Mar 9 2021

ae committed R10:fb827e006cec: ipfw: add IPv6 support for sockarg opcode. (authored by ae).
ipfw: add IPv6 support for sockarg opcode.
Mar 9 2021, 8:54 AM
ae committed R10:f5183ef429ef: ipfw: add IPv6 support for sockarg opcode. (authored by ae).
ipfw: add IPv6 support for sockarg opcode.
Mar 9 2021, 8:52 AM

Mar 4 2021

ae accepted D29056: net: Introduce IPV6_DSCP(), IPV6_ECN() and IPV6_TRAFFIC_CLASS() macros.

LGTM.

Mar 4 2021, 12:43 PM
ae committed R10:952ad2822359: ipfw: make algo name argument optional for some table types (authored by ae).
ipfw: make algo name argument optional for some table types
Mar 4 2021, 9:25 AM
ae committed R10:f8317f3a4c7d: ipfw: make algo name argument optional for some table types (authored by ae).
ipfw: make algo name argument optional for some table types
Mar 4 2021, 9:22 AM
ae committed R10:8d0f1438b0d7: ipfw: make algo name argument optional for some table types (authored by ae).
ipfw: make algo name argument optional for some table types
Mar 4 2021, 9:21 AM
ae added inline comments to D29048: pf: Retrieve DSCP value from the IPv6 header.
Mar 4 2021, 8:55 AM

Mar 3 2021

ae added a comment to D27837: Add an implementation of CHACHA20_POLY1035 to cryptosoft..

Hi John,

Mar 3 2021, 11:07 AM

Mar 2 2021

ae added a comment to D28967: Trim leading/trailing white space in dummynet Tidy up the leading and trailing white space issues highlighted by vim. Avoid touching whitespace that is used for layout and the functions which are entirely space aligned..

I'm working on this code and I think all this changes will be lost in the future, or they will take away my desire to merge changes.

Mar 2 2021, 9:57 AM
ae committed R10:a9f7eba95971: ipfw: add IPv6 support for sockarg opcode. (authored by ae).
ipfw: add IPv6 support for sockarg opcode.
Mar 2 2021, 9:49 AM

Feb 26 2021

ae added a reviewer for D28933: wireguard: allow to set IPv6 endpoint: network.
Feb 26 2021, 6:44 AM

Feb 25 2021

ae committed R10:13ad237a19b7: ipfw: make algo name argument optional for some table types (authored by ae).
ipfw: make algo name argument optional for some table types
Feb 25 2021, 2:07 PM

Feb 18 2021

ae accepted D28773: mbuf: add a way to mark flowid as calculated from the internal headers.
Feb 18 2021, 2:46 PM

Feb 16 2021

ae committed R10:6666b1d45a1b: [udp6] fix possible panic due to lack of locking. (authored by ae).
[udp6] fix possible panic due to lack of locking.
Feb 16 2021, 10:08 PM

Feb 15 2021

ae committed R10:8cb4c3631630: [udp6] fix possible panic due to lack of locking. (authored by ae).
[udp6] fix possible panic due to lack of locking.
Feb 15 2021, 10:52 AM
ae committed R10:9f46322cad47: [udp] fix possible mbuf and lock leak in udp_input(). (authored by ae).
[udp] fix possible mbuf and lock leak in udp_input().
Feb 15 2021, 10:51 AM

Feb 11 2021

ae committed R10:c6ded47d0bae: [udp] fix possible mbuf and lock leak in udp_input(). (authored by ae).
[udp] fix possible mbuf and lock leak in udp_input().
Feb 11 2021, 9:25 AM
ae committed R10:3c782d9c9166: [udp6] fix possible panic due to lack of locking. (authored by ae).
[udp6] fix possible panic due to lack of locking.
Feb 11 2021, 9:25 AM
ae closed D28232: Fix possible panic in udp6_input() due to lack of locking..
Feb 11 2021, 9:24 AM

Feb 9 2021

ae updated the summary of D28232: Fix possible panic in udp6_input() due to lack of locking..
Feb 9 2021, 2:44 PM
ae updated the diff for D28232: Fix possible panic in udp6_input() due to lack of locking..

Make locking similar to what we heave for IPv4.
Fix mbuf leaks and lock leaks for error case.

Feb 9 2021, 2:39 PM
ae updated the test plan for D28232: Fix possible panic in udp6_input() due to lack of locking..
Feb 9 2021, 2:27 PM
ae updated the test plan for D28232: Fix possible panic in udp6_input() due to lack of locking..
Feb 9 2021, 2:26 PM

Feb 8 2021

ae added a comment to D27500: gpart resize: respect requested size when using `-a` and `-s`.
In D27500#638775, @rew wrote:

The only a thing a resize operation can do is ensure that the new size is a multiple of the requested alignment and that the new size won't extend into the next partition or past the last sector of the geom.

Feb 8 2021, 3:38 PM
ae added a comment to D28232: Fix possible panic in udp6_input() due to lack of locking..

The last patch seems to have fixed the panic for us. But I have doubts, probably we should take INP_RLOCK just before checking in6p_moptions. Any thoughts?
Let me remind what panic it is targeted to fix:

Feb 8 2021, 10:36 AM
ae added a comment to D27500: gpart resize: respect requested size when using `-a` and `-s`.
In D27500#638475, @rew wrote:

ae@, thanks for the reply - I looked at g_part_bsd_resize and there’s no reference to using the offset field. The only field it uses is the start field. Let me know if you have any other concerns.
Maybe trasz@ will weigh in - is there anything glaring I’ve overlooked?

Feb 8 2021, 7:56 AM

Feb 1 2021

ae added a comment to D27500: gpart resize: respect requested size when using `-a` and `-s`.

Hi, sorry for my silence. I was busy with other tasks, and it seems forget GEOM a bit.
I think you need to test your code with BSD scheme, AFAIR, it uses stripeoffset field.

Feb 1 2021, 9:14 AM

Jan 27 2021

ae updated the diff for D28232: Fix possible panic in udp6_input() due to lack of locking..

Missed one case when PCB could be unlocked before check - when PCB is
already dying and imo is NULL. Also remove extra IN6_IS_ADDR_MULTICAST(),
we already checked it few lines before.

Jan 27 2021, 3:04 PM

Jan 21 2021

ae added reviewers for D28232: Fix possible panic in udp6_input() due to lack of locking.: mjg, kib.
Jan 21 2021, 8:43 AM

Jan 19 2021

ae added a comment to D28232: Fix possible panic in udp6_input() due to lack of locking..
In D28232#631463, @gnn wrote:

Yup, I understand that we do not currently have that function. I think you ought to add that as part of this fix.

Jan 19 2021, 10:15 PM
ae added a comment to D28232: Fix possible panic in udp6_input() due to lack of locking..

Before epochification we had an integer variable that was used to track locking.

#define        UH_WLOCKED      2
#define        UH_RLOCKED      1
#define        UH_UNLOCKED     0

And currently rwlock doesn't provide public function or macro similar to rw_wowned() for shared lock.

Jan 19 2021, 1:42 PM
ae added a comment to D27879: Require uint32_t alignment for ipfw_insn.

I have some doubts, that this change is safe. But probably we will see the result quickly.

Jan 19 2021, 12:40 PM
ae accepted D27879: Require uint32_t alignment for ipfw_insn.
Jan 19 2021, 10:24 AM
ae accepted D27882: libalias: Fix -Wcast-align compiler warnings.

If you tested the change and it works for you, I have no objection.

Jan 19 2021, 10:07 AM
ae retitled D28232: Fix possible panic in udp6_input() due to lack of locking. from Fix pissible panic in udp6_input() due to lack of locking. to Fix possible panic in udp6_input() due to lack of locking..
Jan 19 2021, 8:39 AM
ae published D28232: Fix possible panic in udp6_input() due to lack of locking. for review.
Jan 19 2021, 8:06 AM

Jan 18 2021

ae added reviewers for D28200: Set MAC to broadcast when pinging 255.255.255.255 as noted in RFC919: tuexen, bz.
Jan 18 2021, 1:55 PM
ae added a comment to D28200: Set MAC to broadcast when pinging 255.255.255.255 as noted in RFC919.

We already have IP_SENDONES flag for ip_output, that should serve for this purpose. Maybe is it not safe enough to allow this feature for all protocols?

Jan 18 2021, 1:54 PM

Jan 16 2021

ae added a comment to D28160: netipsec: Fix handling of unmapped mbufs.

I think the patch in D28187 is better. You need to release reference to SP when error occurs before ipsec4_process_packet().

Jan 16 2021, 11:54 AM
ae added a comment to D28187: Convert unmapped mbufs before computing checksums in IPsec..

It seems part of this is already in D28160

Jan 16 2021, 11:28 AM

Dec 13 2020

ae committed R9:54777b84dc86: - Add myself to authors.ent (authored by ae).
- Add myself to authors.ent
Dec 13 2020, 5:45 PM
ae committed R9:a14af1ca1caa: - Add myself to developers.sgml (authored by ae).
- Add myself to developers.sgml
Dec 13 2020, 5:32 PM

Nov 18 2020

ae committed rS367790: MFC r367594:.
MFC r367594:
Nov 18 2020, 2:05 PM

Nov 16 2020

ae added a comment to D27213: Fix dtrace symbol resolution in the face of bitfields.

It seems I found how to reproduce it on test system:

  1. Load systemt without any unneeded modules
  2. kldload dtraceall
  3. Run
# dtrace -n 'fbt::ip_input:entry { printf("%s", stringof(args[0]->m_pkthdr.rcvif->if_xname)); }'
dtrace: description 'fbt::ip_input:entry ' matched 1 probe
CPU     ID                    FUNCTION:NAME
  2  49220                   ip_input:entry ix0
  2  49220                   ip_input:entry ix0
  6  49220                   ip_input:entry ix0
^C
# kldunload dtraceall
# kldload ipfw
# kldload dtraceall
# dtrace -n 'fbt::ip_input:entry { printf("%s", stringof(args[0]->m_pkthdr.rcvif->if_xname)); }'
dtrace: invalid probe specifier fbt::ip_input:entry { printf("%s", stringof(args[0]->m_pkthdr.rcvif->if_xname)); }: in action list: m_pkthdr is not a member of struct mbuf
Nov 16 2020, 6:58 PM
ae added a comment to D27213: Fix dtrace symbol resolution in the face of bitfields.

Recently I faced with this problem on some machines:

# dtrace -n 'fbt::ip_input:entry { printf("%s", stringof(args[0]->m_pkthdr.rcvif->if_xname)); }'
dtrace: invalid probe specifier fbt::ip_input:entry { printf("%s", stringof(args[0]->m_pkthdr.rcvif->if_xname)); }: in action list: m_pkthdr is not a member of struct mbuf
Nov 16 2020, 12:53 PM
ae added inline comments to D27221: ipfw(8): Improve divert, forward and addr descriptions.
Nov 16 2020, 10:41 AM

Nov 13 2020

ae added inline comments to D27166: Add redirects to the fast forwarding path.
Nov 13 2020, 9:13 AM

Nov 12 2020

ae added inline comments to D27166: Add redirects to the fast forwarding path.
Nov 12 2020, 12:51 PM

Nov 11 2020

ae committed rS367594: Fix possible NULL pointer dereference..
Fix possible NULL pointer dereference.
Nov 11 2020, 6:56 PM

Nov 10 2020

ae committed rS367554: MFC r366695:.
MFC r366695:
Nov 10 2020, 12:46 PM
ae committed rS367553: MFC r366908 (modified for stable/12 KBI):.
MFC r366908 (modified for stable/12 KBI):
Nov 10 2020, 12:13 PM

Oct 29 2020

ae accepted D26611: Add a macro to check for IPv6 multicast MAC addresses.
Oct 29 2020, 4:05 PM

Oct 21 2020

ae closed D26879: Add ipfw SDT probe..
Oct 21 2020, 3:02 PM
ae committed rS366908: Add dtrace SDT probe ipfw:::rule-matched..
Add dtrace SDT probe ipfw:::rule-matched.
Oct 21 2020, 3:02 PM
ae added a comment to D26879: Add ipfw SDT probe..
In D26879#599390, @gnn wrote:

I like the idea of this change but I believe that a new file should be created in netpfil/ipfw to contain the code that's been put into in_kdtrace.[ch] in this review.

Oct 21 2020, 2:31 PM
ae updated the diff for D26879: Add ipfw SDT probe..

Move provider and probe definitions into ipfw2.c

Oct 21 2020, 2:29 PM

Oct 20 2020

ae added reviewers for D26879: Add ipfw SDT probe.: network, glebius.
Oct 20 2020, 3:26 PM
ae added a comment to D26879: Add ipfw SDT probe..
In D26879#599390, @gnn wrote:

I like the idea of this change but I believe that a new file should be created in netpfil/ipfw to contain the code that's been put into in_kdtrace.[ch] in this review.

Oct 20 2020, 3:22 PM
ae added a reviewer for D26879: Add ipfw SDT probe.: melifaro.
Oct 20 2020, 3:12 PM
ae updated the summary of D26879: Add ipfw SDT probe..
Oct 20 2020, 3:12 PM
ae requested review of D26879: Add ipfw SDT probe..
Oct 20 2020, 2:42 PM
ae committed rS366894: MFC 366682:.
MFC 366682:
Oct 20 2020, 11:50 AM
ae committed rS366893: MFC r366682:.
MFC r366682:
Oct 20 2020, 11:45 AM
ae committed rS366892: MFC r366681:.
MFC r366681:
Oct 20 2020, 11:41 AM

Oct 17 2020

ae accepted D26827: Fix sleepq_add panic happening with too wide net epoch..
Oct 17 2020, 5:01 PM
ae added a comment to D26523: Enable multipath for outbound connections.

LGTM. However it would be nice, if you consider my comments :)

Oct 17 2020, 3:17 PM
ae added a comment to D26827: Fix sleepq_add panic happening with too wide net epoch..

It seems the only solution here is taking ifnet reference. I'm not sure about PCB, probably it can not disappear here.

Oct 17 2020, 12:34 PM

Oct 16 2020

ae committed rS366747: MFC r366568:.
MFC r366568:
Oct 16 2020, 8:56 AM

Oct 14 2020

ae closed D26636: Implement SIOCGIFALIAS.
Oct 14 2020, 9:23 AM