While mode ip is supported via the CLI for creating a memif interface,
it is not settable from the binary API due to missing code.
While at it, update the help usage to include the missing keyword secret.
Change-Id: Ia9c71f4017210a5e1733ce4992fbb566b7d20c1a
Signed-off-by: Steven <sluong@cisco.com>
.path = "create memif",
.short_help = "create memif [id <id>] [socket <path>] "
"[ring-size <size>] [buffer-size <size>] [hw-addr <mac-address>] "
.path = "create memif",
.short_help = "create memif [id <id>] [socket <path>] "
"[ring-size <size>] [buffer-size <size>] [hw-addr <mac-address>] "
- "<master|slave> [rx-queues <number>] [tx-queues <number>]"
- "[mode ip]",
+ "<master|slave> [rx-queues <number>] [tx-queues <number>] "
+ "[mode ip] [secret <string>]",
.function = memif_create_command_fn,
};
/* *INDENT-ON* */
.function = memif_create_command_fn,
};
/* *INDENT-ON* */
/* role */
args.is_master = (mp->role == 0);
/* role */
args.is_master = (mp->role == 0);
+ /* mode */
+ args.mode = mp->mode;
+
/* rx/tx queues */
if (args.is_master == 0)
{
/* rx/tx queues */
if (args.is_master == 0)
{
u32 rx_queues = MEMIF_DEFAULT_RX_QUEUES;
u32 tx_queues = MEMIF_DEFAULT_TX_QUEUES;
int ret;
u32 rx_queues = MEMIF_DEFAULT_RX_QUEUES;
u32 tx_queues = MEMIF_DEFAULT_TX_QUEUES;
int ret;
+ u8 mode = MEMIF_INTERFACE_MODE_ETHERNET;
while (unformat_check_input (i) != UNFORMAT_END_OF_INPUT)
{
while (unformat_check_input (i) != UNFORMAT_END_OF_INPUT)
{
else if (unformat (i, "slave %U",
unformat_memif_queues, &rx_queues, &tx_queues))
role = 1;
else if (unformat (i, "slave %U",
unformat_memif_queues, &rx_queues, &tx_queues))
role = 1;
+ else if (unformat (i, "mode ip"))
+ mode = MEMIF_INTERFACE_MODE_IP;
else if (unformat (i, "hw_addr %U", unformat_ethernet_address, hw_addr))
;
else
else if (unformat (i, "hw_addr %U", unformat_ethernet_address, hw_addr))
;
else
mp->id = clib_host_to_net_u32 (id);
mp->role = role;
mp->ring_size = clib_host_to_net_u32 (ring_size);
mp->id = clib_host_to_net_u32 (id);
mp->role = role;
mp->ring_size = clib_host_to_net_u32 (ring_size);
#define foreach_vpe_api_msg \
_(memif_create, "[id <id>] [socket <path>] [ring_size <size>] " \
"[buffer_size <size>] [hw_addr <mac_address>] " \
#define foreach_vpe_api_msg \
_(memif_create, "[id <id>] [socket <path>] [ring_size <size>] " \
"[buffer_size <size>] [hw_addr <mac_address>] " \
+ "[secret <string>] [mode ip] <master|slave>") \
_(memif_delete, "<sw_if_index>") \
_(memif_dump, "")
_(memif_delete, "<sw_if_index>") \
_(memif_dump, "")