Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
dpdk: do not use TSO for small packets
[vpp.git]
/
src
/
vppinfra
/
time_range.c
diff --git
a/src/vppinfra/time_range.c
b/src/vppinfra/time_range.c
index
ea95284
..
4b5e130
100644
(file)
--- a/
src/vppinfra/time_range.c
+++ b/
src/vppinfra/time_range.c
@@
-15,14
+15,22
@@
#include <vppinfra/time_range.h>
#include <vppinfra/time_range.h>
-void
+
__clib_export
void
clib_timebase_init (clib_timebase_t * tb, i32 timezone_offset_in_hours,
clib_timebase_init (clib_timebase_t * tb, i32 timezone_offset_in_hours,
- clib_timebase_daylight_time_t daylight_type)
+ clib_timebase_daylight_time_t daylight_type,
+ clib_time_t * clib_time)
{
clib_memset (tb, 0, sizeof (*tb));
{
clib_memset (tb, 0, sizeof (*tb));
- clib_time_init (&tb->clib_time);
- tb->time_zero = unix_time_now ();
+ if (clib_time == 0)
+ {
+ tb->clib_time = clib_mem_alloc_aligned
+ (sizeof (*clib_time), CLIB_CACHE_LINE_BYTES);
+ memset (tb->clib_time, 0, sizeof (*clib_time));
+ clib_time_init (tb->clib_time);
+ }
+ else
+ tb->clib_time = clib_time;
tb->timezone_offset = ((f64) (timezone_offset_in_hours)) * 3600.0;
tb->daylight_time_type = daylight_type;
tb->timezone_offset = ((f64) (timezone_offset_in_hours)) * 3600.0;
tb->daylight_time_type = daylight_type;
@@
-92,7
+100,7
@@
const static char *day_names_calendar_order[] = {
};
};
-void
+
__clib_export
void
clib_timebase_time_to_components (f64 now, clib_timebase_component_t * cp)
{
u32 year, month, hours, minutes, seconds, nanoseconds;
clib_timebase_time_to_components (f64 now, clib_timebase_component_t * cp)
{
u32 year, month, hours, minutes, seconds, nanoseconds;
@@
-173,7
+181,7
@@
clib_timebase_time_to_components (f64 now, clib_timebase_component_t * cp)
cp->fractional_seconds = now;
}
cp->fractional_seconds = now;
}
-f64
+
__clib_export
f64
clib_timebase_components_to_time (clib_timebase_component_t * cp)
{
f64 now = 0;
clib_timebase_components_to_time (clib_timebase_component_t * cp)
{
f64 now = 0;
@@
-209,7
+217,7
@@
clib_timebase_components_to_time (clib_timebase_component_t * cp)
return (now);
}
return (now);
}
-f64
+
__clib_export
f64
clib_timebase_find_sunday_midnight (f64 start_time)
{
clib_timebase_component_t _c, *cp = &_c;
clib_timebase_find_sunday_midnight (f64 start_time)
{
clib_timebase_component_t _c, *cp = &_c;
@@
-248,7
+256,7
@@
clib_timebase_offset_from_sunday (u8 * day)
}
}
-u8 *
+
__clib_export
u8 *
format_clib_timebase_time (u8 * s, va_list * args)
{
f64 now = va_arg (*args, f64);
format_clib_timebase_time (u8 * s, va_list * args)
{
f64 now = va_arg (*args, f64);
@@
-304,7
+312,7
@@
unformat_clib_timebase_range_hms (unformat_input_t * input, va_list * args)
return 1;
}
return 1;
}
-uword
+
__clib_export
uword
unformat_clib_timebase_range_vector (unformat_input_t * input, va_list * args)
{
clib_timebase_range_t **rpp = va_arg (*args, clib_timebase_range_t **);
unformat_clib_timebase_range_vector (unformat_input_t * input, va_list * args)
{
clib_timebase_range_t **rpp = va_arg (*args, clib_timebase_range_t **);
@@
-379,7
+387,7
@@
unformat_clib_timebase_range_vector (unformat_input_t * input, va_list * args)
}
}
}
}
-f64
+
__clib_export
f64
clib_timebase_summer_offset (clib_timebase_t * tb, f64 now)
{
clib_timebase_component_t _c, *cp = &_c;
clib_timebase_summer_offset (clib_timebase_t * tb, f64 now)
{
clib_timebase_component_t _c, *cp = &_c;