New upstream version 18.02
[deb_dpdk.git] / examples / ip_pipeline / pipeline / pipeline_routing.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2010-2015 Intel Corporation
3  */
4
5 #ifndef __INCLUDE_PIPELINE_ROUTING_H__
6 #define __INCLUDE_PIPELINE_ROUTING_H__
7
8 #include "pipeline.h"
9 #include "pipeline_routing_be.h"
10
11 /*
12  * Route
13  */
14
15 int
16 app_pipeline_routing_add_route(struct app_params *app,
17         uint32_t pipeline_id,
18         struct pipeline_routing_route_key *key,
19         struct pipeline_routing_route_data *data);
20
21 int
22 app_pipeline_routing_delete_route(struct app_params *app,
23         uint32_t pipeline_id,
24         struct pipeline_routing_route_key *key);
25
26 int
27 app_pipeline_routing_add_default_route(struct app_params *app,
28         uint32_t pipeline_id,
29         uint32_t port_id);
30
31 int
32 app_pipeline_routing_delete_default_route(struct app_params *app,
33         uint32_t pipeline_id);
34
35 /*
36  * ARP
37  */
38
39 int
40 app_pipeline_routing_add_arp_entry(struct app_params *app,
41         uint32_t pipeline_id,
42         struct pipeline_routing_arp_key *key,
43         struct ether_addr *macaddr);
44
45 int
46 app_pipeline_routing_delete_arp_entry(struct app_params *app,
47         uint32_t pipeline_id,
48         struct pipeline_routing_arp_key *key);
49
50 int
51 app_pipeline_routing_add_default_arp_entry(struct app_params *app,
52         uint32_t pipeline_id,
53         uint32_t port_id);
54
55 int
56 app_pipeline_routing_delete_default_arp_entry(struct app_params *app,
57         uint32_t pipeline_id);
58
59 /*
60  * SETTINGS
61  */
62 int
63 app_pipeline_routing_set_macaddr(struct app_params *app,
64         uint32_t pipeline_id);
65
66 /*
67  * Pipeline type
68  */
69 extern struct pipeline_type pipeline_routing;
70
71 #endif