Author: asomers
Date: Mon Apr 18 15:01:59 2016
New Revision: 298212
URL: https://svnweb.freebsd.org/changeset/base/298212

Log:
  Add the ability to read a SAS device's Target Port NAA designator
  
  sys/cam/scsi/scsi_all.h
  sys/cam/scsi/scsi_all.c
        Add the scsi_devid_is_port_naa helper function
  
  Reviewed by:  ken
  MFC after:    4 weeks
  Sponsored by: Spectra Logic Corp
  Differential Revision:        https://reviews.freebsd.org/D5975

Modified:
  head/sys/cam/scsi/scsi_all.c
  head/sys/cam/scsi/scsi_all.h

Modified: head/sys/cam/scsi/scsi_all.c
==============================================================================
--- head/sys/cam/scsi/scsi_all.c        Mon Apr 18 15:01:49 2016        
(r298211)
+++ head/sys/cam/scsi/scsi_all.c        Mon Apr 18 15:01:59 2016        
(r298212)
@@ -5626,6 +5626,19 @@ scsi_devid_is_lun_name(uint8_t *bufp)
        return 1;
 }
 
+int
+scsi_devid_is_port_naa(uint8_t *bufp)
+{
+       struct scsi_vpd_id_descriptor *descr;
+
+       descr = (struct scsi_vpd_id_descriptor *)bufp;
+       if ((descr->id_type & SVPD_ID_ASSOC_MASK) != SVPD_ID_ASSOC_PORT)
+               return 0;
+       if ((descr->id_type & SVPD_ID_TYPE_MASK) != SVPD_ID_TYPE_NAA)
+               return 0;
+       return 1;
+}
+
 struct scsi_vpd_id_descriptor *
 scsi_get_devid_desc(struct scsi_vpd_id_descriptor *desc, uint32_t len,
     scsi_devid_checkfn_t ck_fn)

Modified: head/sys/cam/scsi/scsi_all.h
==============================================================================
--- head/sys/cam/scsi/scsi_all.h        Mon Apr 18 15:01:49 2016        
(r298211)
+++ head/sys/cam/scsi/scsi_all.h        Mon Apr 18 15:01:59 2016        
(r298212)
@@ -3661,6 +3661,7 @@ int               scsi_devid_is_lun_eui64(uint8_t *bu
 int            scsi_devid_is_lun_naa(uint8_t *bufp);
 int            scsi_devid_is_lun_name(uint8_t *bufp);
 int            scsi_devid_is_lun_t10(uint8_t *bufp);
+int            scsi_devid_is_port_naa(uint8_t *bufp);
 struct scsi_vpd_id_descriptor *
                scsi_get_devid(struct scsi_vpd_device_id *id, uint32_t len,
                               scsi_devid_checkfn_t ck_fn);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to