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

Function add_member

dpdk/app/test/test_link_bonding_mode4.c:221–261  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

219}
220
221static int
222add_member(struct member_conf *member, uint8_t start)
223{
224 struct rte_ether_addr addr, addr_check;
225 int retval;
226
227 /* Some sanity check */
228 RTE_VERIFY(test_params.member_ports <= member &&
229 member - test_params.member_ports < (int)RTE_DIM(test_params.member_ports));
230 RTE_VERIFY(member->bonding == 0);
231 RTE_VERIFY(member->port_id != INVALID_PORT_ID);
232
233 rte_ether_addr_copy(&member_mac_default, &addr);
234 addr.addr_bytes[RTE_ETHER_ADDR_LEN - 1] = member->port_id;
235
236 rte_eth_dev_mac_addr_remove(member->port_id, &addr);
237
238 TEST_ASSERT_SUCCESS(rte_eth_dev_mac_addr_add(member->port_id, &addr, 0),
239 "Failed to set member MAC address");
240
241 TEST_ASSERT_SUCCESS(rte_eth_bond_member_add(test_params.bonding_port_id,
242 member->port_id),
243 "Failed to add member (idx=%u, id=%u) to bonding (id=%u)",
244 (uint8_t)(member - test_params.member_ports), member->port_id,
245 test_params.bonding_port_id);
246
247 member->bonding = 1;
248 if (start) {
249 TEST_ASSERT_SUCCESS(rte_eth_dev_start(member->port_id),
250 "Failed to start member %u", member->port_id);
251 }
252
253 retval = rte_eth_macaddr_get(member->port_id, &addr_check);
254 TEST_ASSERT_SUCCESS(retval, "Failed to get member mac address: %s",
255 strerror(-retval));
256 TEST_ASSERT_EQUAL(rte_is_same_ether_addr(&addr, &addr_check), 1,
257 "Member MAC address is not as expected");
258
259 RTE_VERIFY(member->lacp_parnter_state == 0);
260 return 0;
261}
262
263static int
264remove_member(struct member_conf *member)

Calls 7

rte_ether_addr_copyFunction · 0.85
rte_eth_dev_mac_addr_addFunction · 0.85
rte_eth_bond_member_addFunction · 0.85
rte_eth_dev_startFunction · 0.85
rte_eth_macaddr_getFunction · 0.85
rte_is_same_ether_addrFunction · 0.85

Tested by

no test coverage detected