X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Focteontx%2Fbase%2Focteontx_bgx.c;h=e70255b114d94e1021cb88b31c5b4eeec37a1ff1;hb=e4373bf1b3f51715bf66e87c0134e2c217e4612c;hp=0e238826461c5ab5b226916793ab9d577bba506b;hpb=4f2c3c7b1da78bbb6270668e7a2b412863439b7f;p=dpdk.git diff --git a/drivers/net/octeontx/base/octeontx_bgx.c b/drivers/net/octeontx/base/octeontx_bgx.c index 0e23882646..e70255b114 100644 --- a/drivers/net/octeontx/base/octeontx_bgx.c +++ b/drivers/net/octeontx/base/octeontx_bgx.c @@ -243,3 +243,58 @@ octeontx_bgx_port_mac_set(int port, uint8_t *mac_addr) return res; } + +int +octeontx_bgx_port_mac_add(int port, uint8_t *mac_addr) +{ + struct octeontx_mbox_hdr hdr; + int resp = 0; + int len = 6; + int res = 0; + + hdr.coproc = OCTEONTX_BGX_COPROC; + hdr.msg = MBOX_BGX_PORT_ADD_MACADDR; + hdr.vfid = port; + + res = octeontx_mbox_send(&hdr, mac_addr, len, &resp, sizeof(int)); + if (res < 0) + return -EACCES; + + return res; +} + +int +octeontx_bgx_port_mac_del(int port, uint32_t index) +{ + struct octeontx_mbox_hdr hdr; + int len = sizeof(uint32_t); + int res = 0; + + hdr.coproc = OCTEONTX_BGX_COPROC; + hdr.msg = MBOX_BGX_PORT_DEL_MACADDR; + hdr.vfid = port; + + res = octeontx_mbox_send(&hdr, &index, len, NULL, 0); + if (res < 0) + return -EACCES; + + return res; +} + +int +octeontx_bgx_port_mac_entries_get(int port) +{ + struct octeontx_mbox_hdr hdr; + int resp = 6; + int res = 0; + + hdr.coproc = OCTEONTX_BGX_COPROC; + hdr.msg = MBOX_BGX_PORT_GET_MACADDR_ENTRIES; + hdr.vfid = port; + + res = octeontx_mbox_send(&hdr, NULL, 0, &resp, sizeof(int)); + if (res < 0) + return -EACCES; + + return resp; +}