/* SPDX-License-Identifier: Apache-2.0
* Copyright (c) 2023 Cisco Systems, Inc.
*/
#include "vlib/pci/pci.h"
#include "vnet/error.h"
#include "vppinfra/error.h"
#include <vnet/vnet.h>
#include <vnet/dev/dev.h>
#include <dev_octeon/octeon.h>
u8 *
format_oct_port_status (u8 *s, va_list *args)
{
return s;
}
u8 *
format_oct_nix_rx_cqe_desc (u8 *s, va_list *args)
{
oct_nix_rx_cqe_desc_t *d = va_arg (*args, oct_nix_rx_cqe_desc_t *);
u32 indent = format_get_indent (s);
typeof (d->hdr) *h = &d->hdr;
typeof (d->parse.f) *p = &d->parse.f;
typeof (d->sg0) *sg0 = &d->sg0;
typeof (d->sg0) *sg1 = &d->sg1;
s = format (s, "hdr: cqe_type %u nude %u q %u tag 0x%x", h->cqe_type,
h->node, h->q, h->tag);
s = format (s, "\n%Uparse:", format_white_space, indent);
#define _(n, f) s = format (s, " " #n " " f, p->n)
_ (chan, "%u");
_ (errcode, "%u");
_ (errlev, "%u");
_ (desc_sizem1, "%u");
_ (pkt_lenm1, "%u");
_ (pkind, "%u");
s = format (s, "\n%U ", format_white_space, indent);
_ (nix_idx, "%u");
_ (color, "%u");
_ (flow_key_alg, "%u");
_ (eoh_ptr, "%u");
_ (match_id, "0x%x");
s = format (s, "\n%U ", format_white_space, indent);
_ (wqe_aura, "0x%x");
_ (pb_aura, "0x%x");
_ (imm_copy, "%u");
_ (express, "%u");
_ (wqwd, "%u");
_ (l2m, "%u");
_ (l2b, "%u");
_ (l3m, "%u");
_ (l3b, "%u");
#undef _
s = format (s, "\n%U ", format_white_space, indent);
s = format (s, "layer: a b c d e f g h");
s = format (s, "\n%U ", format_white_space, indent);
s = format (s, "type: %3u %3u %3u %3u %3u %3u %3u %3u", p->latype,
p->lbtype, p->lctype, p->ldtype, p->letype, p->lftype, p->lgtype,
p->lhtype);
s = format (s, "\n%U ", format_white_space, indent);
s = format (
s, "flags: 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x",
p->laflags, p->lbflags, p->lcflags, p->ldflags, p->leflags, p->lfflags,
p->lgflags, p->lhflags);
s = format (s, "\n%U ", format_white_space, indent);
s = format (s, "ptr: %3u %3u %3u %3u %3u %3u %3u %3u", p->laptr,
p->lbptr, p->lcptr, p->ldptr, p->leptr, p->lfptr, p->lgptr,