Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
sr: add "set sr encaps hop-limit" command
[vpp.git]
/
src
/
vnet
/
srv6
/
sr.h
diff --git
a/src/vnet/srv6/sr.h
b/src/vnet/srv6/sr.h
index
d0f4286
..
2e2d439
100755
(executable)
--- a/
src/vnet/srv6/sr.h
+++ b/
src/vnet/srv6/sr.h
@@
-276,6
+276,11
@@
sr_steering_policy (int is_del, ip6_address_t * bsid, u32 sr_policy_index,
u32 table_id, ip46_address_t * prefix, u32 mask_width,
u32 sw_if_index, u8 traffic_type);
u32 table_id, ip46_address_t * prefix, u32 mask_width,
u32 sw_if_index, u8 traffic_type);
+extern void sr_set_source (ip6_address_t * address);
+
+extern void sr_set_hop_limit (u8 hop_limit);
+extern u8 sr_get_hop_limit (void);
+
/**
* @brief SR rewrite string computation for SRH insertion (inline)
*
/**
* @brief SR rewrite string computation for SRH insertion (inline)
*
@@
-300,15
+305,16
@@
ip6_sr_compute_rewrite_string_insert (ip6_address_t * sl)
srh = (ip6_sr_header_t *) rs;
srh->type = ROUTING_HEADER_TYPE_SR;
srh->segments_left = vec_len (sl);
srh = (ip6_sr_header_t *) rs;
srh->type = ROUTING_HEADER_TYPE_SR;
srh->segments_left = vec_len (sl);
- srh->
first_segment
= vec_len (sl);
+ srh->
last_entry
= vec_len (sl);
srh->length = ((sizeof (ip6_sr_header_t) +
((vec_len (sl) + 1) * sizeof (ip6_address_t))) / 8) - 1;
srh->flags = 0x00;
srh->length = ((sizeof (ip6_sr_header_t) +
((vec_len (sl) + 1) * sizeof (ip6_address_t))) / 8) - 1;
srh->flags = 0x00;
- srh->
reserved
= 0x0000;
+ srh->
tag
= 0x0000;
addrp = srh->segments + vec_len (sl);
vec_foreach (this_address, sl)
{
addrp = srh->segments + vec_len (sl);
vec_foreach (this_address, sl)
{
- clib_memcpy (addrp->as_u8, this_address->as_u8, sizeof (ip6_address_t));
+ clib_memcpy_fast (addrp->as_u8, this_address->as_u8,
+ sizeof (ip6_address_t));
addrp--;
}
return rs;
addrp--;
}
return rs;