FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
mss_clamp.api
Go to the documentation of this file.
1 /* Hey Emacs use -*- mode: C -*- */
2 /*
3  * Copyright (c) 2016 Cisco and/or its affiliates.
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at:
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 option version = "1.0.0";
18 import "vnet/interface_types.api";
19 
20 /** \brief TCP MSS Clamping direction flag
21  */
22 enumflag mss_clamp_dir : u8 {
23  MSS_CLAMP_DIR_NONE = 0x0,
26 };
27 
28 /** \brief Enable/Disable TCP MSS Clamping feature on an interface
29  @param client_index - opaque cookie to identify the sender
30  @param context - sender context, to match reply w/ request
31  @param sw_if_index - interface index on which clamping will be applied
32  @param ipv4_mss - Maximum Segment Size for IPv4/TCP
33  @param ipv6_mss - Maximum Segment Size for IPv6/TCP
34  @param ipv4_direction - Direction clamping is enabled on (IPv4/TCP)
35  @param ipv6_direction - Direction clamping is enabled on (IPv6/TCP)
36  */
37 autoreply define mss_clamp_enable_disable {
40  vl_api_interface_index_t sw_if_index;
43  vl_api_mss_clamp_dir_t ipv4_direction;
44  vl_api_mss_clamp_dir_t ipv6_direction;
45 };
46 
47 
48 /** \brief Get the list of configured mss values
49  @param client_index - opaque cookie to identify the sender
50 */
52  rpc mss_clamp_get returns mss_clamp_get_reply
53  stream mss_clamp_details;
54 };
55 
56 /** \brief Get the TCP MSS Clamping feature settings
57  @param client_index - opaque cookie to identify the sender
58  @param context - sender context, to match reply w/ request
59  @param cursor - cursor to continue when there is more to read
60  @param sw_if_index - interface index to filter the result,
61  ~0 means no filter
62  */
63 define mss_clamp_get {
67  vl_api_interface_index_t sw_if_index;
68 };
69 
70 /** \brief Reply for get TCP MSS Clamping feature settings request
71  @param context - returned sender context, to match reply w/ request
72  @param retval - return code
73  @param cursor - cursor to continue when there is more to read
74  */
75 define mss_clamp_get_reply {
79 };
80 
81 /** \brief Configured MSS values on an interface
82  @param context - returned sender context, to match reply w/ request
83  @param sw_if_index - interface index on which clamping is applied
84  @param ipv4_mss - Maximum Segment Size for IPv4/TCP
85  @param ipv6_mss - Maximum Segment Size for IPv6/TCP
86  @param ipv4_direction - Direction clamping is enabled on (IPv4/TCP)
87  @param ipv6_direction - Direction clamping is enabled on (IPv6/TCP)
88  */
89 define mss_clamp_details {
91  vl_api_interface_index_t sw_if_index;
94  vl_api_mss_clamp_dir_t ipv4_direction;
95  vl_api_mss_clamp_dir_t ipv6_direction;
96 };
97 
98 counters mss_clamp {
99  clamped {
100  severity info;
101  type counter64;
102  units "packets";
103  description "packets clamped";
104  };
105 };
107  "/err/tcp-mss-clamping-ip4-in" "mss-clamp";
108  "/err/tcp-mss-clamping-ip4-out" "mss-clamp";
109  "/err/tcp-mss-clamping-ip6-in" "mss-clamp";
110  "/err/tcp-mss-clamping-ip6-out" "mss-clamp";
111 };
112 
vl_api_mss_clamp_get_reply_t::context
u32 context
Definition: mss_clamp.api:76
vl_api_mss_clamp_enable_disable_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: mss_clamp.api:40
vl_api_mss_clamp_details_t
Configured MSS values on an interface.
Definition: mss_clamp.api:89
u16
unsigned short u16
Definition: types.h:57
vl_api_mss_clamp_enable_disable_t::client_index
u32 client_index
Definition: mss_clamp.api:38
vl_api_mss_clamp_details_t::ipv6_direction
vl_api_mss_clamp_dir_t ipv6_direction
Definition: mss_clamp.api:95
vl_api_mss_clamp_details_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: mss_clamp.api:91
vl_api_mss_clamp_get_t::client_index
u32 client_index
Definition: mss_clamp.api:64
service
service
Get the list of configured mss values.
Definition: mss_clamp.api:51
i32
signed int i32
Definition: types.h:77
vl_api_mss_clamp_details_t::ipv4_mss
u16 ipv4_mss
Definition: mss_clamp.api:92
vl_api_mss_clamp_get_reply_t
Reply for get TCP MSS Clamping feature settings request.
Definition: mss_clamp.api:75
mss_clamp_dir
enumflag mss_clamp_dir
TCP MSS Clamping direction flag.
Definition: mss_clamp.api:23
vl_api_mss_clamp_get_t::context
u32 context
Definition: mss_clamp.api:65
vl_api_mss_clamp_details_t::ipv4_direction
vl_api_mss_clamp_dir_t ipv4_direction
Definition: mss_clamp.api:94
vl_api_mss_clamp_enable_disable_t::ipv6_mss
u16 ipv6_mss
Definition: mss_clamp.api:42
vl_api_mss_clamp_details_t::ipv6_mss
u16 ipv6_mss
Definition: mss_clamp.api:93
vl_api_mss_clamp_enable_disable_t::ipv6_direction
vl_api_mss_clamp_dir_t ipv6_direction
Definition: mss_clamp.api:44
version
option version
Definition: mss_clamp.api:17
mss_clamp
counters mss_clamp
Definition: mss_clamp.api:98
vl_api_mss_clamp_get_reply_t::cursor
u32 cursor
Definition: mss_clamp.api:78
u32
unsigned int u32
Definition: types.h:88
vl_api_mss_clamp_enable_disable_t::ipv4_direction
vl_api_mss_clamp_dir_t ipv4_direction
Definition: mss_clamp.api:43
vl_api_mss_clamp_get_reply_t::retval
i32 retval
Definition: mss_clamp.api:77
vl_api_mss_clamp_get_t
Get the TCP MSS Clamping feature settings.
Definition: mss_clamp.api:63
vl_api_mss_clamp_get_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: mss_clamp.api:67
vl_api_mss_clamp_enable_disable_t::context
u32 context
Definition: mss_clamp.api:39
u8
unsigned char u8
Definition: types.h:56
MSS_CLAMP_DIR_RX
enumflag MSS_CLAMP_DIR_RX
Definition: mss_clamp.api:24
vl_api_mss_clamp_enable_disable_t::ipv4_mss
u16 ipv4_mss
Definition: mss_clamp.api:41
vl_api_mss_clamp_get_t::cursor
u32 cursor
Definition: mss_clamp.api:66
counter64
type counter64
Definition: map.api:365
MSS_CLAMP_DIR_TX
enumflag MSS_CLAMP_DIR_TX
Definition: mss_clamp.api:25
type
vl_api_fib_path_type_t type
Definition: fib_types.api:123
vl_api_mss_clamp_details_t::context
u32 context
Definition: mss_clamp.api:90
paths
paths
Definition: mss_clamp.api:106
vl_api_mss_clamp_enable_disable_t
Enable/Disable TCP MSS Clamping feature on an interface.
Definition: mss_clamp.api:37