u64a hi = movq(rshiftbyte_m128(var, 8)); \
if (unlikely(lo)) { \
conf_fn(&lo, bucket, offset, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(hi)) { \
conf_fn(&hi, bucket, offset + 8, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
} \
u32 part4 = movd(rshiftbyte_m128(var, 12)); \
if (unlikely(part1)) { \
conf_fn(&part1, bucket, offset, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part2)) { \
conf_fn(&part2, bucket, offset + 4, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part3)) { \
conf_fn(&part3, bucket, offset + 8, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part4)) { \
conf_fn(&part4, bucket, offset + 12, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
} \
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
m128 r_0 = prep_conf_teddy_m1(maskBase, p_mask, val_0);
CONFIRM_TEDDY(r_0, 8, 0, VECTORING, do_confWithBit1_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
m128 r_0 = prep_conf_teddy_m1(maskBase, p_mask, val_0);
CONFIRM_TEDDY(r_0, 8, 0, VECTORING, do_confWithBit_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
m128 r_0 = prep_conf_teddy_m2(maskBase, &res_old_1, p_mask, val_0);
CONFIRM_TEDDY(r_0, 8, 0, VECTORING, do_confWithBitMany_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
m128 r_0 = prep_conf_teddy_m2(maskBase, &res_old_1, p_mask, val_0);
CONFIRM_TEDDY(r_0, 8, 0, VECTORING, do_confWithBit_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
p_mask, val_0);
CONFIRM_TEDDY(r_0, 8, 0, VECTORING, do_confWithBitMany_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
p_mask, val_0);
CONFIRM_TEDDY(r_0, 8, 0, VECTORING, do_confWithBit_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
&res_old_3, p_mask, val_0);
CONFIRM_TEDDY(r_0, 8, 0, VECTORING, do_confWithBitMany_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
&res_old_3, p_mask, val_0);
CONFIRM_TEDDY(r_0, 8, 0, VECTORING, do_confWithBit_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
u64a part4 = extract64from256(r, 1); \
if (unlikely(part1)) { \
conf_fn(&part1, bucket, offset, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part2)) { \
conf_fn(&part2, bucket, offset + 4, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part3)) { \
conf_fn(&part3, bucket, offset + 8, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part4)) { \
conf_fn(&part4, bucket, offset + 12, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
} \
u32 part8 = extract32from256(r, 3); \
if (unlikely(part1)) { \
conf_fn(&part1, bucket, offset, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part2)) { \
conf_fn(&part2, bucket, offset + 2, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
} \
if (unlikely(part3)) { \
conf_fn(&part3, bucket, offset + 4, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part4)) { \
conf_fn(&part4, bucket, offset + 6, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part5)) { \
conf_fn(&part5, bucket, offset + 8, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part6)) { \
conf_fn(&part6, bucket, offset + 10, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part7)) { \
conf_fn(&part7, bucket, offset + 12, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
if (unlikely(part8)) { \
conf_fn(&part8, bucket, offset + 14, confBase, reason, a, ptr, \
- control, &last_match); \
+ &control, &last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
} \
bit_array_fast_teddy(lo, bitArr, &arrCnt, offset); \
bit_array_fast_teddy(hi, bitArr, &arrCnt, offset + 2); \
for (u32 i = 0; i < arrCnt; i++) { \
- conf_fn(bitArr[i], confBase, reason, a, ptr, control, \
+ conf_fn(bitArr[i], confBase, reason, a, ptr, &control, \
&last_match); \
CHECK_HWLM_TERMINATE_MATCHING; \
} \
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
m256 r_0 = prep_conf_fat_teddy_m1(maskBase, p_mask, val_0);
CONFIRM_FAT_TEDDY(r_0, 16, 0, VECTORING, do_confWithBit1_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
m256 r_0 = prep_conf_fat_teddy_m1(maskBase, p_mask, val_0);
CONFIRM_FAT_TEDDY(r_0, 16, 0, VECTORING, do_confWithBit_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
m256 r_0 = prep_conf_fat_teddy_m2(maskBase, &res_old_1, p_mask, val_0);
CONFIRM_FAT_TEDDY(r_0, 16, 0, VECTORING, do_confWithBitMany_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
m256 r_0 = prep_conf_fat_teddy_m2(maskBase, &res_old_1, p_mask, val_0);
CONFIRM_FAT_TEDDY(r_0, 16, 0, VECTORING, do_confWithBit_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
p_mask, val_0);
CONFIRM_FAT_TEDDY(r_0, 16, 0, VECTORING, do_confWithBitMany_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
p_mask, val_0);
CONFIRM_FAT_TEDDY(r_0, 16, 0, VECTORING, do_confWithBit_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
&res_old_3, p_mask, val_0);
CONFIRM_FAT_TEDDY(r_0, 16, 0, VECTORING, do_confWithBitMany_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
&res_old_3, p_mask, val_0);
CONFIRM_FAT_TEDDY(r_0, 16, 0, VECTORING, do_confWithBit_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
p_mask);
CONFIRM_FAST_TEDDY(res_0, 0, VECTORING, do_confWithBit1_fast_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}
const struct FDR_Runtime_Args *a) {
const u8 *buf_end = a->buf + a->len;
const u8 *ptr = a->buf + a->start_offset;
- hwlmcb_rv_t controlVal = *a->groups;
- hwlmcb_rv_t *control = &controlVal;
+ hwlmcb_rv_t control = *a->groups;
u32 floodBackoff = FLOOD_BACKOFF_START;
const u8 *tryFloodDetect = a->firstFloodDetect;
u32 last_match = (u32)-1;
p_mask);
CONFIRM_FAST_TEDDY(res_0, 0, VECTORING, do_confWithBit_fast_teddy);
}
- *a->groups = controlVal;
+ *a->groups = control;
return HWLM_SUCCESS;
}