Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ycai
simbricks
Commits
89eaa309
Commit
89eaa309
authored
Sep 09, 2020
by
Antoine Kaufmann
Browse files
i40e: caps and switch config changes to make dpdk happy
parent
73ef553b
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
5 deletions
+21
-5
i40e_bm/i40e_adminq.cc
i40e_bm/i40e_adminq.cc
+20
-5
i40e_bm/i40e_bm.h
i40e_bm/i40e_bm.h
+1
-0
No files found.
i40e_bm/i40e_adminq.cc
View file @
89eaa309
...
@@ -106,6 +106,8 @@ void queue_admin_tx::cmd_run(void *desc, uint32_t idx, void *data)
...
@@ -106,6 +106,8 @@ void queue_admin_tx::cmd_run(void *desc, uint32_t idx, void *data)
{
I40E_AQ_CAP_ID_RXQ
,
1
,
0
,
dev
.
NUM_QUEUES
,
0
,
0
,
{}
},
{
I40E_AQ_CAP_ID_RXQ
,
1
,
0
,
dev
.
NUM_QUEUES
,
0
,
0
,
{}
},
{
I40E_AQ_CAP_ID_TXQ
,
1
,
0
,
dev
.
NUM_QUEUES
,
0
,
0
,
{}
},
{
I40E_AQ_CAP_ID_TXQ
,
1
,
0
,
dev
.
NUM_QUEUES
,
0
,
0
,
{}
},
{
I40E_AQ_CAP_ID_MSIX
,
1
,
0
,
dev
.
NUM_PFINTS
,
0
,
0
,
{}
},
{
I40E_AQ_CAP_ID_MSIX
,
1
,
0
,
dev
.
NUM_PFINTS
,
0
,
0
,
{}
},
{
I40E_AQ_CAP_ID_VSI
,
1
,
0
,
dev
.
NUM_VSIS
,
0
,
0
,
{}
},
{
I40E_AQ_CAP_ID_DCB
,
1
,
0
,
1
,
1
,
1
,
{}
},
};
};
size_t
num_caps
=
sizeof
(
caps
)
/
sizeof
(
caps
[
0
]);
size_t
num_caps
=
sizeof
(
caps
)
/
sizeof
(
caps
[
0
]);
...
@@ -162,18 +164,31 @@ void queue_admin_tx::cmd_run(void *desc, uint32_t idx, void *data)
...
@@ -162,18 +164,31 @@ void queue_admin_tx::cmd_run(void *desc, uint32_t idx, void *data)
struct
i40e_aqc_switch_seid
*
sw
=
reinterpret_cast
<
struct
i40e_aqc_switch_seid
*
sw
=
reinterpret_cast
<
struct
i40e_aqc_switch_seid
*>
(
d
->
params
.
raw
);
struct
i40e_aqc_switch_seid
*>
(
d
->
params
.
raw
);
struct
i40e_aqc_get_switch_config_header_resp
hr
;
struct
i40e_aqc_get_switch_config_header_resp
hr
;
/* Not sure why dpdk doesn't like this?
struct i40e_aqc_switch_config_element_resp els[] = {
struct i40e_aqc_switch_config_element_resp els[] = {
// M
A
C
//
E
MC
{
I40E_AQ_SW_ELEM_TYPE_
MAC
,
I40E_AQ_SW_ELEM_REV_1
,
1
,
0
,
0
,
{},
{ I40E_AQ_SW_ELEM_TYPE_
EMP
, I40E_AQ_SW_ELEM_REV_1, 1,
513
, 0, {},
I40E_AQ_CONN_TYPE_REGULAR, 0, 0},
I40E_AQ_CONN_TYPE_REGULAR, 0, 0},
//
VSI
//
MAC
{
I40E_AQ_SW_ELEM_TYPE_
VSI
,
I40E_AQ_SW_ELEM_REV_1
,
2
,
1
,
3
,
{},
{ I40E_AQ_SW_ELEM_TYPE_
MAC
, I40E_AQ_SW_ELEM_REV_1, 2,
0
,
0
, {},
I40E_AQ_CONN_TYPE_REGULAR, 0, 0},
I40E_AQ_CONN_TYPE_REGULAR, 0, 0},
// PF
// PF
{
I40E_AQ_SW_ELEM_TYPE_PF
,
I40E_AQ_SW_ELEM_REV_1
,
3
,
2
,
0
,
{},
{ I40E_AQ_SW_ELEM_TYPE_PF, I40E_AQ_SW_ELEM_REV_1, 16, 512, 0, {},
I40E_AQ_CONN_TYPE_REGULAR, 0, 0},
// VSI PF
{ I40E_AQ_SW_ELEM_TYPE_VSI, I40E_AQ_SW_ELEM_REV_1, 512, 2, 16, {},
I40E_AQ_CONN_TYPE_REGULAR, 0, 0},
// VSI PF
{ I40E_AQ_SW_ELEM_TYPE_VSI, I40E_AQ_SW_ELEM_REV_1, 513, 2, 1, {},
I40E_AQ_CONN_TYPE_REGULAR, 0, 0},
};*/
struct
i40e_aqc_switch_config_element_resp
els
[]
=
{
// VSI PF
{
I40E_AQ_SW_ELEM_TYPE_VSI
,
I40E_AQ_SW_ELEM_REV_1
,
512
,
2
,
16
,
{},
I40E_AQ_CONN_TYPE_REGULAR
,
0
,
0
},
I40E_AQ_CONN_TYPE_REGULAR
,
0
,
0
},
};
};
// find start idx
// find start idx
size_t
cnt
=
sizeof
(
els
)
/
sizeof
(
els
[
0
]);
size_t
cnt
=
sizeof
(
els
)
/
sizeof
(
els
[
0
]);
size_t
first
=
0
;
size_t
first
=
0
;
...
...
i40e_bm/i40e_bm.h
View file @
89eaa309
...
@@ -310,6 +310,7 @@ protected:
...
@@ -310,6 +310,7 @@ protected:
static
const
uint32_t
NUM_QUEUES
=
1536
;
static
const
uint32_t
NUM_QUEUES
=
1536
;
static
const
uint32_t
NUM_PFINTS
=
512
;
static
const
uint32_t
NUM_PFINTS
=
512
;
static
const
uint32_t
NUM_VSIS
=
384
;
static
const
uint16_t
MAX_MTU
=
2048
;
static
const
uint16_t
MAX_MTU
=
2048
;
struct
i40e_regs
{
struct
i40e_regs
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment