Loading...
Note: File does not exist in v5.4.
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright (c) 2024 Pengutronix, Oleksij Rempel <kernel@pengutronix.de> */
3
4#ifndef _NET_IEEE8021Q_H
5#define _NET_IEEE8021Q_H
6
7#include <linux/errno.h>
8
9/**
10 * enum ieee8021q_traffic_type - 802.1Q traffic type priority values (802.1Q-2022)
11 *
12 * @IEEE8021Q_TT_BK: Background
13 * @IEEE8021Q_TT_BE: Best Effort (default). According to 802.1Q-2022, BE is 0
14 * but has higher priority than BK which is 1.
15 * @IEEE8021Q_TT_EE: Excellent Effort
16 * @IEEE8021Q_TT_CA: Critical Applications
17 * @IEEE8021Q_TT_VI: Video, < 100 ms latency and jitter
18 * @IEEE8021Q_TT_VO: Voice, < 10 ms latency and jitter
19 * @IEEE8021Q_TT_IC: Internetwork Control
20 * @IEEE8021Q_TT_NC: Network Control
21 */
22enum ieee8021q_traffic_type {
23 IEEE8021Q_TT_BK = 0,
24 IEEE8021Q_TT_BE = 1,
25 IEEE8021Q_TT_EE = 2,
26 IEEE8021Q_TT_CA = 3,
27 IEEE8021Q_TT_VI = 4,
28 IEEE8021Q_TT_VO = 5,
29 IEEE8021Q_TT_IC = 6,
30 IEEE8021Q_TT_NC = 7,
31
32 /* private: */
33 IEEE8021Q_TT_MAX,
34};
35
36#define SIMPLE_IETF_DSCP_TO_IEEE8021Q_TT(dscp) ((dscp >> 3) & 0x7)
37
38#if IS_ENABLED(CONFIG_NET_IEEE8021Q_HELPERS)
39
40int ietf_dscp_to_ieee8021q_tt(u8 dscp);
41int ieee8021q_tt_to_tc(enum ieee8021q_traffic_type tt, unsigned int num_queues);
42
43#else
44
45static inline int ietf_dscp_to_ieee8021q_tt(u8 dscp)
46{
47 return -EOPNOTSUPP;
48}
49
50static inline int ieee8021q_tt_to_tc(enum ieee8021q_traffic_type tt,
51 unsigned int num_queues)
52{
53 return -EOPNOTSUPP;
54}
55
56#endif
57#endif /* _NET_IEEE8021Q_H */