aboutsummaryrefslogtreecommitdiffstats
path: root/stacks/lwip_stack/lwip_src/common/stackx_ip_tos.h
diff options
context:
space:
mode:
Diffstat (limited to 'stacks/lwip_stack/lwip_src/common/stackx_ip_tos.h')
-rw-r--r--stacks/lwip_stack/lwip_src/common/stackx_ip_tos.h146
1 files changed, 0 insertions, 146 deletions
diff --git a/stacks/lwip_stack/lwip_src/common/stackx_ip_tos.h b/stacks/lwip_stack/lwip_src/common/stackx_ip_tos.h
deleted file mode 100644
index 6ca2598..0000000
--- a/stacks/lwip_stack/lwip_src/common/stackx_ip_tos.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
-*
-* Copyright (c) 2018 Huawei Technologies Co.,Ltd.
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at:
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#ifndef STACKX_IP_TOS_H
-#define STACKX_IP_TOS_H
-#include "types.h"
-
-#ifdef __cplusplus
-/* *INDENT-OFF* */
-extern "C" {
-/* *INDENT-ON* */
-#endif
-
-/*
- * The Type of Service provides an indication of the abstract
- * parameters of the quality of service desired. These parameters are
- * to be used to guide the selection of the actual service parameters
- * when transmitting a datagram through a particular network. Several
- * networks offer service precedence, which somehow treats high
- * precedence traffic as more important than other traffic (generally
- * by accepting only traffic above a certain precedence at time of high
- * load). The major choice is a three way tradeoff between low-delay,
- * high-reliability, and high-throughput.
- * The use of the Delay, Throughput, and Reliability indications may
- * increase the cost (in some sense) of the service. In many networks
- * better performance for one of these parameters is coupled with worse
- * performance on another. Except for very unusual cases at most two
- * of these three indications should be set.
- */
-#define IPTOS_LOWCOST 0x02
-#define IPTOS_RELIABILITY 0x04
-#define IPTOS_THROUGHPUT 0x08
-#define IPTOS_LOWDELAY 0x10
-#define IPTOS_TOS_MASK 0x1E
-#define IPTOS_MINCOST IPTOS_LOWCOST
-#define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK)
-
-/*
- * The Network Control precedence designation is intended to be used
- * within a network only. The actual use and control of that
- * designation is up to each network. The Internetwork Control
- * designation is intended for use by gateway control originators only.
- * If the actual use of these precedence designations is of concern to
- * a particular network, it is the responsibility of that network to
- * control the access to, and use of, those precedence designations.
- */
-#define IPTOS_PREC_ROUTINE 0x00
-#define IPTOS_PREC_PRIORITY 0x20
-#define IPTOS_PREC_IMMEDIATE 0x40
-#define IPTOS_PREC_FLASH 0x60
-#define IPTOS_PREC_FLASHOVERRIDE 0x80
-#define IPTOS_PREC_CRITIC_ECP 0xa0
-#define IPTOS_PREC_INTERNETCONTROL 0xc0
-#define IPTOS_PREC_MASK 0xe0
-#define IPTOS_PREC_NETCONTROL 0xe0
-#define IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK)
-
-#define IPTOS_RT_MASK (IPTOS_TOS_MASK & ~3)
-
-#define TC_PRIO_BESTEFFORT 0
-#define TC_PRIO_FILLER 1
-#define TC_PRIO_BULK 2
-#define TC_PRIO_INTERACTIVE_BULK 4
-#define TC_PRIO_INTERACTIVE 6
-#define TC_PRIO_CONTROL 7
-#define TC_PRIO_MAX 15
-
-#define ECN_OR_COST(class ) TC_PRIO_ ## class
-
-static u8 stackx_ip_tos2prio[(IPTOS_TOS_MASK >> 1) + 1] = {
- TC_PRIO_BESTEFFORT,
- ECN_OR_COST (FILLER),
- TC_PRIO_BESTEFFORT,
- ECN_OR_COST (BESTEFFORT),
- TC_PRIO_BULK,
- ECN_OR_COST (BULK),
- TC_PRIO_BULK,
- ECN_OR_COST (BULK),
- TC_PRIO_INTERACTIVE,
- ECN_OR_COST (INTERACTIVE),
- TC_PRIO_INTERACTIVE,
- ECN_OR_COST (INTERACTIVE),
- TC_PRIO_INTERACTIVE_BULK,
- ECN_OR_COST (INTERACTIVE_BULK),
- TC_PRIO_INTERACTIVE_BULK,
- ECN_OR_COST (INTERACTIVE_BULK)
-};
-
-static inline char
-stackx_rt_tos2priority (u8 tos)
-{
- return stackx_ip_tos2prio[IPTOS_TOS (tos) >> 1];
-}
-
-typedef enum
-{
- STACKX_PRIM,
- STACKX_HIGH,
- STACKX_MEDIUM,
- STACKX_LOW
-} stackx_prio;
-
-static inline stackx_prio
-stackx_get_prio (u8 tos)
-{
- if (0 == tos)
- {
- return STACKX_PRIM;
- }
- char prio = stackx_rt_tos2priority (tos);
- if ((TC_PRIO_INTERACTIVE == prio))
- {
- return STACKX_HIGH;
- }
- else if ((TC_PRIO_BESTEFFORT == prio) || (TC_PRIO_INTERACTIVE_BULK == prio))
- {
- return STACKX_MEDIUM;
- }
- else if ((TC_PRIO_BULK == prio) || (TC_PRIO_FILLER == prio))
- {
- return STACKX_LOW;
- }
-
- return STACKX_PRIM;
-}
-
-#ifdef __cplusplus
-/* *INDENT-OFF* */
-}
-/* *INDENT-ON* */
-#endif
-
-#endif