Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
nat: Final NAT44 EI/ED split patch
[vpp.git]
/
src
/
vnet
/
session
/
transport_types.h
diff --git
a/src/vnet/session/transport_types.h
b/src/vnet/session/transport_types.h
index
e065ed1
..
1e7d567
100644
(file)
--- a/
src/vnet/session/transport_types.h
+++ b/
src/vnet/session/transport_types.h
@@
-19,6
+19,8
@@
#include <vnet/vnet.h>
#include <vnet/ip/ip.h>
#include <vnet/tcp/tcp_debug.h>
#include <vnet/vnet.h>
#include <vnet/ip/ip.h>
#include <vnet/tcp/tcp_debug.h>
+#include <vppinfra/bihash_24_8.h>
+
#define TRANSPORT_MAX_HDRS_LEN 140 /* Max number of bytes for headers */
#define TRANSPORT_MAX_HDRS_LEN 140 /* Max number of bytes for headers */
@@
-63,10
+65,10
@@
typedef enum transport_connection_flags_
typedef struct _spacer
{
u64 bytes_per_sec;
typedef struct _spacer
{
u64 bytes_per_sec;
-
u
64 bucket;
+
i
64 bucket;
clib_us_time_t last_update;
f32 tokens_per_period;
clib_us_time_t last_update;
f32 tokens_per_period;
- u32
idle_timeout_us
;
+ u32
max_burst
;
} spacer_t;
#define TRANSPORT_CONN_ID_LEN 44
} spacer_t;
#define TRANSPORT_CONN_ID_LEN 44
@@
-144,6
+146,8
@@
typedef struct _transport_connection
#define c_stats connection.stats
#define c_pacer connection.pacer
#define c_flags connection.flags
#define c_stats connection.stats
#define c_pacer connection.pacer
#define c_flags connection.flags
+#define s_ho_handle pacer.bytes_per_sec
+#define c_s_ho_handle connection.pacer.bytes_per_sec
} transport_connection_t;
STATIC_ASSERT (STRUCT_OFFSET_OF (transport_connection_t, s_index)
} transport_connection_t;
STATIC_ASSERT (STRUCT_OFFSET_OF (transport_connection_t, s_index)
@@
-154,13
+158,13
@@
STATIC_ASSERT (STRUCT_OFFSET_OF (transport_connection_t, s_index)
STATIC_ASSERT (sizeof (transport_connection_t) <= 128,
"moved into 3rd cache line");
STATIC_ASSERT (sizeof (transport_connection_t) <= 128,
"moved into 3rd cache line");
-#define foreach_transport_proto \
- _
(TCP, "tcp", "T")
\
- _
(UDP, "udp", "U")
\
- _
(NONE, "ct", "C")
\
- _
(TLS, "tls", "J")
\
- _
(UDPC, "udpc", "U")
\
- _
(QUIC, "quic", "Q") \
+#define foreach_transport_proto
\
+ _
(TCP, "tcp", "T")
\
+ _
(UDP, "udp", "U")
\
+ _
(NONE, "ct", "C")
\
+ _
(TLS, "tls", "J")
\
+ _
(QUIC, "quic", "Q")
\
+ _
(DTLS, "dtls", "D")
typedef enum _transport_proto
{
typedef enum _transport_proto
{
@@
-228,7
+232,6
@@
transport_endpoint_fib_proto (transport_endpoint_t * tep)
}
u8 transport_protocol_is_cl (transport_proto_t tp);
}
u8 transport_protocol_is_cl (transport_proto_t tp);
-u8 transport_half_open_has_fifos (transport_proto_t tp);
transport_service_type_t transport_protocol_service_type (transport_proto_t);
transport_tx_fn_type_t transport_protocol_tx_fn_type (transport_proto_t tp);
transport_service_type_t transport_protocol_service_type (transport_proto_t);
transport_tx_fn_type_t transport_protocol_tx_fn_type (transport_proto_t tp);