u32 context; /* opaque value to be returned in the reply */
i32 ctx_quota; /* requested punt context quota */
u64 input_queue; /* client's queue */
- u8 name[64]; /* for show, find by name, whatever */
+ string name[64]; /* for show, find by name, whatever */
u32 api_versions[8]; /* client-server pairs use as desired */
};
define get_first_msg_id {
u32 client_index;
u32 context;
- u8 name[64];
+ string name[64];
};
define get_first_msg_id_reply {
u32 major;
u32 minor;
u32 patch;
- u8 name[64];
+ string name[64];
};
define api_versions {
u32 client_index;
{
u32 client_index;
u32 context;
- u8 plugin_name[128];
+ string plugin_name[128];
u16 first_msg_id;
u16 last_msg_id;
};
typedef message_table_entry
{
u16 index;
- u8 name[64];
+ string name[64];
};
/*
*/
define sockclnt_create {
u32 context; /* opaque value to be returned in the reply */
- u8 name[64]; /* for show, find by name, whatever */
+ string name[64]; /* for show, find by name, whatever */
};
define sockclnt_create_reply {
self._api = VppApiDynamicMethodHolder()
for name, msg in vpp_iterator(self.messages):
n = name + '_' + msg.crc[2:]
- i = self.transport.get_msg_index(n.encode('utf-8'))
+ i = self.transport.get_msg_index(n)
if i > 0:
self.id_msgdef[i] = msg
self.id_names[i] = name
do_async):
pfx = chroot_prefix.encode('utf-8') if chroot_prefix else None
- rv = self.transport.connect(name.encode('utf-8'), pfx,
+ rv = self.transport.connect(name, pfx,
msg_handler, rx_qlen)
if rv != 0:
raise VPPIOError(2, 'Connect failed')
# Initialise control ping
crc = self.messages['control_ping'].crc
self.control_ping_index = self.transport.get_msg_index(
- ('control_ping' + '_' + crc[2:]).encode('utf-8'))
+ ('control_ping' + '_' + crc[2:]))
self.control_ping_msgdef = self.messages['control_ping']
if self.async_thread:
self.event_thread = threading.Thread(
self.connected = True
if not pfx:
pfx = ffi.NULL
- return vpp_api.vac_connect(name, pfx, msg_handler, rx_qlen)
+ return vpp_api.vac_connect(name.encode('ascii'), pfx, msg_handler, rx_qlen)
def disconnect(self):
self.connected = False
return vac_callback_sync if not do_async else vac_callback_async
def get_msg_index(self, name):
- return vpp_api.vac_get_msg_index(name)
+ return vpp_api.vac_get_msg_index(name.encode('ascii'))
def msg_table_max_index(self):
return vpp_api.vac_msg_table_max_index()
r, length = sockclnt_create_reply.unpack(msg)
self.socket_index = r.index
for m in r.message_table:
- n = m.name.rstrip(b'\x00\x13')
+ n = m.name
self.message_table[n] = m.index
self.message_thread.daemon = True