# See the License for the specific language governing permissions and
# limitations under the License.
#
-
+import datetime
from socket import inet_pton, AF_INET6, AF_INET
import socket
import ipaddress
},
'vl_api_prefix_t':
{
- 'IPv4Network': lambda o: {'prefix':
+ 'IPv4Network': lambda o: {'address':
{'af': ADDRESS_IP4, 'un':
{'ip4': o.network_address.packed}},
'len': o.prefixlen},
- 'IPv6Network': lambda o: {'prefix':
+ 'IPv6Network': lambda o: {'address':
{'af': ADDRESS_IP6, 'un':
{'ip6': o.network_address.packed}},
'len': o.prefixlen},
'MACAddress': lambda o: o.packed,
'str': lambda s: macaddress.mac_pton(s)
},
+ 'vl_api_timestamp_t':
+ {
+ 'datetime.datetime': lambda o:
+ (o - datetime.datetime(1970, 1, 1)).total_seconds()
+ }
}
'vl_api_address_t': lambda o: unformat_api_address_t(o),
'vl_api_prefix_t': lambda o: unformat_api_prefix_t(o),
'vl_api_mac_address_t': lambda o: macaddress.MACAddress(o),
+ 'vl_api_timestamp_t': lambda o: datetime.datetime.fromtimestamp(o),
+ 'vl_api_timedelta_t': lambda o: datetime.timedelta(seconds=o),
}