dpdk/examples/ipsec-secgw/ipsec_worker.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: BSD-3-Clause
   2 * Copyright (C) 2020 Marvell International Ltd.
   3 */
   4#ifndef _IPSEC_WORKER_H_
   5#define _IPSEC_WORKER_H_
   6
   7#include "ipsec.h"
   8
   9enum pkt_type {
  10        PKT_TYPE_PLAIN_IPV4 = 1,
  11        PKT_TYPE_IPSEC_IPV4,
  12        PKT_TYPE_PLAIN_IPV6,
  13        PKT_TYPE_IPSEC_IPV6,
  14        PKT_TYPE_INVALID
  15};
  16
  17enum {
  18        PKT_DROPPED = 0,
  19        PKT_FORWARDED,
  20        PKT_POSTED      /* for lookaside case */
  21};
  22
  23struct route_table {
  24        struct rt_ctx *rt4_ctx;
  25        struct rt_ctx *rt6_ctx;
  26};
  27
  28/*
  29 * Conf required by event mode worker with tx internal port
  30 */
  31struct lcore_conf_ev_tx_int_port_wrkr {
  32        struct ipsec_ctx inbound;
  33        struct ipsec_ctx outbound;
  34        struct route_table rt;
  35} __rte_cache_aligned;
  36
  37void ipsec_poll_mode_worker(void);
  38
  39int ipsec_launch_one_lcore(void *args);
  40
  41#endif /* _IPSEC_WORKER_H_ */
  42