* acl_exclude rte_acl_bitset from src and copy remaining pointer to dst */
| 455 | * acl_exclude rte_acl_bitset from src and copy remaining pointer to dst |
| 456 | */ |
| 457 | static int |
| 458 | acl_copy_ptr(struct acl_build_context *context, |
| 459 | struct rte_acl_node *dst, |
| 460 | struct rte_acl_node *src, |
| 461 | int index, |
| 462 | struct rte_acl_bitset *b_bits) |
| 463 | { |
| 464 | int rc; |
| 465 | struct rte_acl_bitset bits; |
| 466 | |
| 467 | if (b_bits != NULL) |
| 468 | if (!acl_exclude(&bits, &src->ptrs[index].values, b_bits)) |
| 469 | return 0; |
| 470 | |
| 471 | rc = acl_add_ptr(context, dst, src->ptrs[index].ptr, &bits); |
| 472 | if (rc < 0) |
| 473 | return rc; |
| 474 | return 1; |
| 475 | } |
| 476 | |
| 477 | /* |
| 478 | * Fill in gaps in ptrs list with the ptr at the end of the list |
no test coverage detected