?????????

?????????????????????????????????????????????????????????????????????????????????
 v2 ???????????????

---

### 1. strtoul() ???????????????

??????????????? [`sxe2_ethdev.c`](drivers/net/sxe2/sxe2_ethdev.c) ?????? 
devargs ?????????????????????????????????????????????????????????????????????

- [`sxe2_parse_u8()`](drivers/net/sxe2/sxe2_ethdev.c:1074) ??? ?????? `val > 
UINT8_MAX`?????? 1092 ??????????????? `-ERANGE`
- [`sxe2_parse_bool()`](drivers/net/sxe2/sxe2_ethdev.c:1103) ??? ?????? 
`bool_val != 0 && bool_val != 1`?????? 1121 ??????
- [`sxe2_parse_fnav_stat_type()`](drivers/net/sxe2/sxe2_ethdev.c:989) ??? 
?????????????????? `SXE2_FNAV_STAT_ENA_ALL`?????? 1007 ??????
- [`sxe2_parse_sched_layer_mode()`](drivers/net/sxe2/sxe2_ethdev.c:1018) ??? 
?????????????????? `SXE2_TXSCH_NODE_ADJ_LVL_MAX`?????? 1036 ??????
- [`sxe2_parse_high_performance_mode()`](drivers/net/sxe2/sxe2_ethdev.c:1046) 
??? ?????? `high_performance_mode != 1`?????? 1064 
??????????????????????????????

??????????????? `strtoul()` ????????? `errno = 0`??????????????? `errno != 
0`??????????????? `ERANGE`???????????????????????????????????????????????????v2 
????????????????????? `strtoul()` ???????????????????????? `ULONG_MAX` 
???????????????????????????

---

### 2. ?????????????????? testpmd ??????

**?????????** ???????????????????????? testpmd ?????????????????????v2 ?????????

- ??? `sxe2_testpmd_lib.c` ??????????????? `sxe2_testpmd.c`????????? 
meson.build ?????? `testpmd_sources` ???????????? i40e???ixgbe???mlx5???bnxt 
???????????????????????????
- **???????????? 14 ??? `RTE_EXPORT_EXPERIMENTAL_SYMBOL` ?????????** 
???????????????????????? API???
- 
??????????????????`g_tx_session[][]`???`g_rx_session[][]`???`g_esp_header_offset[]`???`g_sess_pool`?????????
 testpmd ????????????
- ?????????????????????????????? `drivers/net/sxe2/` 
??????????????????????????????

---

### 3. ????????? testpmd ?????????????????????

**??????????????????????????????**

- **"sxe2 flow rule dump"** ??? ??????????????? `rte_flow_dev_dump` 
op????????????????????? `flow dump <port_id> all` 
????????????????????????????????????????????????
- **"sxe2 udp_tunnel_port add|rm"** ??? ??????????????? 
`rte_eth_dev_udp_tunnel_port_add/rm`????????? `port config <port_id> 
udp_tunnel_port add|rm` ???????????????????????????????????????????????????
- **"sxe2 show stats"** ??? ??????????????? xstats 
?????????????????????????????????????????? `show port xstats 
<port_id>`??????????????????????????????

---

### 4. IPsec SA ????????????

**?????????** ????????????

- ??? testpmd ??????????????? 9 ??????????????? ipsec SA ???????????????
- ??????????????? `examples/ipsec-secgw` ???????????????????????? inline crypto 
??????????????????????????? inline-crypto PMD ?????????
- ?????????????????? testpmd ??????????????? SA 
??????????????????????????????????????? testpmd ???????????? `rte_security` 
?????????????????????????????????

---

### 5. ?????? devargs

?????? 7 ??? devargs ????????????????????? 
[`doc/guides/nics/sxe2.rst`](doc/guides/nics/sxe2.rst)???Runtime Configuration 
??????????????????????????? `RTE_PMD_REGISTER_PARAM_STRING` 
????????????????????????????????????????????? devargs ????????????

**flow-duplicate-pattern** ??? ???????????? switch engine ????????????????????? 
flow rule?????????????????? `rte_flow` 
???????????????????????????????????????????????????switch engine 
?????????????????????(a) ???????????????????????????????????????(b) ?????? 
per-rule ??????????????????????????????????????????1 = 
???????????????????????????????????????????????? API ???????????? switch 
??????????????????????????????

**fnav-stat-type** ??? 
??????????????????????????????????????????????????????????????? / 
??????????????? / 
?????????????????????????????????????????????????????????????????????????????????????????????
 API ??????????????????????????????????????????

**drv-sw-stats** ??? 
??????????????????????????????????????????????????????????????????????????? Rx 
?????????????????????????????????????????? workaround???per-packet 
????????????????????????????????? devarg 
?????????????????????????????????????????????????????? xstats 
?????????`rx_sw_unicast_packets` ?????????

**sched-layer-mode** ??? ???????????? SKU 
???????????????????????????????????????0-3???????????????????????????????????????????????????`rte_tm`
 API ????????????????????????????????????????????????????????????

**high-performance-mode** ??? Tx 
?????????????????????????????????????????????????????????????????????????????? 
TM ???????????????????????????????????????????????????????????????????????????

**rx-low-latency** ??? Rx ??????????????????????????? devarg 
???????????????????????????????????? mlx5 ??? `rxqs_min_bth`??????

**function-flow-direct** ??? ?????? flow rule ??? PF/VF 
??????????????????`rte_flow` ???????????????????????? per-rule ?????????

---

### v2 ????????????

1. devarg ???????????? `strtoul()` ?????????????????? `ULONG_MAX` ??????
2. testpmd ?????????????????????????????? 14 ??? 
`RTE_EXPORT_EXPERIMENTAL_SYMBOL`
3. ?????? `rte_flow_dev_dump` op????????? "sxe2 flow rule dump" ??????
4. ?????? "sxe2 udp_tunnel_port add|rm" ??????????????????
5. ?????? xstats ??????????????? "sxe2 show stats" ??????
6. ?????? ipsec SA ?????? testpmd ??????
7. ?????? 7 ??? devargs?????? sxe2.rst ??????????????????????????????
8. ????????? devargs ?????? `RTE_PMD_REGISTER_PARAM_STRING`

????????????????????? v2?????????????????????????????????

?????????
[??????]

Reply via email to