X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=examples%2Fip_pipeline%2Fpipeline%2Fpipeline_routing_be.h;fp=examples%2Fip_pipeline%2Fpipeline%2Fpipeline_routing_be.h;h=0000000000000000000000000000000000000000;hb=b63264c8342e6a1b6971c79550d2af2024b6a4de;hp=7140ee4012c6599f07499d8e2328a8e58f979174;hpb=ca33590b6af032bff57d9cc70455660466a654b2;p=deb_dpdk.git diff --git a/examples/ip_pipeline/pipeline/pipeline_routing_be.h b/examples/ip_pipeline/pipeline/pipeline_routing_be.h deleted file mode 100644 index 7140ee40..00000000 --- a/examples/ip_pipeline/pipeline/pipeline_routing_be.h +++ /dev/null @@ -1,283 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2010-2015 Intel Corporation - */ - -#ifndef __INCLUDE_PIPELINE_ROUTING_BE_H__ -#define __INCLUDE_PIPELINE_ROUTING_BE_H__ - -#include - -#include "pipeline_common_be.h" - -/* - * Pipeline argument parsing - */ -#ifndef PIPELINE_ROUTING_N_ROUTES_DEFAULT -#define PIPELINE_ROUTING_N_ROUTES_DEFAULT 4096 -#endif - -enum pipeline_routing_encap { - PIPELINE_ROUTING_ENCAP_ETHERNET = 0, - PIPELINE_ROUTING_ENCAP_ETHERNET_QINQ, - PIPELINE_ROUTING_ENCAP_ETHERNET_MPLS, -}; - -struct pipeline_routing_params { - /* routing */ - uint32_t n_routes; - uint32_t port_local_dest; - - /* routing packet encapsulation */ - enum pipeline_routing_encap encap; - uint32_t qinq_sched; - uint32_t mpls_color_mark; - - /* arp */ - uint32_t n_arp_entries; - - /* packet buffer offsets */ - uint32_t ip_hdr_offset; - uint32_t arp_key_offset; - uint32_t color_offset; - - /* debug */ - uint32_t dbg_ah_disable; -}; - -int -pipeline_routing_parse_args(struct pipeline_routing_params *p, - struct pipeline_params *params); - -/* - * Route - */ -enum pipeline_routing_route_key_type { - PIPELINE_ROUTING_ROUTE_IPV4, -}; - -struct pipeline_routing_route_key_ipv4 { - uint32_t ip; - uint32_t depth; -}; - -struct pipeline_routing_route_key { - enum pipeline_routing_route_key_type type; - union { - struct pipeline_routing_route_key_ipv4 ipv4; - } key; -}; - -enum pipeline_routing_route_flags { - PIPELINE_ROUTING_ROUTE_LOCAL = 1 << 0, /* 0 = remote; 1 = local */ - PIPELINE_ROUTING_ROUTE_ARP = 1 << 1, /* 0 = ARP OFF; 1 = ARP ON */ - PIPELINE_ROUTING_ROUTE_QINQ = 1 << 2, /* 0 = QINQ OFF; 1 = QINQ ON */ - PIPELINE_ROUTING_ROUTE_MPLS = 1 << 3, /* 0 = MPLS OFF; 1 = MPLS ON */ -}; - -#define PIPELINE_ROUTING_MPLS_LABELS_MAX 4 - -struct pipeline_routing_route_data { - uint32_t flags; - uint32_t port_id; /* Output port ID */ - - union { - /* Next hop IP (valid only when ARP is enabled) */ - uint32_t ip; - - /* Next hop MAC address (valid only when ARP disabled */ - struct ether_addr macaddr; - } ethernet; - - union { - struct { - uint16_t svlan; - uint16_t cvlan; - } qinq; - - struct { - uint32_t labels[PIPELINE_ROUTING_MPLS_LABELS_MAX]; - uint32_t n_labels; - } mpls; - } l2; -}; - -/* - * ARP - */ -enum pipeline_routing_arp_key_type { - PIPELINE_ROUTING_ARP_IPV4, -}; - -struct pipeline_routing_arp_key_ipv4 { - uint32_t port_id; - uint32_t ip; -}; - -struct pipeline_routing_arp_key { - enum pipeline_routing_arp_key_type type; - union { - struct pipeline_routing_arp_key_ipv4 ipv4; - } key; -}; - -/* - * Messages - */ -enum pipeline_routing_msg_req_type { - PIPELINE_ROUTING_MSG_REQ_ROUTE_ADD, - PIPELINE_ROUTING_MSG_REQ_ROUTE_DEL, - PIPELINE_ROUTING_MSG_REQ_ROUTE_ADD_DEFAULT, - PIPELINE_ROUTING_MSG_REQ_ROUTE_DEL_DEFAULT, - PIPELINE_ROUTING_MSG_REQ_ARP_ADD, - PIPELINE_ROUTING_MSG_REQ_ARP_DEL, - PIPELINE_ROUTING_MSG_REQ_ARP_ADD_DEFAULT, - PIPELINE_ROUTING_MSG_REQ_ARP_DEL_DEFAULT, - PIPELINE_ROUTING_MSG_REQ_SET_MACADDR, - PIPELINE_ROUTING_MSG_REQS -}; - -/* - * MSG ROUTE ADD - */ -struct pipeline_routing_route_add_msg_req { - enum pipeline_msg_req_type type; - enum pipeline_routing_msg_req_type subtype; - - /* key */ - struct pipeline_routing_route_key key; - - /* data */ - struct pipeline_routing_route_data data; -}; - -struct pipeline_routing_route_add_msg_rsp { - int status; - int key_found; - void *entry_ptr; -}; - -/* - * MSG ROUTE DELETE - */ -struct pipeline_routing_route_delete_msg_req { - enum pipeline_msg_req_type type; - enum pipeline_routing_msg_req_type subtype; - - /* key */ - struct pipeline_routing_route_key key; -}; - -struct pipeline_routing_route_delete_msg_rsp { - int status; - int key_found; -}; - -/* - * MSG ROUTE ADD DEFAULT - */ -struct pipeline_routing_route_add_default_msg_req { - enum pipeline_msg_req_type type; - enum pipeline_routing_msg_req_type subtype; - - /* data */ - uint32_t port_id; -}; - -struct pipeline_routing_route_add_default_msg_rsp { - int status; - void *entry_ptr; -}; - -/* - * MSG ROUTE DELETE DEFAULT - */ -struct pipeline_routing_route_delete_default_msg_req { - enum pipeline_msg_req_type type; - enum pipeline_routing_msg_req_type subtype; -}; - -struct pipeline_routing_route_delete_default_msg_rsp { - int status; -}; - -/* - * MSG ARP ADD - */ -struct pipeline_routing_arp_add_msg_req { - enum pipeline_msg_req_type type; - enum pipeline_routing_msg_req_type subtype; - - /* key */ - struct pipeline_routing_arp_key key; - - /* data */ - struct ether_addr macaddr; -}; - -struct pipeline_routing_arp_add_msg_rsp { - int status; - int key_found; - void *entry_ptr; -}; - -/* - * MSG ARP DELETE - */ -struct pipeline_routing_arp_delete_msg_req { - enum pipeline_msg_req_type type; - enum pipeline_routing_msg_req_type subtype; - - /* key */ - struct pipeline_routing_arp_key key; -}; - -struct pipeline_routing_arp_delete_msg_rsp { - int status; - int key_found; -}; - -/* - * MSG ARP ADD DEFAULT - */ -struct pipeline_routing_arp_add_default_msg_req { - enum pipeline_msg_req_type type; - enum pipeline_routing_msg_req_type subtype; - - /* data */ - uint32_t port_id; -}; - -struct pipeline_routing_arp_add_default_msg_rsp { - int status; - void *entry_ptr; -}; - -/* - * MSG ARP DELETE DEFAULT - */ -struct pipeline_routing_arp_delete_default_msg_req { - enum pipeline_msg_req_type type; - enum pipeline_routing_msg_req_type subtype; -}; - -struct pipeline_routing_arp_delete_default_msg_rsp { - int status; -}; - -/* - * MSG SET MACADDR - */ -struct pipeline_routing_set_macaddr_msg_req { - enum pipeline_msg_req_type type; - enum pipeline_routing_msg_req_type subtype; - - uint64_t macaddr[PIPELINE_MAX_PORT_OUT]; -}; - -struct pipeline_routing_set_macaddr_msg_rsp { - int status; -}; - -extern struct pipeline_be_ops pipeline_routing_be_ops; - -#endif