Page MenuHomeFreeBSD

sobomax (Maksym Sobolyev)
User

Projects

User Details

User Since
Jan 29 2016, 5:27 AM (150 w, 1 d)

Recent Activity

Yesterday

sobomax added a comment to D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.
  1. At some point administrator logins and changes MTU from value X prescribed by the DHCP to some other value Y of his liking.

JFYI: the PR 229432 mentiones working way to ignore option 26 (MTU) supplied by DHCP server:

interface "em0" {

supersede interface-mtu 0;

}

Fri, Dec 14, 8:39 PM · network
sobomax added a comment to D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.

@eugen_grosbein.net actually upon thinking a little bit more about the difference between this proposed change and r336195 I came to a conclusion that those two are not necessarily mutually exclusive, but rather complementing each other. The problem with just r336195 alone is that it invalidates implicit expectations that dhclient should not try to touch interface at all after initial configuration, unless there are some changes on the DHCP side. As an administrator, I'd not expect dhclient to be actively policing interface parameters and try to enforce them, which would be the case for MTU now. Consider the following hypothetical scenario:

Fri, Dec 14, 6:08 PM · network
sobomax added a comment to D18535: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) and such.

Yes, it requires corruption of private node memory. As owner of multiple routers mass servicing thousands of customers using multiple NETGRAPH nodes I can assure you that panic is not appropriatie action. Appropriate action is some form of block for traffic flow trough the node in question (with logging) leaving other nodes working.

Well, that's where I respectively disagree. As an owner of hundreds of FreeBSD systems servicing many millions of customers I think that rebooting the system immediately after any slight kernel heap/stack memory corruption is detected is not just appropriate but the only sane action available. Shutting down particular netgraph node and hope for the best would just leave the service down indefinitely with no hope for any sorts of automatic recovery.

Node destruction and recreation is easily implemented automatic recovery. We obviously have different usage patterns. I use net/mpd5 that can use ng_nat connecting it to the session that can be destroyed and re-created by any of "client" or "server" recovering from corruption and not interfering with other sessions. Other usage patterns can react on such event to re-create nodes too.

Fri, Dec 14, 4:39 PM · network
sobomax added inline comments to D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.
Fri, Dec 14, 4:11 PM · network
sobomax added a comment to D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.

Hmm, there was https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229432 and corresponding commit https://svnweb.freebsd.org/base?view=revision&revision=336195 fixing the problem.

Was it insufficient or your tree does not have that fix?

Fri, Dec 14, 4:09 PM · network
sobomax updated the summary of D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.
Fri, Dec 14, 1:18 AM · network
sobomax created D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.
Fri, Dec 14, 1:13 AM · network

Thu, Dec 13

sobomax added a comment to D18535: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) and such.

Looks good with one exception: additional plain panic(). Can it be replaced with KASSERT?

IDK, there is no way this option to be set to anything but DLT_RAW or DLT_EN10MB in the course of normal operation of the node. So it would require some form of memory corruption to actually happen. IDK, panic(9) seems an appropriate action in that case. There are other panic(9) call in the code in similar situations.

Yes, it requires corruption of private node memory. As owner of multiple routers mass servicing thousands of customers using multiple NETGRAPH nodes I can assure you that panic is not appropriatie action. Appropriate action is some form of block for traffic flow trough the node in question (with logging) leaving other nodes working.

Thu, Dec 13, 9:12 PM · network
sobomax added a comment to D18535: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) and such.

Looks good with one exception: additional plain panic(). Can it be replaced with KASSERT?

Thu, Dec 13, 3:23 PM · network

Wed, Dec 12

sobomax updated the diff for D18535: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) and such.

Make sure we have enough data for ethernet header.

Wed, Dec 12, 10:58 PM · network
sobomax created D18535: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) and such.
Wed, Dec 12, 10:48 PM · network
sobomax committed rS342002: Add NETGRAPH_CHECKSUM..
Add NETGRAPH_CHECKSUM.
Wed, Dec 12, 8:41 PM
sobomax committed rS341996: Add NETGRAPH_CHECKSUM..
Add NETGRAPH_CHECKSUM.
Wed, Dec 12, 7:02 PM
sobomax committed rS341991: MFC: r340745, fix CU: output of the --debug-dump=decodedline..
MFC: r340745, fix CU: output of the --debug-dump=decodedline.
Wed, Dec 12, 4:28 PM

Sun, Dec 9

sobomax committed rS341750: MFC: r340745, fix CU: output of the --debug-dump=decodedline..
MFC: r340745, fix CU: output of the --debug-dump=decodedline.
Sun, Dec 9, 3:10 AM
sobomax committed rS341749: Hook up ng_checksum(4) module and appropriate manpage to the build. The module.
Hook up ng_checksum(4) module and appropriate manpage to the build. The module
Sun, Dec 9, 2:59 AM

Thu, Dec 6

sobomax committed rS341640: Apparently @portmgr does not feel like my current level of contribution.
Apparently @portmgr does not feel like my current level of contribution
Thu, Dec 6, 6:13 PM

Tue, Dec 4

sobomax committed rS341494: Another attempt to fix issue with the DIOCGDELETE ioctl(2) not.
Another attempt to fix issue with the DIOCGDELETE ioctl(2) not
Tue, Dec 4, 9:50 PM

Fri, Nov 30

sobomax retitled D18382: Add new "trim" conversion for dd(1) from Add new "erase" conversion for dd(1) to Add new "trim" conversion for dd(1).
Fri, Nov 30, 5:57 PM
sobomax added inline comments to D18382: Add new "trim" conversion for dd(1).
Fri, Nov 30, 5:47 PM
sobomax updated the diff for D18382: Add new "trim" conversion for dd(1).

o Due to popular request rename "erase" into "trim".

Fri, Nov 30, 5:47 PM
sobomax committed rS341276: When handling CMD_CRIT error set command_errmsg to NULL after we dump it out,.
When handling CMD_CRIT error set command_errmsg to NULL after we dump it out,
Fri, Nov 30, 2:15 AM

Thu, Nov 29

sobomax committed rS341257: Replace hand-crafted naive byte-by-byte zero block detection routine.
Replace hand-crafted naive byte-by-byte zero block detection routine
Thu, Nov 29, 7:28 PM
sobomax updated the summary of D18382: Add new "trim" conversion for dd(1).
Thu, Nov 29, 7:04 PM
sobomax created D18382: Add new "trim" conversion for dd(1).
Thu, Nov 29, 7:00 PM
sobomax committed rS341253: The libstand's panic() appends its own '\n' to the message, so that users of….
The libstand's panic() appends its own '\n' to the message, so that users of…
Thu, Nov 29, 6:39 PM

Fri, Nov 23

sobomax committed rS340857: Nuke out buffer overflow safety marker code, it duplicates similar code in.
Nuke out buffer overflow safety marker code, it duplicates similar code in
Fri, Nov 23, 10:37 PM
sobomax closed D18299: Get rid of superfluous "bug marker" code in the bcache.
Fri, Nov 23, 10:37 PM

Thu, Nov 22

sobomax updated the summary of D18299: Get rid of superfluous "bug marker" code in the bcache.
Thu, Nov 22, 6:22 PM
sobomax updated the summary of D18299: Get rid of superfluous "bug marker" code in the bcache.
Thu, Nov 22, 6:18 PM
sobomax created D18299: Get rid of superfluous "bug marker" code in the bcache.
Thu, Nov 22, 6:16 PM

Wed, Nov 21

sobomax closed D18290: readelf --debug-dump=decodedline produces incorrect results.
Wed, Nov 21, 9:46 PM
sobomax committed rS340745: Fix CU: output of the --debug-dump=decodedline, the problem there.
Fix CU: output of the --debug-dump=decodedline, the problem there
Wed, Nov 21, 9:46 PM
sobomax updated the summary of D18290: readelf --debug-dump=decodedline produces incorrect results.
Wed, Nov 21, 4:47 PM
sobomax updated the summary of D18290: readelf --debug-dump=decodedline produces incorrect results.
Wed, Nov 21, 3:46 PM
sobomax updated the summary of D18290: readelf --debug-dump=decodedline produces incorrect results.
Wed, Nov 21, 3:44 PM
sobomax created D18290: readelf --debug-dump=decodedline produces incorrect results.
Wed, Nov 21, 3:40 PM

Nov 7 2018

sobomax committed rS340220: Revert r340187, it breaks EOD (end-of-device) detection logic. Turns out,.
Revert r340187, it breaks EOD (end-of-device) detection logic. Turns out,
Nov 7 2018, 4:28 PM

Nov 6 2018

sobomax committed rS340187: Don't allow BIO_READ, BIO_WRITE or BIO_DELETE requests that are.
Don't allow BIO_READ, BIO_WRITE or BIO_DELETE requests that are
Nov 6 2018, 3:55 PM

Oct 1 2018

sobomax committed rS339066: MFC r309554 and r309631 which breaks down overly long monolithic.
MFC r309554 and r309631 which breaks down overly long monolithic
Oct 1 2018, 5:26 PM

Sep 12 2018

sobomax committed rS338617: MFC r312296 and r323254, which is new a socket option.
MFC r312296 and r323254, which is new a socket option
Sep 12 2018, 6:52 PM

Jul 23 2018

sobomax accepted D16115: geli init multiple providers.

Looks good to me.

Jul 23 2018, 5:33 PM

Jun 26 2018

sobomax accepted D12644: geli attach multiple providers (no kernel changes).

Looks fine to me. Just two small code nits.

Jun 26 2018, 3:39 PM

Nov 12 2017

sobomax added inline comments to D9396: geli attach multiple providers (with kernel changes).
Nov 12 2017, 1:04 PM
sobomax added inline comments to D9396: geli attach multiple providers (with kernel changes).
Nov 12 2017, 1:33 AM
sobomax requested changes to D9396: geli attach multiple providers (with kernel changes).
Nov 12 2017, 1:25 AM

Nov 3 2017

sobomax committed rP453406: Fix build on FreeBSD 10.3 (compiler lacks -R option)..
Fix build on FreeBSD 10.3 (compiler lacks -R option).
Nov 3 2017, 1:21 PM

Sep 8 2017

sobomax committed rS323322: Correct bintime32 declaration: uint32_t sec -> time32_t sec..
Correct bintime32 declaration: uint32_t sec -> time32_t sec.
Sep 8 2017, 6:32 PM

Sep 7 2017

sobomax committed rS323254: In the recvmsg32() system call iterate over returned structure(s).
In the recvmsg32() system call iterate over returned structure(s)
Sep 7 2017, 4:30 AM

Aug 30 2017

sobomax committed rS323019: Add proper support for the md_label into md(4) ioctl compat layer..
Add proper support for the md_label into md(4) ioctl compat layer.
Aug 30 2017, 3:07 PM

Aug 28 2017

sobomax committed rS322983: MFC r320048+r320301+r320277:.
MFC r320048+r320301+r320277:
Aug 28 2017, 8:55 PM
sobomax committed rS322969: Add ability to label md(4) devices..
Add ability to label md(4) devices.
Aug 28 2017, 3:54 PM
sobomax closed D10457: Add ability to label md(4) devices by committing rS322969: Add ability to label md(4) devices..
Aug 28 2017, 3:54 PM

Aug 25 2017

sobomax committed rS322896: Make spinconsole platform independent and hook it up into EFI loader on.
Make spinconsole platform independent and hook it up into EFI loader on
Aug 25 2017, 5:30 PM

Jun 23 2017

sobomax committed rS320301: Doh, fix some botched "fix" in r320277..
Doh, fix some botched "fix" in r320277.
Jun 23 2017, 11:11 PM
sobomax committed rS320277: Don't leak file descriptor in some cases..
Don't leak file descriptor in some cases.
Jun 23 2017, 5:39 PM

Jun 17 2017

sobomax committed rS320048: o Move logic that determines size of the input image into its own.
o Move logic that determines size of the input image into its own
Jun 17 2017, 2:58 AM

Jun 16 2017

sobomax closed D10852: Document st_flags in the stat(2). by committing rS320004: Document st_flags in the stat(2)..
Jun 16 2017, 3:10 PM
sobomax committed rS320004: Document st_flags in the stat(2)..
Document st_flags in the stat(2).
Jun 16 2017, 3:10 PM

Jun 15 2017

sobomax committed rP443640: Fix "400 Bad Request" with latest incarnation of project's svn.
Fix "400 Bad Request" with latest incarnation of project's svn
Jun 15 2017, 8:56 PM
sobomax added a comment to D11025: Extend struct kevent fields and add absolute timers..
In D11025#232116, @kib wrote:

@kib how difficult is it to also implement real NOTE_MONOTONIC, i.e. event that expires in monotonic time from the getgo? I think this would be very useful for real-world applications that care about precise timekeeping. We use CLOCK_MONOTONIC pretty much all across our code here. Yes, it can be added later on, but without it the API is somewhat incomplete IMHO.

In which way would this timer different from the existing timers without NOTE_ABSTIME flag ?

Jun 15 2017, 8:37 PM
sobomax added a comment to D11025: Extend struct kevent fields and add absolute timers..
In D11025#228355, @kib wrote:
In D11025#228344, @ed wrote:

One suggestion, though: instead of calling this NOTE_MONOTONIC, would it make sense to use NOTE_ABSTIME instead?

NOTE_MONOTONIC sounds as if it uses CLOCK_MONOTONIC under the hood, even though your implementation still uses CLOCK_REALTIME, right?

Apple uses NOTE_ABSOLUTE, but their API is different from us, and from my understanding, glib maintainers, who asked for this feature, do not like Apple' edge-triggering feature of NOTE_ABSOLUTE.

I will rename the flag to NOTE_ABSTIME on next patch update.

Jun 15 2017, 7:45 PM

May 23 2017

sobomax added a comment to D10852: Document st_flags in the stat(2)..

Adjusted a bit as suggested.

May 23 2017, 2:06 AM
sobomax updated the diff for D10852: Document st_flags in the stat(2)..

Re-phrase a bit based on suggestions.

May 23 2017, 1:47 AM

May 22 2017

sobomax created D10852: Document st_flags in the stat(2)..
May 22 2017, 5:02 AM
sobomax added inline comments to D10457: Add ability to label md(4) devices.
May 22 2017, 4:41 AM
sobomax updated the diff for D10457: Add ability to label md(4) devices.

Reformat in-line example based on input from wblock.

May 22 2017, 4:39 AM
sobomax added inline comments to D10480: Add option to limit output image to a certain size.
May 22 2017, 4:28 AM

May 14 2017

sobomax committed rS318268: MFC r316874: restore ability to shutdown(2) datagram sockets..
MFC r316874: restore ability to shutdown(2) datagram sockets.
May 14 2017, 12:42 PM
sobomax committed rS318265: MFC r316718, r316738: make mksnap_ffs functional in the chroot'ed environment..
MFC r316718, r316738: make mksnap_ffs functional in the chroot'ed environment.
May 14 2017, 10:48 AM

Apr 25 2017

sobomax committed rP439415: Add perceptualdiff, a program that compares two images using a perceptually.
Add perceptualdiff, a program that compares two images using a perceptually
Apr 25 2017, 7:05 PM

Apr 24 2017

sobomax created D10480: Add option to limit output image to a certain size.
Apr 24 2017, 4:56 PM

Apr 23 2017

sobomax added inline comments to D10457: Add ability to label md(4) devices.
Apr 23 2017, 1:57 AM
sobomax updated the diff for D10457: Add ability to label md(4) devices.

Improve wording as suggested by the rpokala, bcr & bjk.

Apr 23 2017, 1:45 AM
sobomax added inline comments to D10457: Add ability to label md(4) devices.
Apr 23 2017, 1:42 AM

Apr 22 2017

sobomax added a comment to D10457: Add ability to label md(4) devices.

I've checked both forward and backward compatibility (3-way actually, old mdconfig+new kernel, old kernel + new mdconfig, new mdconfig+new kernel) everything seems to be working properly.

Apr 22 2017, 4:07 AM
sobomax added a comment to D10457: Add ability to label md(4) devices.
In D10457#216855, @imp wrote:

Love this idea, but the padding issue needs to be resolved.

Apr 22 2017, 4:05 AM
sobomax created D10457: Add ability to label md(4) devices.
Apr 22 2017, 3:50 AM

Apr 15 2017

sobomax committed rS316973: Fix another logic bug that came out of recent syslogd refactoring and exposed by.
Fix another logic bug that came out of recent syslogd refactoring and exposed by
Apr 15 2017, 6:20 PM
sobomax committed rS316951: Since shutdown(2) on datagram socket is no longer a NOP after rev 316874.
Since shutdown(2) on datagram socket is no longer a NOP after rev 316874
Apr 15 2017, 2:24 AM

Apr 14 2017

sobomax committed rS316874: Restore ability to shutdown DGRAM sockets, still forcing ENOTCONN to be returned.
Restore ability to shutdown DGRAM sockets, still forcing ENOTCONN to be returned
Apr 14 2017, 5:23 PM
sobomax closed D10351: Restore ability to shutdown datagram sockets by committing rS316874: Restore ability to shutdown DGRAM sockets, still forcing ENOTCONN to be returned.
Apr 14 2017, 5:23 PM

Apr 13 2017

sobomax updated the diff for D10351: Restore ability to shutdown datagram sockets.

Collapse if/return/else/return into a single return statement.

Apr 13 2017, 4:47 PM
sobomax updated the diff for D10351: Restore ability to shutdown datagram sockets.

Rework previous change to restore ability to shutdown datagram
sockets to be easier to understand and put a comment explaining
what's going on and why.

Apr 13 2017, 4:39 PM
sobomax updated the summary of D10351: Restore ability to shutdown datagram sockets.
Apr 13 2017, 4:11 AM

Apr 12 2017

sobomax committed rP438413: Add debugedit - ELF file debug information extractor and editor..
Add debugedit - ELF file debug information extractor and editor.
Apr 12 2017, 8:49 PM
sobomax committed rS316738: Fix an issue in the rev.316718 causing variable to be unsed uninitialized..
Fix an issue in the rev.316718 causing variable to be unsed uninitialized.
Apr 12 2017, 7:23 PM

Apr 11 2017

sobomax committed rS316718: Work around an issue with mksnap_ffs not working in chroot'ed environment..
Work around an issue with mksnap_ffs not working in chroot'ed environment.
Apr 11 2017, 9:55 PM

Apr 10 2017

sobomax updated the summary of D10351: Restore ability to shutdown datagram sockets.
Apr 10 2017, 6:08 PM
sobomax updated the summary of D10351: Restore ability to shutdown datagram sockets.
Apr 10 2017, 6:04 PM
sobomax updated the summary of D10351: Restore ability to shutdown datagram sockets.
Apr 10 2017, 6:03 PM
sobomax updated the summary of D10351: Restore ability to shutdown datagram sockets.
Apr 10 2017, 6:02 PM
sobomax added a parent revision for D10351: Restore ability to shutdown datagram sockets: D3039: Make shutdown() return ENOTCONN as required by POSIX, part deux..
Apr 10 2017, 6:01 PM
sobomax added a child revision for D3039: Make shutdown() return ENOTCONN as required by POSIX, part deux.: D10351: Restore ability to shutdown datagram sockets.
Apr 10 2017, 6:01 PM
sobomax created D10351: Restore ability to shutdown datagram sockets.
Apr 10 2017, 6:01 PM
sobomax requested changes to D3039: Make shutdown() return ENOTCONN as required by POSIX, part deux..
Apr 10 2017, 2:54 PM
sobomax reopened D3039: Make shutdown() return ENOTCONN as required by POSIX, part deux..

I think Ed's comparison with other OSes here and in the relevant differential was not entirely correct. What linux does (tested with 4.4.0) when UDP socket is shut down is actually shutting down receiving end, so any threads that are blocked in recv() on that socket return. Still shutdown() system call itself returns ENOTCONN. FreeBSD on the other hand does not do anything for the socket, so that the threads just hang. I am pretty sure there are at least some software out there that relies on that behavior, at least in our case we do. Bumped into this after upgrading to the 11.0.

Apr 10 2017, 2:52 PM

Mar 1 2017

sobomax abandoned D9839: Extend find(1)'s -cmin/-amin/-mmin options to take units as part of the argument..

Looks like necessary functionality is already part of the -atime/-ctime/-mtime.

Mar 1 2017, 2:39 AM

Feb 28 2017

sobomax updated D9839: Extend find(1)'s -cmin/-amin/-mmin options to take units as part of the argument..
Feb 28 2017, 9:22 PM
sobomax retitled D9839: Extend find(1)'s -cmin/-amin/-mmin options to take units as part of the argument. from to Extend find(1)'s -cmin/-amin/-mmin options to take units as part of the argument..
Feb 28 2017, 9:21 PM