talos
36 строк · 925.0 Байт
1// This Source Code Form is subject to the terms of the Mozilla Public
2// License, v. 2.0. If a copy of the MPL was not distributed with this
3// file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
5package nethelpers
6
7import "fmt"
8
9// ARPValidate is an ARP Validation mode.
10type ARPValidate uint32
11
12// ARPValidate constants.
13//
14//structprotogen:gen_enum
15const (
16ARPValidateNone ARPValidate = iota // none
17ARPValidateActive // active
18ARPValidateBackup // backup
19ARPValidateAll // all
20)
21
22// ARPValidateByName parses ARPValidate.
23func ARPValidateByName(a string) (ARPValidate, error) {
24switch a {
25case "", "none":
26return ARPValidateNone, nil
27case "active":
28return ARPValidateActive, nil
29case "backup":
30return ARPValidateBackup, nil
31case "all":
32return ARPValidateAll, nil
33default:
34return 0, fmt.Errorf("invalid arp_validate mode %v", a)
35}
36}
37