root/drivers/net/ethernet/mellanox/mlx5/core/diag/en_tc_tracepoint.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. put_ids_to_array
  2. parse_action

   1 // SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
   2 /* Copyright (c) 2019 Mellanox Technologies. */
   3 
   4 #define CREATE_TRACE_POINTS
   5 #include "en_tc_tracepoint.h"
   6 
   7 void put_ids_to_array(int *ids,
   8                       const struct flow_action_entry *entries,
   9                       unsigned int num)
  10 {
  11         unsigned int i;
  12 
  13         for (i = 0; i < num; i++)
  14                 ids[i] = entries[i].id;
  15 }
  16 
  17 #define NAME_SIZE 16
  18 
  19 static const char FLOWACT2STR[NUM_FLOW_ACTIONS][NAME_SIZE] = {
  20         [FLOW_ACTION_ACCEPT]    = "ACCEPT",
  21         [FLOW_ACTION_DROP]      = "DROP",
  22         [FLOW_ACTION_TRAP]      = "TRAP",
  23         [FLOW_ACTION_GOTO]      = "GOTO",
  24         [FLOW_ACTION_REDIRECT]  = "REDIRECT",
  25         [FLOW_ACTION_MIRRED]    = "MIRRED",
  26         [FLOW_ACTION_VLAN_PUSH] = "VLAN_PUSH",
  27         [FLOW_ACTION_VLAN_POP]  = "VLAN_POP",
  28         [FLOW_ACTION_VLAN_MANGLE]       = "VLAN_MANGLE",
  29         [FLOW_ACTION_TUNNEL_ENCAP]      = "TUNNEL_ENCAP",
  30         [FLOW_ACTION_TUNNEL_DECAP]      = "TUNNEL_DECAP",
  31         [FLOW_ACTION_MANGLE]    = "MANGLE",
  32         [FLOW_ACTION_ADD]       = "ADD",
  33         [FLOW_ACTION_CSUM]      = "CSUM",
  34         [FLOW_ACTION_MARK]      = "MARK",
  35         [FLOW_ACTION_WAKE]      = "WAKE",
  36         [FLOW_ACTION_QUEUE]     = "QUEUE",
  37         [FLOW_ACTION_SAMPLE]    = "SAMPLE",
  38         [FLOW_ACTION_POLICE]    = "POLICE",
  39         [FLOW_ACTION_CT]        = "CT",
  40 };
  41 
  42 const char *parse_action(struct trace_seq *p,
  43                          int *ids,
  44                          unsigned int num)
  45 {
  46         const char *ret = trace_seq_buffer_ptr(p);
  47         unsigned int i;
  48 
  49         for (i = 0; i < num; i++) {
  50                 if (ids[i] < NUM_FLOW_ACTIONS)
  51                         trace_seq_printf(p, "%s ", FLOWACT2STR[ids[i]]);
  52                 else
  53                         trace_seq_printf(p, "UNKNOWN ");
  54         }
  55 
  56         trace_seq_putc(p, 0);
  57         return ret;
  58 }

/* [<][>][^][v][top][bottom][index][help] */