talos

Форк
0
/
bondxmithashpolicy.go 
39 строк · 1.2 Кб
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

5
package nethelpers
6

7
import "fmt"
8

9
// BondXmitHashPolicy is a bond hash policy.
10
type BondXmitHashPolicy uint8
11

12
// Bond hash policy constants.
13
//
14
//structprotogen:gen_enum
15
const (
16
	BondXmitPolicyLayer2  BondXmitHashPolicy = iota // layer2
17
	BondXmitPolicyLayer34                           // layer3+4
18
	BondXmitPolicyLayer23                           // layer2+3
19
	BondXmitPolicyEncap23                           // encap2+3
20
	BondXmitPolicyEncap34                           // encap3+4
21
)
22

23
// BondXmitHashPolicyByName parses bond hash policy.
24
func BondXmitHashPolicyByName(policy string) (BondXmitHashPolicy, error) {
25
	switch policy {
26
	case "", "layer2":
27
		return BondXmitPolicyLayer2, nil
28
	case "layer3+4":
29
		return BondXmitPolicyLayer34, nil
30
	case "layer2+3":
31
		return BondXmitPolicyLayer23, nil
32
	case "encap2+3":
33
		return BondXmitPolicyEncap23, nil
34
	case "encap3+4":
35
		return BondXmitPolicyEncap34, nil
36
	default:
37
		return 0, fmt.Errorf("invalid xmit hash policy %v", policy)
38
	}
39
}
40

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.