Line data Source code
1 : /*
2 : * Copyright (c) 2019 Cisco and/or its affiliates.
3 : * Licensed under the Apache License, Version 2.0 (the "License");
4 : * you may not use this file except in compliance with the License.
5 : * You may obtain a copy of the License at:
6 : *
7 : * http://www.apache.org/licenses/LICENSE-2.0
8 : *
9 : * Unless required by applicable law or agreed to in writing, software
10 : * distributed under the License is distributed on an "AS IS" BASIS,
11 : * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 : * See the License for the specific language governing permissions and
13 : * limitations under the License.
14 : */
15 :
16 : #include <vlib/vlib.h>
17 : #include <vnet/vnet.h>
18 : #include <vppinfra/error.h>
19 : #include <vnet/ethernet/ethernet.h>
20 : #include <vnet/feature/feature.h>
21 : #include <vnet/l2/l2_in_out_feat_arc.h>
22 : #include <vnet/gso/gso.h>
23 :
24 : gso_main_t gso_main;
25 :
26 : int
27 641 : vnet_sw_interface_gso_enable_disable (u32 sw_if_index, u8 enable)
28 : {
29 641 : vnet_feature_enable_disable ("ip4-output", "gso-ip4", sw_if_index, enable,
30 : 0, 0);
31 641 : vnet_feature_enable_disable ("ip6-output", "gso-ip6", sw_if_index, enable,
32 : 0, 0);
33 :
34 641 : vnet_l2_feature_enable_disable ("l2-output-nonip", "gso-l2-nonip",
35 : sw_if_index, enable, 0, 0);
36 641 : vnet_l2_feature_enable_disable ("l2-output-ip4", "gso-l2-ip4",
37 : sw_if_index, enable, 0, 0);
38 641 : vnet_l2_feature_enable_disable ("l2-output-ip6", "gso-l2-ip6",
39 : sw_if_index, enable, 0, 0);
40 :
41 641 : return (0);
42 : }
43 :
44 : static clib_error_t *
45 575 : gso_init (vlib_main_t * vm)
46 : {
47 575 : gso_main_t *gm = &gso_main;
48 :
49 575 : clib_memset (gm, 0, sizeof (gm[0]));
50 575 : gm->vlib_main = vm;
51 575 : gm->vnet_main = vnet_get_main ();
52 :
53 575 : return 0;
54 : }
55 :
56 71999 : VLIB_INIT_FUNCTION (gso_init);
57 :
58 : /*
59 : * fd.io coding-style-patch-verification: ON
60 : *
61 : * Local Variables:
62 : * eval: (c-set-style "gnu")
63 : * End:
64 : */
|