Author: arybchik
Date: Tue May 24 12:15:30 2016
New Revision: 300606
URL: https://svnweb.freebsd.org/changeset/base/300606

Log:
  sfxge(4): provide option to disable not a local MAC address check
  
  Option EFSYS_OPT_ALLOW_UNCONFIGURED_NIC disables check that the adapter
  MAC address is not a local address (beginning 02).
  
  Submitted by:   Laurence Evans <levans at solarflare.com>
  Reviewed by:    gnn
  Sponsored by:   Solarflare Communications, Inc.
  MFC after:      1 week
  Differential Revision:  https://reviews.freebsd.org/D6508

Modified:
  head/sys/dev/sfxge/common/efsys.h
  head/sys/dev/sfxge/common/efx_check.h
  head/sys/dev/sfxge/common/medford_nic.c

Modified: head/sys/dev/sfxge/common/efsys.h
==============================================================================
--- head/sys/dev/sfxge/common/efsys.h   Tue May 24 12:14:19 2016        
(r300605)
+++ head/sys/dev/sfxge/common/efsys.h   Tue May 24 12:15:30 2016        
(r300606)
@@ -278,6 +278,8 @@ sfxge_map_mbuf_fast(bus_dma_tag_t tag, b
 
 #define        EFSYS_OPT_LICENSING 0
 
+#define        EFSYS_OPT_ALLOW_UNCONFIGURED_NIC 0
+
 /* ID */
 
 typedef struct __efsys_identifier_s    efsys_identifier_t;

Modified: head/sys/dev/sfxge/common/efx_check.h
==============================================================================
--- head/sys/dev/sfxge/common/efx_check.h       Tue May 24 12:14:19 2016        
(r300605)
+++ head/sys/dev/sfxge/common/efx_check.h       Tue May 24 12:15:30 2016        
(r300606)
@@ -334,5 +334,12 @@
 # endif
 #endif /* EFSYS_OPT_LICENSING */
 
+/* Support adapters with missing static config (for factory use only) */
+#if EFSYS_OPT_ALLOW_UNCONFIGURED_NIC
+# if !EFSYS_OPT_MEDFORD
+#  error "ALLOW_UNCONFIGURED_NIC requires MEDFORD"
+# endif
+#endif /* EFSYS_OPT_ALLOW_UNCONFIGURED_NIC */
+
 
 #endif /* _SYS_EFX_CHECK_H */

Modified: head/sys/dev/sfxge/common/medford_nic.c
==============================================================================
--- head/sys/dev/sfxge/common/medford_nic.c     Tue May 24 12:14:19 2016        
(r300605)
+++ head/sys/dev/sfxge/common/medford_nic.c     Tue May 24 12:15:30 2016        
(r300606)
@@ -180,6 +180,12 @@ medford_board_cfg(
        /* MAC address for this function */
        if (EFX_PCI_FUNCTION_IS_PF(encp)) {
                rc = efx_mcdi_get_mac_address_pf(enp, mac_addr);
+#if EFSYS_OPT_ALLOW_UNCONFIGURED_NIC
+               /* Disable static config checking for Medford NICs, ONLY
+                * for manufacturing test and setup at the factory, to
+                * allow the static config to be installed.
+                */
+#else /* EFSYS_OPT_ALLOW_UNCONFIGURED_NIC */
                if ((rc == 0) && (mac_addr[0] & 0x02)) {
                        /*
                         * If the static config does not include a global MAC
@@ -189,6 +195,7 @@ medford_board_cfg(
                         */
                        rc = EINVAL;
                }
+#endif /* EFSYS_OPT_ALLOW_UNCONFIGURED_NIC */
        } else {
                rc = efx_mcdi_get_mac_address_vf(enp, mac_addr);
        }
_______________________________________________
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