MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sfc_dp_mport_register

Function sfc_dp_mport_register

dpdk/drivers/net/sfc/sfc_dp.c:88–126  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86int sfc_dp_mport_offset = -1;
87
88int
89sfc_dp_mport_register(void)
90{
91 static const struct rte_mbuf_dynfield mport = {
92 .name = "rte_net_sfc_dynfield_mport",
93 .size = sizeof(efx_mport_id_t),
94 .align = __alignof__(efx_mport_id_t),
95 };
96 static const struct rte_mbuf_dynflag mport_override = {
97 .name = "rte_net_sfc_dynflag_mport_override",
98 };
99
100 int field_offset;
101 int flag;
102
103 if (sfc_dp_mport_override != 0) {
104 SFC_GENERIC_LOG(INFO, "%s() already registered", __func__);
105 return 0;
106 }
107
108 field_offset = rte_mbuf_dynfield_register(&mport);
109 if (field_offset < 0) {
110 SFC_GENERIC_LOG(ERR, "%s() failed to register mport dynfield",
111 __func__);
112 return -1;
113 }
114
115 flag = rte_mbuf_dynflag_register(&mport_override);
116 if (flag < 0) {
117 SFC_GENERIC_LOG(ERR, "%s() failed to register mport dynflag",
118 __func__);
119 return -1;
120 }
121
122 sfc_dp_mport_offset = field_offset;
123 sfc_dp_mport_override = UINT64_C(1) << flag;
124
125 return 0;
126}
127
128int sfc_dp_ft_ctx_id_offset = -1;
129uint64_t sfc_dp_ft_ctx_id_valid;

Callers 1

sfc_eth_dev_initFunction · 0.85

Calls 2

Tested by

no test coverage detected