16435f9a0SRastislav Cernay /* SPDX-License-Identifier: BSD-3-Clause 26435f9a0SRastislav Cernay * Copyright(c) 2019 Cesnet 36435f9a0SRastislav Cernay * Copyright(c) 2019 Netcope Technologies, a.s. <info@netcope.com> 46435f9a0SRastislav Cernay * All rights reserved. 56435f9a0SRastislav Cernay */ 66435f9a0SRastislav Cernay 76435f9a0SRastislav Cernay #ifndef _NFB_RXMODE_H_ 86435f9a0SRastislav Cernay #define _NFB_RXMODE_H_ 96435f9a0SRastislav Cernay 106435f9a0SRastislav Cernay #include <nfb/nfb.h> 116435f9a0SRastislav Cernay #include <nfb/ndp.h> 126435f9a0SRastislav Cernay 136435f9a0SRastislav Cernay #include <rte_ethdev.h> 146435f9a0SRastislav Cernay 156435f9a0SRastislav Cernay /** 166435f9a0SRastislav Cernay * Getter for promiscuous mode 176435f9a0SRastislav Cernay * @param dev 186435f9a0SRastislav Cernay * Pointer to Ethernet device structure. 196435f9a0SRastislav Cernay * @return 1 if enabled 0 otherwise 206435f9a0SRastislav Cernay */ 216435f9a0SRastislav Cernay int 226435f9a0SRastislav Cernay nfb_eth_promiscuous_get(struct rte_eth_dev *dev); 236435f9a0SRastislav Cernay 246435f9a0SRastislav Cernay /** 256435f9a0SRastislav Cernay * DPDK callback to enable promiscuous mode. 266435f9a0SRastislav Cernay * 276435f9a0SRastislav Cernay * @param dev 286435f9a0SRastislav Cernay * Pointer to Ethernet device structure. 299039c812SAndrew Rybchenko * 309039c812SAndrew Rybchenko * @return always 0 316435f9a0SRastislav Cernay */ 329039c812SAndrew Rybchenko int 336435f9a0SRastislav Cernay nfb_eth_promiscuous_enable(struct rte_eth_dev *dev); 346435f9a0SRastislav Cernay 356435f9a0SRastislav Cernay /** 366435f9a0SRastislav Cernay * DPDK callback to disable promiscuous mode. 376435f9a0SRastislav Cernay * 386435f9a0SRastislav Cernay * @param dev 396435f9a0SRastislav Cernay * Pointer to Ethernet device structure. 409039c812SAndrew Rybchenko * 419039c812SAndrew Rybchenko * @return always 0 426435f9a0SRastislav Cernay */ 439039c812SAndrew Rybchenko int 446435f9a0SRastislav Cernay nfb_eth_promiscuous_disable(struct rte_eth_dev *dev); 456435f9a0SRastislav Cernay 466435f9a0SRastislav Cernay /** 476435f9a0SRastislav Cernay * Getter for allmulticast mode 486435f9a0SRastislav Cernay * @param dev 496435f9a0SRastislav Cernay * Pointer to Ethernet device structure. 506435f9a0SRastislav Cernay * @return 1 if enabled 0 otherwise 516435f9a0SRastislav Cernay */ 526435f9a0SRastislav Cernay int 536435f9a0SRastislav Cernay nfb_eth_allmulticast_get(struct rte_eth_dev *dev); 546435f9a0SRastislav Cernay 556435f9a0SRastislav Cernay /** 566435f9a0SRastislav Cernay * DPDK callback to enable allmulticast mode. 576435f9a0SRastislav Cernay * 586435f9a0SRastislav Cernay * @param dev 596435f9a0SRastislav Cernay * Pointer to Ethernet device structure. 60*ca041cd4SIvan Ilchenko * 61*ca041cd4SIvan Ilchenko * @return always 0 626435f9a0SRastislav Cernay */ 63*ca041cd4SIvan Ilchenko int 646435f9a0SRastislav Cernay nfb_eth_allmulticast_enable(struct rte_eth_dev *dev); 656435f9a0SRastislav Cernay 666435f9a0SRastislav Cernay /** 676435f9a0SRastislav Cernay * DPDK callback to disable allmulticast mode. 686435f9a0SRastislav Cernay * 696435f9a0SRastislav Cernay * @param dev 706435f9a0SRastislav Cernay * Pointer to Ethernet device structure. 71*ca041cd4SIvan Ilchenko * 72*ca041cd4SIvan Ilchenko * @return always 0 736435f9a0SRastislav Cernay */ 74*ca041cd4SIvan Ilchenko int 756435f9a0SRastislav Cernay nfb_eth_allmulticast_disable(struct rte_eth_dev *dev); 766435f9a0SRastislav Cernay 776435f9a0SRastislav Cernay #endif /* _NFB_RXMODE_H_ */ 78