void V3_Init_Packet(struct v3_packet_hooks * hooks) {
packet_hooks = hooks;
- PrintDebug("V3 raw packet interface inited\n");
+ PrintDebug(VM_NONE, VCORE_NONE,"V3 raw packet interface inited\n");
return;
}
void * guest_packet_data) {
struct v3_packet * packet = NULL;
- V3_ASSERT(packet_hooks != NULL);
- V3_ASSERT(packet_hooks->connect != NULL);
+ V3_ASSERT(vm, VCORE_NONE, packet_hooks != NULL);
+ V3_ASSERT(vm, VCORE_NONE, packet_hooks->connect != NULL);
packet = V3_Malloc(sizeof(struct v3_packet));
+ if (!packet) {
+ PrintError(vm, VCORE_NONE, "Cannot allocate in connecting packet\n");
+ return NULL;
+ }
+
memcpy(packet->dev_mac, vm_mac, ETH_ALEN);
packet->input = input;
packet->guest_packet_data = guest_packet_data;
}
int v3_packet_send(struct v3_packet * packet, uint8_t * buf, uint32_t len) {
- V3_ASSERT(packet_hooks != NULL);
- V3_ASSERT(packet_hooks->send != NULL);
+ V3_ASSERT(VM_NONE, VCORE_NONE,packet_hooks != NULL);
+ V3_ASSERT(VM_NONE, VCORE_NONE,packet_hooks->send != NULL);
return packet_hooks->send(packet, buf, len);
}
void v3_packet_close(struct v3_packet * packet) {
- V3_ASSERT(packet_hooks != NULL);
- V3_ASSERT(packet_hooks->close != NULL);
+ V3_ASSERT(VM_NONE, VCORE_NONE,packet_hooks != NULL);
+ V3_ASSERT(VM_NONE, VCORE_NONE,packet_hooks->close != NULL);
packet_hooks->close(packet);
V3_Free(packet);