Support for QCT switches
Change-Id: Iacb4720b2bdee2f26b0c4b228e52e5c75b7a070f
diff --git a/switchq/vendors.go b/switchq/vendors.go
index 96f4af6..cc4eb94 100644
--- a/switchq/vendors.go
+++ b/switchq/vendors.go
@@ -61,13 +61,24 @@
}
func (v *VendorsData) Switchq(mac string) (bool, error) {
- if len(mac) < 8 {
- return false, nil
- }
- rec, ok := v.Vendors[strings.ToUpper(mac[0:8])]
- if !ok || !rec.Provision {
- return false, nil
+ // If there is a "full" MAC then attempt to see if that can
+ // be matched. If matched, accept that result and look no
+ // further
+ if len(mac) == 17 {
+ if rec, ok := v.Vendors[strings.ToUpper(mac)]; ok {
+ return rec.Provision, nil
+ }
}
- return true, nil
+ // If we have at least a OUI, look to see if that can be
+ // be matched. If matched, accept that result and look no
+ // further.
+ if len(mac) >= 8 {
+ if rec, ok := v.Vendors[strings.ToUpper(mac[0:8])]; ok {
+ return rec.Provision, nil
+ }
+ }
+
+ // No match found, so assume false.
+ return false, nil
}
diff --git a/switchq/vendors.json b/switchq/vendors.json
index f78d827..39d3b30 100644
--- a/switchq/vendors.json
+++ b/switchq/vendors.json
@@ -28,5 +28,10 @@
"prefix" : "48:0F:CF",
"vendor" : "Hewlett Packard Enterprise",
"provision" : true
+ },
+ {
+ "prefix" : "54:AB:3A",
+ "vendor" : "Quanta QCT",
+ "provision" : true
}
]