summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorPablo Mazzini <pmazzini@gmail.com>2022-08-18 14:59:46 +0100
committerGitHub <noreply@github.com>2022-08-18 14:59:46 +0100
commit2a691a334f6a296f8be54357782002165dcdaa33 (patch)
treef7b0563650ff16e3b9fc9364b60d4d760019abd4
parent509691fd59ec89e4862007550fe45bff421e4e77 (diff)
parentec5c7ba66f06056fe8de535af42ef2896422bde8 (diff)
Merge pull request #472 from hrvach/master
Add Cisco ZTPv6 Support
-rw-r--r--dhcpv6/ztpv6/parse_vendor_options.go3
-rw-r--r--dhcpv6/ztpv6/parse_vendor_options_test.go5
2 files changed, 7 insertions, 1 deletions
diff --git a/dhcpv6/ztpv6/parse_vendor_options.go b/dhcpv6/ztpv6/parse_vendor_options.go
index 3d1fd01..b3ce55b 100644
--- a/dhcpv6/ztpv6/parse_vendor_options.go
+++ b/dhcpv6/ztpv6/parse_vendor_options.go
@@ -46,7 +46,8 @@ func ParseVendorData(packet dhcpv6.DHCPv6) (*VendorData, error) {
for _, d := range vData {
switch {
// Arista;DCS-0000;00.00;ZZZ00000000
- case strings.HasPrefix(d, "Arista;"):
+ // Cisco;8800;12.34;FOC00000000
+ case strings.HasPrefix(d, "Arista;"), strings.HasPrefix(d, "Cisco;"):
p := strings.Split(d, ";")
if len(p) < 4 {
return nil, errVendorOptionMalformed
diff --git a/dhcpv6/ztpv6/parse_vendor_options_test.go b/dhcpv6/ztpv6/parse_vendor_options_test.go
index cd2fb3d..03ff8cf 100644
--- a/dhcpv6/ztpv6/parse_vendor_options_test.go
+++ b/dhcpv6/ztpv6/parse_vendor_options_test.go
@@ -18,12 +18,17 @@ func TestParseVendorDataWithVendorOpts(t *testing.T) {
{name: "empty", fail: true},
{name: "unknownVendor", vc: "VendorX;BFR10K;XX12345", fail: true, want: nil},
{name: "truncatedArista", vc: "Arista;1234", fail: true, want: nil},
+ {name: "truncatedCisco", vc: "Cisco;1234", fail: true, want: nil},
{name: "truncatedZPE", vc: "ZPESystems:1234", fail: true, want: nil},
{
name: "arista",
vc: "Arista;DCS-7050S-64;01.23;JPE12345678",
want: &VendorData{VendorName: "Arista", Model: "DCS-7050S-64", Serial: "JPE12345678"},
}, {
+ name: "cisco",
+ vc: "Cisco;SYS-8801;01.23;FOC12345678",
+ want: &VendorData{VendorName: "Cisco", Model: "SYS-8801", Serial: "FOC12345678"},
+ }, {
name: "zpe",
vc: "ZPESystems:NSC:001234567",
want: &VendorData{VendorName: "ZPESystems", Model: "NSC", Serial: "001234567"},