sr: add "set sr encaps hop-limit" command

Default hop-limit for the encapsulating IPv6 header is a compile-time
constant. Add ability to specify custom hop-limit, in order to avoid
packets being dropped with "hop limit exceeded in transit" response in
certain network configurations.

Type: feature
Signed-off-by: Ignas Bačius <ignas@noia.network>
Change-Id: I77f2b35c987cfd31801dc2744d31fb3c1984158f
diff --git a/src/vnet/srv6/sr.api b/src/vnet/srv6/sr.api
index e989ffe..1d696b0 100644
--- a/src/vnet/srv6/sr.api
+++ b/src/vnet/srv6/sr.api
@@ -137,6 +137,18 @@
   u8 encaps_source[16];
 };
 
+/** \brief IPv6 SR Set SRv6 encapsulation hop-limit
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param hop_limit is the hop-limit value to set
+*/
+autoreply define sr_set_encap_hop_limit
+{
+  u32 client_index;
+  u32 context;
+  u8 hop_limit;
+};
+
 /** \brief IPv6 SR steering add/del
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request