tsoome (Toomas Soome)
User

Projects

User Details

User Since
Dec 11 2015, 11:12 PM (84 w, 4 d)

Recent Activity

Yesterday

tsoome accepted D11732: Always set the receive mask in loader.efi.

Are there some specific examples about systems needing this?

Tue, Jul 25, 4:09 PM

Thu, Jul 20

tsoome accepted D11678: Fix printf format warning in zfs_module.c.
Thu, Jul 20, 8:19 PM

Sat, Jul 1

tsoome added inline comments to rS317097: loader: F_READ/F_WRITE should be checked against masked flag.
Sat, Jul 1, 7:36 PM

Thu, Jun 29

tsoome committed rS320467: loader: chain load relocate data declaration is bad.
loader: chain load relocate data declaration is bad
Thu, Jun 29, 4:34 AM
tsoome closed D11321: loader: chain load relocate data declaration is bad by committing rS320467: loader: chain load relocate data declaration is bad.
Thu, Jun 29, 4:34 AM

Wed, Jun 28

tsoome added inline comments to D11321: loader: chain load relocate data declaration is bad.
Wed, Jun 28, 8:27 PM
tsoome updated the diff for D11321: loader: chain load relocate data declaration is bad.

Use the struct based array.

Wed, Jun 28, 6:27 PM

Jun 23 2017

tsoome added inline comments to D11321: loader: chain load relocate data declaration is bad.
Jun 23 2017, 10:45 AM
tsoome updated the summary of D11321: loader: chain load relocate data declaration is bad.
Jun 23 2017, 9:15 AM
tsoome added inline comments to D5992: Add chain loader support for loader.
Jun 23 2017, 9:14 AM
tsoome created D11321: loader: chain load relocate data declaration is bad.
Jun 23 2017, 9:12 AM

Jun 16 2017

tsoome committed rS320011: Add chain loader support for loader.
Add chain loader support for loader
Jun 16 2017, 8:08 PM
tsoome closed D5992: Add chain loader support for loader by committing rS320011: Add chain loader support for loader.
Jun 16 2017, 8:08 PM

Jun 13 2017

tsoome added a comment to D11174: loader: biosdisk interface should be able to cope with 4k sectors.

Comments updated.

Jun 13 2017, 5:34 PM
tsoome updated the diff for D11174: loader: biosdisk interface should be able to cope with 4k sectors.

Comment wording as suggested by allanjude

Jun 13 2017, 5:32 PM
tsoome added a comment to D11174: loader: biosdisk interface should be able to cope with 4k sectors.

Looks good to me. What needs to be done for the GELI bits?

Jun 13 2017, 3:59 PM
tsoome created D11174: loader: biosdisk interface should be able to cope with 4k sectors.
Jun 13 2017, 12:24 PM

Jun 5 2017

tsoome added a comment to D7600: The experiment to consolidate some crypto functions, shared between zfs/geli..

Thanks for the work! (I thought this was already landed last year :)

The change looks good to me (and I appreciate it as a step forward -- duplicated copies of cryptographic code is a big headache for us) overall.

(Totally optional: I wonder if the cryptoboot library could be folded into libstand? Or is there some specific reasons we have to create a new library instead? I'm asking because doing so would avoid building it multiple times, and the license of the source are all BSD compatible.)

Jun 5 2017, 9:06 PM
tsoome updated the diff for D7600: The experiment to consolidate some crypto functions, shared between zfs/geli..

Updated to revision 319604.

Jun 5 2017, 6:06 PM
tsoome committed rS319601: ANSIfy md5 functions.
ANSIfy md5 functions
Jun 5 2017, 11:55 AM
tsoome closed D11055: ANSIfy md5 functions by committing rS319601: ANSIfy md5 functions.
Jun 5 2017, 11:55 AM
tsoome created D11055: ANSIfy md5 functions.
Jun 5 2017, 11:21 AM

May 31 2017

tsoome added a comment to D11007: flag to switch off bootp().

It's the only one from pxeloader. I can safety remove the same from iPXE and in summary, during boot chain I have less a half of DHCP request in network. Let's say grain by grain...

May 31 2017, 10:10 PM

May 28 2017

tsoome closed D10981: use the same option list for dhcp discovery and request by committing rS319085: use the same option list for dhcp discovery and request.
May 28 2017, 9:30 PM
tsoome committed rS319085: use the same option list for dhcp discovery and request.
use the same option list for dhcp discovery and request
May 28 2017, 9:30 PM
tsoome created D10981: use the same option list for dhcp discovery and request.
May 28 2017, 9:24 PM
tsoome committed rS319084: Small cleanup in dev_net.c.
Small cleanup in dev_net.c
May 28 2017, 9:21 PM
tsoome closed D10980: Small cleanup in dev_net.c by committing rS319084: Small cleanup in dev_net.c.
May 28 2017, 9:21 PM
tsoome created D10980: Small cleanup in dev_net.c.
May 28 2017, 9:11 PM

May 27 2017

tsoome accepted D10953: Partially revert 314948.

LGTM.

May 27 2017, 12:43 PM
tsoome accepted D10952: Always issue the pxe request.
May 27 2017, 12:31 PM
tsoome added inline comments to D10952: Always issue the pxe request.
May 27 2017, 12:26 PM
tsoome accepted D10947: Support URI scheme for root-path in netbooting.

LGTM.

May 27 2017, 12:01 PM
tsoome added inline comments to D10947: Support URI scheme for root-path in netbooting.
May 27 2017, 11:12 AM
tsoome accepted D10951: Pass a "FREEBSD" user-class in PXE dhcp request.

LGTM.

May 27 2017, 10:46 AM

May 25 2017

tsoome accepted D10895: Make the ZFS min_auto_ashift=12 setting persistent.

ok, that explanation does make sense, LGTM.

May 25 2017, 5:33 PM
tsoome added a comment to D10895: Make the ZFS min_auto_ashift=12 setting persistent.

IMO if it is really supposed to be default, then the correct place is in /boot/defaults/loader.conf - overloading /boot/loader.conf will only confuse people.

May 25 2017, 1:37 PM

May 22 2017

tsoome added inline comments to D10854: Add support for protocol prefixes in rootpath.
May 22 2017, 4:27 PM
tsoome added inline comments to D10854: Add support for protocol prefixes in rootpath.
May 22 2017, 3:53 PM

May 19 2017

tsoome accepted D10736: bsdinstall: do not use distextract in scripted mode.

LGTM:)

May 19 2017, 8:18 AM
tsoome accepted D10738: bsdinstall: mount is not needed for the ZFS install case.
May 19 2017, 8:14 AM

May 18 2017

tsoome accepted D10738: bsdinstall: mount is not needed for the ZFS install case.

I do not know much about bsdinstall scripts but as much as it counts, seems ok for me;)

May 18 2017, 4:08 PM

May 17 2017

tsoome added a comment to D10603: distinguish NFS versus TFTP boot by rootpath.
In D10603#223350, @bapt wrote:

What I mean is we cannot use the one I listed above because they are interpreted by ipxe. For example if one netboots from qemu it will use ipxe under the hood first, then if you pass rootpath tftp:/ ipxe will say

Next server: 192.168.42.1
Filename: /pxeboot
Root path: tftp:/
Could not open SAN device: Invalid argument (http://ipxe.org/1c126002)
No more network devices

and the boot process fails.

Which is why what I propose is tftpfs:/ because it is not used by ipxe
and by default we remain on over nfs so we don't break existing usage

May 17 2017, 10:04 PM
tsoome added a comment to D10603: distinguish NFS versus TFTP boot by rootpath.
In D10603#223317, @bapt wrote:

so ipxe will catch and use: iscsi:/ tftp:/ nfs:/ http:/ https:/ etc, maybe we should use tftpfs:/

In this case pxe will give a message saying (ignore unsupported root path) and continue what do you think?

May 17 2017, 9:50 PM
tsoome added a comment to D10603: distinguish NFS versus TFTP boot by rootpath.
In D10603#223301, @bapt wrote:

We need to find a better mechanism, as this break usage where rootpath /something was before this patch expecting NFS to be located on the same serveur as the tftp server. This is now broken (it is used quite a lot apparently)

May 17 2017, 8:43 PM
tsoome accepted D10726: Replacing iterating over rootpath by strsep.

LGTM.

May 17 2017, 6:19 PM

May 16 2017

tsoome committed rS318356: libstand: increase nfs max read size to 16k.
libstand: increase nfs max read size to 16k
May 16 2017, 5:35 PM
tsoome closed D10754: libstand: increase nfs max read size to 16k by committing rS318356: libstand: increase nfs max read size to 16k.
May 16 2017, 5:35 PM
tsoome updated the diff for D5992: Add chain loader support for loader.

menu entry has extra l.

May 16 2017, 8:50 AM
tsoome updated the summary of D5992: Add chain loader support for loader.
May 16 2017, 8:27 AM
tsoome updated the diff for D5992: Add chain loader support for loader.

bios chain is missing size, add efi chain.

May 16 2017, 8:19 AM
tsoome updated the diff for D5992: Add chain loader support for loader.

allow to read boot code from file

May 16 2017, 8:10 AM
tsoome added a comment to D10754: libstand: increase nfs max read size to 16k.
In D10754#222704, @bcr wrote:

You need to bump the .Dd as you made a content change in the man page.

May 16 2017, 7:54 AM
tsoome updated the diff for D10754: libstand: increase nfs max read size to 16k.

.Dd update for manual.

May 16 2017, 7:53 AM
tsoome updated the diff for D5992: Add chain loader support for loader.

Updated to revision 318337.

May 16 2017, 7:52 AM
tsoome updated the diff for D10754: libstand: increase nfs max read size to 16k.

update pxeboot manual.

May 16 2017, 7:15 AM
tsoome created D10754: libstand: increase nfs max read size to 16k.
May 16 2017, 7:11 AM

May 15 2017

tsoome committed rS318320: loader: add ip layer code into libstand.
loader: add ip layer code into libstand
May 15 2017, 9:50 PM
tsoome closed D10631: loader: add ip layer code into libstand by committing rS318320: loader: add ip layer code into libstand.
May 15 2017, 9:50 PM
tsoome updated the diff for D10631: loader: add ip layer code into libstand.

add missing __FBSDID("$FreeBSD$");

May 15 2017, 8:26 PM
tsoome updated the diff for D10631: loader: add ip layer code into libstand.

add comment to ip.c about the origins.

May 15 2017, 7:37 PM
tsoome committed rS318297: e1000api: misleading-indentation.
e1000api: misleading-indentation
May 15 2017, 4:53 PM
tsoome closed D10741: e1000api: misleading-indentation by committing rS318297: e1000api: misleading-indentation.
May 15 2017, 4:53 PM
tsoome created D10741: e1000api: misleading-indentation.
May 15 2017, 1:51 PM

May 10 2017

tsoome committed rS318142: libstand: NULL pointer dereference in rarp.
libstand: NULL pointer dereference in rarp
May 10 2017, 3:36 PM
tsoome closed D10663: libstand: NULL pointer dereference in rarp by committing rS318142: libstand: NULL pointer dereference in rarp.
May 10 2017, 3:36 PM
tsoome updated the summary of D10663: libstand: NULL pointer dereference in rarp.
May 10 2017, 3:33 PM
tsoome added a comment to D10663: libstand: NULL pointer dereference in rarp.
In D10663#221137, @cem wrote:

I'd suggest changing this interface from void ** to more typed pointers to catch this, although I'd expect GCC/Clang to catch passing a void * to void ** parameter. Maybe check WARNS level?

May 10 2017, 3:33 PM
tsoome added inline comments to D10232: loader: network read rework.
May 10 2017, 3:22 PM
tsoome created D10663: libstand: NULL pointer dereference in rarp.
May 10 2017, 3:21 PM

May 6 2017

tsoome created D10631: loader: add ip layer code into libstand.
May 6 2017, 9:01 PM
tsoome committed rS317887: loader: network read rework.
loader: network read rework
May 6 2017, 8:32 PM
tsoome closed D10232: loader: network read rework by committing rS317887: loader: network read rework.
May 6 2017, 8:32 PM
tsoome updated the diff for D10232: loader: network read rework.

simple fix for NULL...

May 6 2017, 8:15 PM
tsoome updated the diff for D10232: loader: network read rework.

rebase on top of 317886

May 6 2017, 8:00 PM
tsoome accepted D10603: distinguish NFS versus TFTP boot by rootpath.
May 6 2017, 1:54 PM

May 4 2017

tsoome committed rS317785: zfsboot: drvsize() may be unusable on some systems.
zfsboot: drvsize() may be unusable on some systems
May 4 2017, 5:27 AM
tsoome closed D10591: zfsboot: drvsize() may be unusable on some systems by committing rS317785: zfsboot: drvsize() may be unusable on some systems.
May 4 2017, 5:26 AM
tsoome added a comment to D10591: zfsboot: drvsize() may be unusable on some systems.

This fix did remove the first 2 errors, but remaining 2 are still there, however, they appear to be related something else - looks like we are getting wrap over 0 there as the reported lba 4294967288 is 0x00000000fffffff8. I think the remaining ones have to be dealt with separate issues/commits anyhow.

May 4 2017, 5:15 AM

May 3 2017

tsoome added a comment to D10485: Replace dhcp option 150 by 66.

well, the root path idea is not bad (IMO;) just I have a bit the same concern that at the end of the day it still may not be enough for whatever reason and then we are still back on the beginning:D

May 3 2017, 8:50 PM
tsoome created D10591: zfsboot: drvsize() may be unusable on some systems.
May 3 2017, 8:08 PM
tsoome added a comment to D10485: Replace dhcp option 150 by 66.

@tsoome
I based on the Intel's PXE Specification and there 66 exists.

Nevermind, let's focus on the root-path. If we cannot use prefix tftp, maybe it can be a suffix? iPXE ignores bad root-path like: "192.168.22.19:/:tftp"

May 3 2017, 10:41 AM
tsoome added a comment to D10485: Replace dhcp option 150 by 66.

btw, I did test with my vmware fusion VM, the pxe boot is sending out:
DHCP: Message type = DHCPDISCOVER
DHCP: Requested Options:
DHCP: 1 (Subnet Mask)
DHCP: 2 (UTC Time Offset)
DHCP: 3 (Router)
DHCP: 5 (IEN 116 Name Servers)
DHCP: 6 (DNS Servers)
DHCP: 11 (RFC 887 Resource Location Servers)
DHCP: 12 (Client Hostname)
DHCP: 13 (Boot File size in 512 byte Blocks)
DHCP: 15 (DNS Domain Name)
DHCP: 16 (SWAP Server)
DHCP: 17 (Client Root Path)
DHCP: 18 (BOOTP options extensions path)
DHCP: 43 (Vendor Specific Options)
DHCP: 54 (DHCP Server Identifier)
DHCP: 60 (Client Class Identifier =)
DHCP: 67 (Simple Mail (SMTP) Servers)
DHCP: 128 (Site Option)
DHCP: 129 (Site Option)
DHCP: 130 (Site Option)
DHCP: 131 (Site Option)
DHCP: 132 (Site Option)
DHCP: 133 (Site Option)
DHCP: 134 (Site Option)
DHCP: 135 (Site Option)
DHCP: Maximum DHCP Message Size = 1260 bytes
DHCP: Unrecognized Option = 97, length = 17 octets
DHCP: Value = 0x00 0x56 0x4D 0xED 0x79 0xDF 0xA9 0x40 0xE1 0x61 0xAC 0x8F 0x85 0x11 0x7B 0xF5 0x59 (unprintable)
DHCP: Unrecognized Option = 93, length = 2 octets
DHCP: Value = 0x00 0x00 (unprintable)
DHCP: Unrecognized Option = 94, length = 3 octets
DHCP: Value = 0x01 0x02 0x01 (unprintable)
DHCP: Client Class Identifier = "PXEClient:Arch:00000:UNDI:002001"

May 3 2017, 6:53 AM

May 2 2017

tsoome added a comment to D10485: Replace dhcp option 150 by 66.

@rgrimes
Please try to boot CURRENT over tftp protocol and without any third part software like iPXE.

@tsoome

Note that dhcp servers in real life can offer all the configured data. And well, we can process both 66 and 150 just because that data may be there anyhow.

It's not the server side problem, but the client's side. How we can process option 150 if it not exists? I'm sorry, but I'm not able to do this.

tcpdump: listening on br-lan, link-type EN10MB (Ethernet), capture size 65535 bytes
23:39:38.527420 IP (tos 0x0, ttl 20, id 0, offset 0, flags [none], proto UDP (17), length 576)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 84:8f:69:f1:00:2d, length 548, xid 0x69f1002d, Flags [Broadcast] (0x8000)
	  Client-Ethernet-Address 84:8f:69:f1:00:2d
	  Vendor-rfc1048 Extensions
	    Magic Cookie 0x63825363
	    DHCP-Message Option 53, length 1: Discover
	    Parameter-Request Option 55, length 36: 
	      Subnet-Mask, Time-Zone, Default-Gateway, Time-Server
	      IEN-Name-Server, Domain-Name-Server, RL, Hostname
	      BS, Domain-Name, SS, RP
	      EP, RSZ, TTL, BR
	      YD, YS, NTP, Vendor-Option
	      Requested-IP, Lease-Time, Server-ID, RN
	      RB, Vendor-Class, TFTP, BF
	      Option 128, Option 129, Option 130, Option 131
	      Option 132, Option 133, Option 134, Option 135
	    MSZ Option 57, length 2: 1260
	    GUID Option 97, length 17: 0.68.69.76.76.67.0.16.50.128.89.185.192.79.87.80.49
	    Client-ID Option 61, length 17: "DELLC^@^P2M-^@YM-9M-@OWP1"
	    ARCH Option 93, length 2: 0
	    NDI Option 94, length 3: 1.2.1
	    Vendor-Class Option 60, length 32: "PXEClient:Arch:00000:UNDI:002001"
	    END Option 255, length 0
	    PAD Option 0, length 0, occurs 181
23:39:39.007131 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 342)
    192.168.22.1.67 > 255.255.255.255.68: [udp sum ok] BOOTP/DHCP, Reply, length 314, xid 0x69f1002d, Flags [Broadcast] (0x8000)
	  Your-IP 192.168.22.56
	  Server-IP 192.168.22.19
	  Client-Ethernet-Address 84:8f:69:f1:00:2d
	  file "pxeboot"
	  Vendor-rfc1048 Extensions
	    Magic Cookie 0x63825363
	    DHCP-Message Option 53, length 1: Offer
	    Server-ID Option 54, length 4: 192.168.22.1
	    Lease-Time Option 51, length 4: 3600
	    Subnet-Mask Option 1, length 4: 255.255.255.0
	    Default-Gateway Option 3, length 4: 192.168.22.1
	    Domain-Name-Server Option 6, length 8: 8.8.8.8,8.8.4.4
	    Hostname Option 12, length 5: "e6220"
	    RP Option 17, length 15: "192.168.22.19:/"
	    BR Option 28, length 4: 192.168.22.255
	    TFTP Option 66, length 4: "test"
	    END Option 255, length 0

If we want to process data from dhcp_try_rfc1048() we have to drop option 150, because it's not exists there.
I like your idea for detecting protocol type.

May 2 2017, 10:43 PM
tsoome added a comment to D10485: Replace dhcp option 150 by 66.

Until I go forward with your comments about the code I want to highlight it's not possible to support option 150, because we have to ask DHCP server for this option. PXE client (I mean network card firmware) never asks about option 150. I can't see any chance to use this non standard option but revert r314948 and always do DHCP request for everything. The second option is doing DHCP request in #ifdef LOADER_TFTP_SUPPORT directive, what is something bad too, because we want to have one universal loader for both (NFS and TFTP) protocols. The third option is to force DHCP request in ifdef directive when somebody really wants to do this. And the last one option - to leave support for option 150, because it has never appear in the documentation. I can't see any really good solution, now your move to comment.

May 2 2017, 5:27 AM

May 1 2017

tsoome committed rS317652: loader.efi: ResetSystem does not use data with EFI_SUCCESS.
loader.efi: ResetSystem does not use data with EFI_SUCCESS
May 1 2017, 4:56 PM
tsoome closed D10562: loader.efi: ResetSystem does not use data with EFI_SUCCESS by committing rS317652: loader.efi: ResetSystem does not use data with EFI_SUCCESS.
May 1 2017, 4:56 PM
tsoome created D10562: loader.efi: ResetSystem does not use data with EFI_SUCCESS.
May 1 2017, 4:42 PM
tsoome added inline comments to D10559: Bug 219000 - Integer underflow in efipart_realstrategy when I/O starts after end of disk.
May 1 2017, 3:24 PM
tsoome added inline comments to D10559: Bug 219000 - Integer underflow in efipart_realstrategy when I/O starts after end of disk.
May 1 2017, 3:06 PM
tsoome added inline comments to D10559: Bug 219000 - Integer underflow in efipart_realstrategy when I/O starts after end of disk.
May 1 2017, 2:52 PM

Apr 26 2017

tsoome added a comment to D10485: Replace dhcp option 150 by 66.

I think we should really keep both 66 and 150. But also definitely we should point out in docs that in case of option 66, the ip address should be used, as in current code, we do not have name resolver. This does add some more complications to the validation and feedback.

Apr 26 2017, 4:25 PM

Apr 19 2017

tsoome updated the diff for D10232: loader: network read rework.

netinet/if_ether.h does already include net/ethernet.h

Apr 19 2017, 5:29 PM
tsoome updated the diff for D10232: loader: network read rework.

use ETHER_ALIGN and proper packet size calculation for efi and ofw.

Apr 19 2017, 5:12 PM
tsoome updated the diff for D10232: loader: network read rework.

Somehow I did lost one semicolon...

Apr 19 2017, 9:22 AM
tsoome added a comment to D10232: loader: network read rework.
In D10232#216150, @ian wrote:

I have tested this on armv6 (beaglebone and wandboard) and it works. It's hard to say if there is any change in performance since on the wandboard it already took about 1.5 seconds to load the kernel, and it seems to be about the same, but it's hard to time something that short "by eye".

Apr 19 2017, 9:19 AM
tsoome updated the diff for D10232: loader: network read rework.

changes suggested by ian.

Apr 19 2017, 9:07 AM
tsoome added a comment to D10232: loader: network read rework.

Can you tell me a bit more about the testing you have done on this, and what remains to be done?

Maybe we can get Andrew Turner to try net booting an ARM64 machine with this.

Apr 19 2017, 9:05 AM

Apr 18 2017

tsoome updated the diff for D10232: loader: network read rework.

Update to revision 317100

Apr 18 2017, 7:54 PM
tsoome committed rS317099: loader: uboot disk ioctl should call disk_ioctl.
loader: uboot disk ioctl should call disk_ioctl
Apr 18 2017, 7:37 PM