From patchwork Sun Oct 8 12:44:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 29898 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 49DEB1B1C7; Sun, 8 Oct 2017 14:45:37 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0055.outbound.protection.outlook.com [104.47.36.55]) by dpdk.org (Postfix) with ESMTP id 0C6111B198 for ; Sun, 8 Oct 2017 14:45:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=jMOdL1vnB5KbwiuqUijugL3QUo8nhsaYEuQCe+p1k8Y=; b=IjbuGGro5lrK3jTrU7AlhrK3gx5h5UwT85EPImXYn0Isp7kTRbDbk4RAER5fyGxWmz4sYThFUC1rn4MmLA7DFH61OYUjXr0tKiV2wxmuWZvQ2TzUBAWjEcCSkwBA00iaVt3NvaoLdrXCJqhK690Ysn76QUbS4q3zI3YrOrwmouY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from localhost.localdomain (14.140.2.178) by BN6PR07MB3089.namprd07.prod.outlook.com (10.172.105.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Sun, 8 Oct 2017 12:45:31 +0000 From: Santosh Shukla To: dev@dpdk.org Cc: ferruh.yigit@intel.com, jerin.jacob@caviumnetworks.com, Santosh Shukla Date: Sun, 8 Oct 2017 18:14:09 +0530 Message-Id: <20171008124430.1866-6-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171008124430.1866-1-santosh.shukla@caviumnetworks.com> References: <20170831145436.5397-1-jerin.jacob@caviumnetworks.com> <20171008124430.1866-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: MA1PR01CA0113.INDPRD01.PROD.OUTLOOK.COM (10.174.56.157) To BN6PR07MB3089.namprd07.prod.outlook.com (10.172.105.7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: eed82b18-6d6e-4bd7-9118-08d50e4a7702 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:BN6PR07MB3089; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 3:cxEbA3KMQAp0MOeK4aLpYVLybQdngBmizxGkozMgVYzE1h//hhYQBv0NiazvAbMIsIL4bkKu9hNZ4NL1+XS1LG7ge4x1uOirdMaNN+w/xaXlUoL1nOir8xyPthhVynKtosknKUPdk6RnTeoW5SGGEuNHgMFx1uSVGBIarZSJsEZLAJUjRFuHO4YQCSk/gnB59amfJFpJf+3iJTLDWHV602999rYBBvrt2sj52A7EtRfQTwy5ttgX0p55G1Lb6iLl; 25:D5hxGeKYdCf3i9I6Iv5S593b54UwmU5ThXJK9LQLum+i9RQeZ6oTcw7fBxr7fnGwqgTjec82clnQEUYUFcj88WcgNg9fCgzNjZSb20+MYNq5uJnpQTA3Cf0UuR0LZhOibbl36JLYgNnUJZk5jofwhfw6CnU4PCK9fwHt88hiarL/hNgNqzKVT4dRBWj8/ioPG40SOubKcSFOwldyHOU6oxhNzM/alkGgskAPX6K2JBRXcw94I/asEewcD+FZkxBN4aDZbrLXswmw3vOM7Y4AqrrwgQqYZ6Y1sPiBZwguG530hciFw59ke4q8WNFnbCmLihJCdrKc2BWkCuQyLQAaQA==; 31:N0u8Y+tuVMcDrV2qE1Iv9Id8aGk+JtxKdtclb8EFgSL4EVcrvk60cysUV+mg0ghwGLUb5T7jjhM/LfRYpbeA+/ZtyF/Q+rqLwy/75mVWDu0wraFnVPaslYC5hQzW3esHsdGouZoGcGsc6SSEDDP7iK2xPimlgzVfVb/xThHBkaL5t6e6xXl2I33H8InNPXqu8N1yTsuWx8clDxpdehhenhe0hc0oYMdNXncHPL1o+JA= X-MS-TrafficTypeDiagnostic: BN6PR07MB3089: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 20:/7s68ghqaLcGD6OsfppLx9BkdeqbdeM8PMm0qF3jIN8Rs6QUw7PawGHAyjGwHmQ+kbsx1fu70YCEd3Q8cctS4jmg9aJmrahZPZw/MJzYDLNtSzEHK0ZUzJ8/HcC8JnAPCZ10ondpZPo2h8EmIPNrmZxwfjrn+hwSW5xq/RkP2taf3nv2wN2brCXbnqIB8zR+90MhBuDBzDe4YMIwLWEL7xZd3OFxLJ7hwmFurvr1u4+WjmtNuBpmDP3HlDh/8aot4O42TVYsShVdflh9U63fwLTKUlDj7rJDVwrjv2naSR1Afjv1klJxzqB1HmOEVkf2122j2d+D6R9Q68gPevYqM7P/pKag3YwbBsSAY/a42ozqIHUvWZCK7PYFM9zNE5XnMdSbXZPJRovGNT8VVx/O9ydNTtpZqH0R29Y8bx3A3NIrS9NmnlaSMXbInfyPD8TzqNdaOaMeCaN7NwEc6XmcQOVUGks01Xyh17zxUHqfjNgmzL9vYvjMm01KTofneNpG3JUD2OOg4MfIunH0wU3t/fJqc2NAHvYVvl33PhO21qwtTGMaQyxHnneRAIxM7EAYYyc+G2D79tnvQlgf+11y3HOLfM4asdKXgbyWfA53Vkc=; 4:8LX2F8sJ6vkqd+a4suv7KgfmxiTRWJx7p84mNZJUY7bhW05IAYIp+pO0Eoey0qBVCiF8Y9/ARyI0EPfgI4//VQaGZrqkuOMgOVYdJS7/B5DzbyD0JlFNO+3LSgY8b9itxgssg6RXJxU97fXqt4kDJUijHLbzmfMsDN3S8qCeaTmUiUZANVABUhYbuySF12ccpRAaS+cHQKGiyGUCaur2oGZ8feX7W/rn+ElqmHytNTwBnH7qz+o/ehlBiWWh2/eo X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(100000703101)(100105400095)(6041248)(20161123562025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR07MB3089; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR07MB3089; X-Forefront-PRVS: 0454444834 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(376002)(346002)(199003)(189002)(6916009)(42882006)(81166006)(575784001)(2950100002)(81156014)(8936002)(50226002)(6486002)(16526018)(6666003)(189998001)(16586007)(316002)(6116002)(1076002)(6506006)(3846002)(7736002)(305945005)(8676002)(106356001)(105586002)(5009440100003)(53936002)(4326008)(66066001)(107886003)(47776003)(2906002)(5660300001)(6512007)(76176999)(5003940100001)(50986999)(97736004)(25786009)(101416001)(68736007)(48376002)(50466002)(478600001)(72206003)(2351001)(2361001)(33646002)(36756003)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3089; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB3089; 23:uT8pt0wcFbWNl5fzUY4HHp+Jar24VFz7MohQiDufd?= 86GzAA57hU+KsCg7WurTdP0gXFz8shuCYZeB1yoxgUsfEwlACcY0TOjF7tTFd2DlviLIQJwfM+bDRxBoGcIXyl24PnzoH7oCxeCtyE9zi7R690mufd/WMLwRbA18AzkfeXOxepTOgMR7qMsv+czF4IbrszyWB6izRi2nOVFvR/uYpvhgfueamc8/+s9fBY/eheDVnbMDK4voWfqdkrafjnvAPvLRmR3UX3lOM5S0Zo23AJwsHvykoFixC92/BdqlloGVpESOssoNGwJVpZUfo5Bpizx9FRxAJ/L0VKKfO4PRL9YxrsSfN6n2FZz37C9kBis3RkzV7Rhwp6iDroeCMWwpje0QZMZVrOfJop9LgSDzMwPovPrDh+MlqtJwJTC7LIKCMZiY7Dw56dP/MvtYcIjOjSyHk4q9Sc7w23vs8xpry9FRTIPNIycPQarWbFgfNjSiopnxWmSYOgtwOLdMsrimQwJ0gO0jGp7Zshzj8Lqd80jwZ+pazYFhAHixoasMlhqs8jt+HBmvPg6MXfAAGnJtgoFzJqOyaNdHhOPdUZ8gqjwpGCi3mSlecp1jJ8Vu0VMkaE8PiylppV0Pcm64XKl1m6XHZPtG8LzX7qIrq6tmthi4Stx1KNtUvVXdO9/6NzRmhSNd0u9wa232TdxX4pV9dTYN9ak0rSeB8LPpplBzjAAlvHlC6jGipFMpwTn+1vZCefccaBNVFd9A3vlFJLRtqZ/5H65qN8UkSMnbf8qQ30Q+A6PwqYafjQO+OcmPay0qTSATomjkusa2pwAY6e6eA8kgZeBdwB9CD1R4iJUNhXhHOxjER9ai9+s//Uqb/I+B3gWC96XtgWifC4M/xtqnOft4OdoKQsoLs1vy+G7y3ONzhLLB6yF7VwryXBlp2Ivoxo4MHwZvLY8evitYSWIXaW70jxkHIvWR6+wFamg8kz54dqOpMymqqjjZeANPQoD5Z59uyKc+Kj20o8w7fXr401hTlqbbbpUeET37tS9p2bRaVnET0EENC0PCzGWzSEm9YuwS3Tj0Is04UxZ9K/sqV/A0QKOpkQNDRuFV5ZnJmAj0K084tDXF98g65eu8c3BAkauVwoPhj8Iy24tQl2Y0KdSZpyp2SSc5mkjjtgciMy8wfgh9U7Gk7rBwxnIg4AvlbS099yno6agI4F1otkZDooSPKwD+yGrhmh92ahReCiNbRnMvQY0EVJ4jroFkIL7tMDkO2gAvSxjF8Jd0n7+ X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3089; 6:940oCs5t+fObwW8d/cWmM0/VxzwzvQsWnVsDbUt++hHDhHPo2NrCUiqcjvtLn87RIyZuwt7PU3/IBrvJmJcOECtBznZPQG1xS9sohNJpCKIBuzMTSthlYLqhn14C344zT4zypwEHOY0w5BlUz2Sc6X0Dpqkte1F3xZSTj3JOkToaw0TVwPDKFVrLSsg5y3zv11vT3/S+c1Xvs+ckblg//Fe8CHy3arcyhdBJbTvnjXx038K7CoQDMS0LkFjMGLsKinU4OrqFWMr1qbrb5niorO50TEq+mqznFHNK9pbEzmjiNhn96qn0Tjai/R2u8jqCzvdTCrwd8vL7rTWe3+DTCQ==; 5:VBcSyUQhnSj9GurvIRVBNTO0Tp7oFrkxBGy/GgSS0wdmZi5Tdf1HENHCdH3uHxUC/n48+zgS4qoERuKVqZXy2QIV/NY0m7QMlAzTWfjZQysoMX4N8nPVZ5KXJrx46K/88lh1idtwq6nyhBJkW5zsmQ==; 24:Rgooca0DIJd44HHmRbRXrzdmjME790YDwNcViROFA8nmysfxC8mW91P6nqaK0h3kTs02w4nJiIUe2aOMTQb0HJgTLTCwQAbB5DKoXEw/zAk=; 7:yarSDJpjseBcQEqzIk9cyNCZCqi6KAc7m3yHuaP5EeGVaFknLFuQb6BOIDWkFCmjxIIBrwyTg0/PMVE24Pf46HBK2mcvDNiD8ZipdwBd05RDpxq+LpIrqHt3INCSBR5qE2UoBIFnoojSzoZb6dS8b9/Gua7QxewQyBTy4MNO9GiiC1imVMlQQbJvU0v4g8IhdJcLD1Wm3RWIAOfeDedoy03mYQ6YN6VX7uA8S76xevM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2017 12:45:31.0612 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3089 Subject: [dpdk-dev] [PATCH v2 05/26] net/octeontx/base: add remaining BGX operations X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Jerin Jacob Adding remaining BGX operations like, link status, statistics, promiscuous configuration etc. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla Signed-off-by: Santosh Shukla --- drivers/net/octeontx/base/octeontx_bgx.c | 154 +++++++++++++++++++++++++++++++ drivers/net/octeontx/base/octeontx_bgx.h | 76 +++++++++++++++ 2 files changed, 230 insertions(+) diff --git a/drivers/net/octeontx/base/octeontx_bgx.c b/drivers/net/octeontx/base/octeontx_bgx.c index 2e817292e..c2d0d4331 100644 --- a/drivers/net/octeontx/base/octeontx_bgx.c +++ b/drivers/net/octeontx/base/octeontx_bgx.c @@ -117,3 +117,157 @@ octeontx_bgx_port_stop(int port) return res; } + +int +octeontx_bgx_port_get_config(int port, octeontx_mbox_bgx_port_conf_t *conf) +{ + struct octeontx_mbox_hdr hdr; + octeontx_mbox_bgx_port_conf_t bgx_conf; + int len = sizeof(octeontx_mbox_bgx_port_conf_t); + int res; + + hdr.coproc = OCTEONTX_BGX_COPROC; + hdr.msg = MBOX_BGX_PORT_GET_CONFIG; + hdr.vfid = port; + + memset(&bgx_conf, 0, sizeof(octeontx_mbox_bgx_port_conf_t)); + res = octeontx_ssovf_mbox_send(&hdr, NULL, 0, &bgx_conf, len); + if (res < 0) + return -EACCES; + + conf->enable = bgx_conf.enable; + conf->promisc = bgx_conf.promisc; + conf->bpen = bgx_conf.bpen; + conf->node = bgx_conf.node; + conf->base_chan = bgx_conf.base_chan; + conf->num_chans = bgx_conf.num_chans; + conf->mtu = bgx_conf.mtu; + conf->bgx = bgx_conf.bgx; + conf->lmac = bgx_conf.lmac; + conf->mode = bgx_conf.mode; + conf->pkind = bgx_conf.pkind; + memcpy(conf->macaddr, bgx_conf.macaddr, 6); + + return res; +} + +int +octeontx_bgx_port_status(int port, octeontx_mbox_bgx_port_status_t *stat) +{ + struct octeontx_mbox_hdr hdr; + octeontx_mbox_bgx_port_status_t bgx_stat; + int len = sizeof(octeontx_mbox_bgx_port_status_t); + int res; + + hdr.coproc = OCTEONTX_BGX_COPROC; + hdr.msg = MBOX_BGX_PORT_GET_STATUS; + hdr.vfid = port; + + res = octeontx_ssovf_mbox_send(&hdr, NULL, 0, &bgx_stat, len); + if (res < 0) + return -EACCES; + + stat->link_up = bgx_stat.link_up; + + return res; +} + +int +octeontx_bgx_port_stats(int port, octeontx_mbox_bgx_port_stats_t *stats) +{ + struct octeontx_mbox_hdr hdr; + octeontx_mbox_bgx_port_stats_t bgx_stats; + int len = sizeof(octeontx_mbox_bgx_port_stats_t); + int res; + + hdr.coproc = OCTEONTX_BGX_COPROC; + hdr.msg = MBOX_BGX_PORT_GET_STATS; + hdr.vfid = port; + + res = octeontx_ssovf_mbox_send(&hdr, NULL, 0, &bgx_stats, len); + if (res < 0) + return -EACCES; + + stats->rx_packets = bgx_stats.rx_packets; + stats->rx_bytes = bgx_stats.rx_bytes; + stats->rx_dropped = bgx_stats.rx_dropped; + stats->rx_errors = bgx_stats.rx_errors; + stats->tx_packets = bgx_stats.tx_packets; + stats->tx_bytes = bgx_stats.tx_bytes; + stats->tx_dropped = bgx_stats.tx_dropped; + stats->tx_errors = bgx_stats.tx_errors; + return res; +} + +int +octeontx_bgx_port_stats_clr(int port) +{ + struct octeontx_mbox_hdr hdr; + int res; + + hdr.coproc = OCTEONTX_BGX_COPROC; + hdr.msg = MBOX_BGX_PORT_CLR_STATS; + hdr.vfid = port; + + res = octeontx_ssovf_mbox_send(&hdr, NULL, 0, NULL, 0); + if (res < 0) + return -EACCES; + + return res; +} + +int +octeontx_bgx_port_link_status(int port) +{ + struct octeontx_mbox_hdr hdr; + uint8_t link; + int len = sizeof(uint8_t); + int res; + + hdr.coproc = OCTEONTX_BGX_COPROC; + hdr.msg = MBOX_BGX_PORT_GET_LINK_STATUS; + hdr.vfid = port; + + res = octeontx_ssovf_mbox_send(&hdr, NULL, 0, &link, len); + if (res < 0) + return -EACCES; + + return link; +} + +int +octeontx_bgx_port_promisc_set(int port, int en) +{ + struct octeontx_mbox_hdr hdr; + uint8_t prom; + int res; + + hdr.coproc = OCTEONTX_BGX_COPROC; + hdr.msg = MBOX_BGX_PORT_SET_PROMISC; + hdr.vfid = port; + prom = en ? 1 : 0; + + res = octeontx_ssovf_mbox_send(&hdr, &prom, sizeof(prom), NULL, 0); + if (res < 0) + return -EACCES; + + return res; +} + +int +octeontx_bgx_port_mac_set(int port, uint8_t *mac_addr) +{ + struct octeontx_mbox_hdr hdr; + int len = 6; + int res = 0; + + hdr.coproc = OCTEONTX_BGX_COPROC; + hdr.msg = MBOX_BGX_PORT_SET_MACADDR; + hdr.vfid = port; + + res = octeontx_ssovf_mbox_send(&hdr, mac_addr, len, NULL, 0); + if (res < 0) + return -EACCES; + + return res; +} diff --git a/drivers/net/octeontx/base/octeontx_bgx.h b/drivers/net/octeontx/base/octeontx_bgx.h index 09810ac4b..02aa7e6f4 100644 --- a/drivers/net/octeontx/base/octeontx_bgx.h +++ b/drivers/net/octeontx/base/octeontx_bgx.h @@ -45,6 +45,16 @@ #define MBOX_BGX_PORT_CLOSE 1 #define MBOX_BGX_PORT_START 2 #define MBOX_BGX_PORT_STOP 3 +#define MBOX_BGX_PORT_GET_CONFIG 4 +#define MBOX_BGX_PORT_GET_STATUS 5 +#define MBOX_BGX_PORT_GET_STATS 6 +#define MBOX_BGX_PORT_CLR_STATS 7 +#define MBOX_BGX_PORT_GET_LINK_STATUS 8 +#define MBOX_BGX_PORT_SET_PROMISC 9 +#define MBOX_BGX_PORT_SET_MACADDR 10 +#define MBOX_BGX_PORT_SET_BP 11 +#define MBOX_BGX_PORT_SET_BCAST 12 +#define MBOX_BGX_PORT_SET_MCAST 13 /* BGX port configuration parameters: */ typedef struct octeontx_mbox_bgx_port_conf { @@ -65,10 +75,76 @@ typedef struct octeontx_mbox_bgx_port_conf { uint8_t pkind; } octeontx_mbox_bgx_port_conf_t; +/* BGX port status: */ +typedef struct octeontx_mbox_bgx_port_status { + uint8_t link_up; + uint8_t bp; +} octeontx_mbox_bgx_port_status_t; + +/* BGX port statistics: */ +typedef struct octeontx_mbox_bgx_port_stats { + uint64_t rx_packets; + uint64_t tx_packets; + uint64_t rx_bytes; + uint64_t tx_bytes; + uint64_t rx_errors; + uint64_t tx_errors; + uint64_t rx_dropped; + uint64_t tx_dropped; + uint64_t multicast; + uint64_t collisions; + + uint64_t rx_length_errors; + uint64_t rx_over_errors; + uint64_t rx_crc_errors; + uint64_t rx_frame_errors; + uint64_t rx_fifo_errors; + uint64_t rx_missed_errors; + + /* Detailed transmit errors. */ + uint64_t tx_aborted_errors; + uint64_t tx_carrier_errors; + uint64_t tx_fifo_errors; + uint64_t tx_heartbeat_errors; + uint64_t tx_window_errors; + + /* Extended statistics based on RFC2819. */ + uint64_t rx_1_to_64_packets; + uint64_t rx_65_to_127_packets; + uint64_t rx_128_to_255_packets; + uint64_t rx_256_to_511_packets; + uint64_t rx_512_to_1023_packets; + uint64_t rx_1024_to_1522_packets; + uint64_t rx_1523_to_max_packets; + + uint64_t tx_1_to_64_packets; + uint64_t tx_65_to_127_packets; + uint64_t tx_128_to_255_packets; + uint64_t tx_256_to_511_packets; + uint64_t tx_512_to_1023_packets; + uint64_t tx_1024_to_1522_packets; + uint64_t tx_1523_to_max_packets; + + uint64_t tx_multicast_packets; + uint64_t rx_broadcast_packets; + uint64_t tx_broadcast_packets; + uint64_t rx_undersized_errors; + uint64_t rx_oversize_errors; + uint64_t rx_fragmented_errors; + uint64_t rx_jabber_errors; +} octeontx_mbox_bgx_port_stats_t; + int octeontx_bgx_port_open(int port, octeontx_mbox_bgx_port_conf_t *conf); int octeontx_bgx_port_close(int port); int octeontx_bgx_port_start(int port); int octeontx_bgx_port_stop(int port); +int octeontx_bgx_port_get_config(int port, octeontx_mbox_bgx_port_conf_t *conf); +int octeontx_bgx_port_status(int port, octeontx_mbox_bgx_port_status_t *stat); +int octeontx_bgx_port_stats(int port, octeontx_mbox_bgx_port_stats_t *stats); +int octeontx_bgx_port_stats_clr(int port); +int octeontx_bgx_port_link_status(int port); +int octeontx_bgx_port_promisc_set(int port, int en); +int octeontx_bgx_port_mac_set(int port, uint8_t *mac_addr); #endif /* __OCTEONTX_BGX_H__ */