Hi Sanjay:

Thank you very much for your time and comments. :-) Please see my email 
inline. Thanks.

sanjay nadkarni (Laptop) wrote:
>
> I have reviewed all the files except td_iscsi.c.  I have reviewed half 
> of the file and finish the rest tomorrow.
>
> General:  Thre seems like an overzealous use of MAXNAMELEN.    A quick 
> scan of dkio(7I) indicates that disknames will not be bigger than 32 
> chars  2*DK_DEVLEN.  MAXNAMELEN is 256. Does scsiip really need this 
> size or can it be INET_ADDRSTRLEN ?
Maybe they are different things. Here the device name stands for os 
device name. It is not the disk name said in dkio(7I) I think.
For iscsi and fibre channel os device name, they usually contain a GUID. 
So the length can be longer than 32 .You can see them from format(1M).

-bash-3.2# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c1t0d0 <DEFAULT cyl 17831 alt 2 hd 255 sec 63>
          /pci at 0,0/pci10de,376 at a/pci1000,3150 at 0/sd at 0,0
       1. c1t2d0 <DEFAULT cyl 60797 alt 2 hd 255 sec 126>
          /pci at 0,0/pci10de,376 at a/pci1000,3150 at 0/sd at 2,0
       2. c1t3d0 <DEFAULT cyl 13053 alt 2 hd 255 sec 63>
          /pci at 0,0/pci10de,376 at a/pci1000,3150 at 0/sd at 3,0
       3. c3t600144F00008272C70AF4AB8A05E0001d0 <DEFAULT cyl 2607 alt 2 
hd 255 sec 63> <=====The name is longer than 32 bytes.
          /scsi_vhci/disk at g600144f00008272c70af4ab8a05e0001
       4. c3t600144F000082747EEEB4AF2715D0001d0 <DEFAULT cyl 1956 alt 2 
hd 255 sec 63>
          /scsi_vhci/disk at g600144f000082747eeeb4af2715d0001
       5. c3t600144F00008276216FD4AAA179F0001d0 <DEFAULT cyl 1302 alt 2 
hd 255 sec 63>
          /scsi_vhci/disk at g600144f00008276216fd4aaa179f0001
Specify disk (enter its number):

On iscsi related command iscsiadm(1M), you can also find above iscsi disks:
-bash-3.2# iscsiadm list target -S
Target: iqn.1986-03.com.sun:02:7ff23d41-0ff1-c92e-9549-fb6532f2a55f
    Alias: -
    TPGT: 1
    ISID: 4000002a0000
    Connections: 1
    LUN: 3
         Vendor:  SUN    
         Product: COMSTAR        
         OS Device Name: 
/dev/rdsk/c3t600144F000082747EEEB4AF2715D0001d0s2      <=====The os 
device name is longer than 32 bytes.
    LUN: 1
         Vendor:  SUN    
         Product: COMSTAR        
         OS Device Name: /dev/rdsk/c3t600144F00008272C70AF4AB8A05E0001d0s2
    LUN: 0
         Vendor:  SUN    
         Product: COMSTAR        
         OS Device Name: /dev/rdsk/c3t600144F00008276216FD4AAA179F0001d0s2


Here I think the disk name said in dkio(7I) is a different thing with 
the os device name.
So I use MAXNAMELEN here.
>
> auto_install.c: (optional)
> 648-660:  Since all you are doing here is putting a specific string in 
> file, use of popen to do this will make it cleaner.
>
> auto_install.h:
> 204-213 (and the lines above).  Also above the disk vendor (not part 
> your changes) I am assuming is filled out from the inquiry string.  If 
> so scsi_inquiry structure allocates only 24 bytes for vendor[8] and 
> product[16]
>
> auto_parse.c:
>    193 and others:
>      if p is NULL, wouldn't this be an error.  If so it will not be 
> caught.  Similar issues with other parsed values.
>
>
> auto_td.c:
>        482:  Just to be sure..when  "if" statement  fails, 
> diskiscsiname and diskiscsiip are both either                 defined 
> or undefined.  A comment to that effect would be useful.
>        492: I would have thought that rootpath[MAXNAMELEN]  would be 
> sufficient (i.e. 256)                 instead of MAXPATHLEN which is 
> 1024.
>
>        539:  strncmp(rootpath, "iscsi:", strlen("iscsi:"))  would be 
> preferable.
>
>        544- 568:  parsing with strtok might be a better option.
>
> td_api.h:
>        54 -57: Please delete these lines.  To designate iscsi specific 
> enums state that as part of the                 comment
>        eg:
>        TD_E_NOT_FOUND,              /* iscsi specific  */
>         TD_E_LUN_NOT_FOUND,    /* iscsi specific.  LUN not found or a 
> non-specified LUN found */
>
> td_iscsi.c:
>        I am a bit confused by the values chosen for CHAP.  In struct 
> iSCSI_ibtf_target chap_name_len
>        and chap_secret_len are both ushort_t.  Given this, would 512 
> be big enough for name ?
Here we use IMA. And IMA is a SNIA specification. Currently we are using 
v2.0. It can be found here:
http://www.snia.org/tech_activities/standards/curr_standards/ima/

In the iSCSI Management API (IMA) v2.0 
<http://www.snia.org/tech_activities/standards/curr_standards/ima/iSCSIManagementAPI_v2.0.pdf>
  
section 5.56, the max length of chap name is set to 512. So I set it to 512.

In the iSCSI_ibft_target is defined according to iBFT specification 
here: http://www.microsoft.com/whdc/system/platform/firmware/ibft.mspx
In section 3.7, it uses two bytes for the length of the chap name. So we 
that's why we used ushort_t there.
>
>        58: comment for failure does not match the actual value being 
> returned.
>
>        79: Can  lhbaList->oidCount  be zero since one can get here 
> with lhbaList != NULL and should
>              this be marked as an error ?
>
>        99:  Why is targetIpaddr[128] and not a predefined value 
> [INET_ADDRSTRLEN] or something
>               appropriate ?  I noticed below that this string is used 
> to contain IP address and port, so
>               changing the the name to be something appropriate would 
> be helpful.
>
>        122-124:   /* Currently iscsi driver doesn't allow one to add a 
> duplicate static configuration.  So
>                   we try to get the existing static configuration 
> first and then do a comparision....
>                 */
>        A comment as to what mbstowcs does would be useful.
>        421: char devnam[MAXNAMELEN]  --- overkill ?
I will correct our code according to your other comments and send the 
webrev later.

Thank you again for your comments. It is really helpful. :-)

Regards,
Bing
>
> William Schumann wrote:
>> quick iSCSI boot status update:
>>
>> Am doing final unit testing on OpenSolaris code, and would like to 
>> put it up for review on Wednesday.
>>
>> Current webrev: http://cr.opensolaris.org/~wmsch/bug-6590/
>>
>> Working on text describing manual network configuration to eliminate 
>> NWAM.
>>
>> RFC 4173 Bootstrapping Clients using the Internet Small Computer 
>> System Interface (iSCSI) Protocol
>> http://tools.ietf.org/html/rfc4173
>> shows technique for DHCP server to supply IP address to iSCSI boot 
>> target using DHCP Rootpath (it works on Intel e1000g0).  dhcpinfo can 
>> then be used to get the iSCSI boot parameters from the DHCP server: 
>> "dhcpinfo Rootpath".  Still trying to figure out best way to do this 
>> to handle x86 2-NIC case.  Interface must first be set as DHCP - 
>> "ifconfig <if> dhcp".  Maybe DHCP Rootpath can be configured for PXE 
>> interface...
>>
>> Unusual behavior: iSCSI boot network interface not listed as 'DHCP' 
>> in ifconfig.  I think that this might be causing some confusion in 
>> the DHCP server, which periodically marks the address as "unusable".  
>> I see "ICMP ECHO reply to OFFER candidate: <IP> disabling" in system 
>> log.  From http://docs.sun.com/app/docs/doc/806-0916/6ja8539b0?a=view
>>>
>>> ICMP ECHO reply to OFFER candidate: n.n.n.n, disabling
>>>
>>> The IP address being considered for offering to a DHCP client is 
>>> already in use. This might occur if more than one DHCP server owns 
>>> the address, or if an address was manually configured for a non-DHCP 
>>> network client.
>>> Determine the proper ownership of the address and correct either the 
>>> DHCP server database or the host's network configuration.
>>>
>> Initial reboot with nwam (phase 0.n) service up by default works, but 
>> DNS is not correctly configured until second reboot.  Can be fixed 
>> manually.  Also might be due to the interface not looking like a DHCP 
>> interface.
>>
>> Did some NWAM phase 1 testing.  Looks OK, with some minor service 
>> startup problems possibly due to incorrect dependencies or timing 
>> issues.
>>
>> Back on Wednesday,
>> William
>
>
> _______________________________________________
> caiman-discuss mailing list
> caiman-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.opensolaris.org/pipermail/caiman-discuss/attachments/20091124/fdec3ee2/attachment.html>

Reply via email to