aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-plugin/src/pg.h
diff options
context:
space:
mode:
authorMauro Sardara <msardara@cisco.com>2020-03-24 17:34:14 +0000
committerMauro Sardara <msardara@cisco.com>2020-09-14 17:31:15 +0000
commit88509fe353767cbde707c3e3b1f29392957819f3 (patch)
treecccd51bac7966cd3138c525e8075d90341184a66 /hicn-plugin/src/pg.h
parentd875ae92a7fa1eaab3bc2616aeeedfc64a81fea4 (diff)
[HICN-574] Host stack plugin for VPP.
Signed-off-by: Mauro Sardara <msardara@cisco.com> Change-Id: I8d8fdffef31a7013265d6529c5f52f3d5ec70d18 Signed-off-by: Mauro Sardara <msardara@cisco.com> Signed-off-by: Mauro <you@example.com> Signed-off-by: Mauro Sardara <msardara@cisco.com>
Diffstat (limited to 'hicn-plugin/src/pg.h')
-rw-r--r--hicn-plugin/src/pg.h101
1 files changed, 0 insertions, 101 deletions
diff --git a/hicn-plugin/src/pg.h b/hicn-plugin/src/pg.h
deleted file mode 100644
index 84a391d43..000000000
--- a/hicn-plugin/src/pg.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2017-2020 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __HICN_PG_H__
-#define __HICN_PG_H__
-
-
-/**
- * @file pg.h
- *
- * The packet generator is made of two entities, a client and a server.
- * The client issues interests at high speed and the server satisfy each
- * interest it receives with the corresponding data.
- * The packet generator is made of three nodes:
- * - hicnpg-interest that receives packets from a packet generator interface
- * and manipulate them to generate interests based on the given configuration.
- * This node runs at the client side.
- * - hicnpg-data that receives data packets at the client side and counts them.
- * This is useful for statistics. The "show err" command will give the number
- * of interest issued and data received at the client side
- * - hicnpg-server that recevies and interest and replies with the corresponding
- * data. The data is generated from the interest switching the src and destination
- * address in the packet and appending a payload to the packet.
- *
- *
- * These three nodes are inserted in the vlib graph in the following manner:
- * - hicnpg-interest is added as a possible next node of the pg-input node. The packet
- * generator stream then specifies it as next node.
- * - hicnpg-data is added as next hop of the ip4/6-unicast node exploiting the corresponding
- * feature and it runs before the ip4/6-inacl node. In this way, every packet that is
- * received through an interface on which this feature is enabled is sent to this node.
- * - hicnpg-server is added as next hop of the ip4/6-unicast using the corresponding
- * feature and it runs before the ip4/6-inacl node. In this way, every packet that is
- * received through an interface on which this feature is enabled is sent to this node.
- *
- * An example of how to use the pg for hicn is available in the documentation.
- */
-
-/**
- * @brief hICN packet generator main for the pg client nodes
- *
- * It stores the configuration and make it availables to the pg client nodes.
- */
-typedef struct hicnpg_main_s
-{
- u32 index; //used to compute the sequence number
- fib_prefix_t *pgen_clt_hicn_name; //hICN name to put in the destiantion addess of an interest
- u32 index_ifaces; /* used to mimic interests coming from different consumer */
- u32 n_ifaces; /* The source address will change from interest to interest */
- /* index_ifaces is used to keep a global reference to the iface used */
- /* and it is incremented when we want to change "consumer" */
- /* n_ifaces identifies how many consumers to simulate */
- u32 max_seq_number; //Use to limit the max sequence number
- u32 n_flows; //Use to simulate multiple flows (a flow always have the same hICN name)
- ip46_address_t pgen_clt_src_addr; //Source addess base to use in the interest
-
- u16 interest_lifetime; // Interest lifetime
- u32 sw_if; //Interface where to send interest and receives data
-} hicnpg_main_t;
-
-extern hicnpg_main_t hicnpg_main;
-
-/**
- * @brief hICN packet generator main for the pg server node
- *
- * It stores the configuration and make it availables to the pg server node.
- */
-typedef struct hicnpg_server_main_s
-{
- u32 node_index;
- /* Arbitrary content */
- u32 pgen_svr_buffer_idx;
- fib_prefix_t *pgen_srv_hicn_name;
-} hicnpg_server_main_t;
-
-extern hicnpg_server_main_t hicnpg_server_main;
-
-extern vlib_node_registration_t hicn_pg_interest_node;
-extern vlib_node_registration_t hicn_pg_data_node;
-
-#endif // __HICN_PG_H__
-
-/*
- * fd.io coding-style-patch-verification: ON
- *
- * Local Variables:
- * eval: (c-set-style "gnu")
- * End:
- */