2 * Copyright (c) 2022 BBSakura Networks Inc and/or its affiliates.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at:
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
18 * @brief Segment Routing for mobile u-plane api
22 #ifndef included_sr_mobile_api_h
23 #define included_sr_mobile_api_h
25 #include <vnet/srv6/sr.h>
26 #include <vnet/ip/ip_types_api.h>
28 #define srv6_mobile_strcmp_with_size(s1, s1len, s2) \
30 int __indicator = 0; \
31 strcmp_s_inline (s1, s1len, s2, &__indicator); \
35 void alloc_param_srv6_end_m_gtp4_e (void **plugin_mem_p,
36 const void *v4src_addr,
37 const u32 v4src_position,
40 void alloc_param_srv6_end_m_gtp6_e (void **plugin_mem_p, const u32 fib_table);
42 void alloc_param_srv6_end_m_gtp6_d (void **plugin_mem_p, const void *sr_prefix,
43 const u32 sr_prefixlen, const u8 nhtype,
44 const bool drop_in, const u32 fib_table);
46 void alloc_param_srv6_end_m_gtp6_di (void **plugin_mem_p,
47 const void *sr_prefix,
48 const u32 sr_prefixlen, const u8 nhtype);
50 void alloc_param_srv6_end_m_gtp6_dt (void **plugin_mem_p, const u32 fib_index,
51 const u32 local_fib_index,
54 void alloc_param_srv6_t_m_gtp4_d (void **plugin_mem_p,
55 const void *v6src_prefix,
56 const u32 v6src_prefixlen,
57 const void *sr_prefix,
58 const u32 sr_prefixlen, const u32 fib_index,
59 const u8 nhtype, const bool drop_in);
61 void alloc_param_srv6_t_m_gtp4_dt (void **plugin_mem_p, const u32 fib_index,
62 const u32 local_fib_index, const u8 type);
64 #endif /* included_sr_mobile_api_h */
67 * fd.io coding-style-patch-verification: ON
70 * eval: (c-set-style "gnu")