| 95 | } |
| 96 | |
| 97 | static void |
| 98 | acl_ipv4vlan_convert_rule(const struct rte_acl_ipv4vlan_rule *ri, |
| 99 | struct acl_ipv4vlan_rule *ro) |
| 100 | { |
| 101 | ro->data = ri->data; |
| 102 | |
| 103 | ro->field[RTE_ACL_IPV4VLAN_PROTO_FIELD].value.u8 = ri->proto; |
| 104 | ro->field[RTE_ACL_IPV4VLAN_VLAN1_FIELD].value.u16 = ri->vlan; |
| 105 | ro->field[RTE_ACL_IPV4VLAN_VLAN2_FIELD].value.u16 = ri->domain; |
| 106 | ro->field[RTE_ACL_IPV4VLAN_SRC_FIELD].value.u32 = ri->src_addr; |
| 107 | ro->field[RTE_ACL_IPV4VLAN_DST_FIELD].value.u32 = ri->dst_addr; |
| 108 | ro->field[RTE_ACL_IPV4VLAN_SRCP_FIELD].value.u16 = ri->src_port_low; |
| 109 | ro->field[RTE_ACL_IPV4VLAN_DSTP_FIELD].value.u16 = ri->dst_port_low; |
| 110 | |
| 111 | ro->field[RTE_ACL_IPV4VLAN_PROTO_FIELD].mask_range.u8 = ri->proto_mask; |
| 112 | ro->field[RTE_ACL_IPV4VLAN_VLAN1_FIELD].mask_range.u16 = ri->vlan_mask; |
| 113 | ro->field[RTE_ACL_IPV4VLAN_VLAN2_FIELD].mask_range.u16 = |
| 114 | ri->domain_mask; |
| 115 | ro->field[RTE_ACL_IPV4VLAN_SRC_FIELD].mask_range.u32 = |
| 116 | ri->src_mask_len; |
| 117 | ro->field[RTE_ACL_IPV4VLAN_DST_FIELD].mask_range.u32 = ri->dst_mask_len; |
| 118 | ro->field[RTE_ACL_IPV4VLAN_SRCP_FIELD].mask_range.u16 = |
| 119 | ri->src_port_high; |
| 120 | ro->field[RTE_ACL_IPV4VLAN_DSTP_FIELD].mask_range.u16 = |
| 121 | ri->dst_port_high; |
| 122 | } |
| 123 | |
| 124 | /* |
| 125 | * Add ipv4vlan rules to an existing ACL context. |
no outgoing calls
no test coverage detected