pg: add device-input feature arc support on pg interfaces
[vpp.git] / vnet / vnet / devices / feature.c
1 /*
2  * Copyright (c) 2015 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 <vnet/feature/feature.h>
17
18 /* *INDENT-OFF* */
19 VNET_FEATURE_ARC_INIT (device_input, static) = {
20   .arc_name  = "device-input",
21   .start_nodes = VNET_FEATURES (
22 #if DPDK > 0
23                                 "dpdk-input",
24 #endif
25                                 "vhost-user-input", "af-packet-input", "netmap-input",
26                                 "tuntap-rx", "pg-input"),
27 };
28
29 VNET_FEATURE_INIT (l2_patch, static) = {
30   .arc_name = "device-input",
31   .node_name = "l2-patch",
32   .runs_before = VNET_FEATURES ("ethernet-input"),
33 };
34
35 VNET_FEATURE_INIT (worker_handoff, static) = {
36   .arc_name = "device-input",
37   .node_name = "worker-handoff",
38   .runs_before = VNET_FEATURES ("ethernet-input"),
39 };
40
41 VNET_FEATURE_INIT (ethernet_input, static) = {
42   .arc_name = "device-input",
43   .node_name = "ethernet-input",
44   .runs_before = 0, /* not before any other features */
45 };
46 /* *INDENT-ON* */
47
48 /*
49  * fd.io coding-style-patch-verification: ON
50  *
51  * Local Variables:
52  * eval: (c-set-style "gnu")
53  * End:
54  */