此函数是用来创建Linux Control Plane (LCP) 接口对的命令行函数。函数通过解析输入参数,调用 lcp_itf_pair_create 函数来创建LCP接口对。具体参数解析如下:
- vm:VPP虚拟机指针;
- input:待解析的命令行输入参数;
- cmd:VPP CLI命令指针。
在解析输入参数时,首先创建一个unformat_input_t类型的结构体line_input,并将输入参数传入其中。然后使用while循环遍历所有的输入参数,根据不同的参数进行相应的处理。具体参数如下:
- %d:解析数字类型的sw_if_index参数;
- %U:解析vnet_sw_interface类型的sw_if_index参数;
- host-if %s:解析字符串类型的host_if_name参数;
- netns %s:解析字符串类型的ns参数;
- tun:设置host_if_type参数为LCP_ITF_HOST_TUN。
最后根据解析出的参数调用lcp_itf_pair_create函数来创建LCP接口对。如果执行过程中有错误发生,则返回一个clib_error_t类型的错误信息。最后释放host_if_name和ns所占用的内存空间并返回错误信息。