/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
+ * Copyright (c) 2017-2019 Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
fib_pref_normalize (lcl);
fib_pref_normalize (rmt);
match = (session_mask_or_match_6_t *) & rule->match;
- clib_memcpy (&match->lcl_ip, &lcl->fp_addr.ip6, sizeof (match->lcl_ip));
- clib_memcpy (&match->rmt_ip, &rmt->fp_addr.ip6, sizeof (match->rmt_ip));
+ clib_memcpy_fast (&match->lcl_ip, &lcl->fp_addr.ip6,
+ sizeof (match->lcl_ip));
+ clib_memcpy_fast (&match->rmt_ip, &rmt->fp_addr.ip6,
+ sizeof (match->rmt_ip));
match->lcl_port = lcl_port;
match->rmt_port = rmt_port;
mask = (session_mask_or_match_6_t *) & rule->mask;
.lcl_port = lcl_port,
.rmt_port = rmt_port,
};
- clib_memcpy (&key.lcl_ip, lcl_ip, sizeof (*lcl_ip));
- clib_memcpy (&key.rmt_ip, rmt_ip, sizeof (*rmt_ip));
+ clib_memcpy_fast (&key.lcl_ip, lcl_ip, sizeof (*lcl_ip));
+ clib_memcpy_fast (&key.rmt_ip, rmt_ip, sizeof (*rmt_ip));
return mma_rules_table_lookup_rule_40 (srt6,
(mma_mask_or_match_40_t *) & key,
srt6->root_index);
.lcl_port = lcl_port,
.rmt_port = rmt_port,
};
- clib_memcpy (&key.lcl_ip, lcl_ip, sizeof (*lcl_ip));
- clib_memcpy (&key.rmt_ip, rmt_ip, sizeof (*rmt_ip));
+ clib_memcpy_fast (&key.lcl_ip, lcl_ip, sizeof (*lcl_ip));
+ clib_memcpy_fast (&key.rmt_ip, rmt_ip, sizeof (*rmt_ip));
return mma_rules_table_lookup_40 (srt6, (mma_mask_or_match_40_t *) & key,
srt6->root_index);
}
*
* @return 0 if success, clib_error_t error otherwise
*/
-clib_error_t *
+int
session_rules_table_add_del (session_rules_table_t * srt,
session_rule_table_add_del_args_t * args)
{
ri_from_tag = session_rules_table_rule_for_tag (srt, args->tag);
if (args->is_add && ri_from_tag != SESSION_RULES_TABLE_INVALID_INDEX)
- return clib_error_return_code (0, VNET_API_ERROR_INVALID_VALUE, 0,
- "tag exists");
+ return VNET_API_ERROR_INVALID_VALUE;
if (fib_proto == FIB_PROTOCOL_IP4)
{
}
}
else
- return clib_error_return_code (0, VNET_API_ERROR_INVALID_VALUE_2, 0,
- "invalid fib proto");
+ return VNET_API_ERROR_INVALID_VALUE_2;
return 0;
}
.lcl_port = lcl_port,
.rmt_port = rmt_port,
};
- clib_memcpy (&key.lcl_ip, &lcl_ip->ip6, sizeof (lcl_ip->ip6));
- clib_memcpy (&key.rmt_ip, &rmt_ip->ip6, sizeof (rmt_ip->ip6));
+ clib_memcpy_fast (&key.lcl_ip, &lcl_ip->ip6, sizeof (lcl_ip->ip6));
+ clib_memcpy_fast (&key.rmt_ip, &rmt_ip->ip6, sizeof (rmt_ip->ip6));
ri = mma_rules_table_lookup_rule_40 (srt6,
(mma_mask_or_match_40_t *) & key,
srt6->root_index);