windows TDI driver logs

Hi Guys,

I think I found a BUG in Windows Vista+ TDI trasport/client drivers.
I am not getting the callback from the underlying trasport layer when the system receives a incoming UDP packet.

I am not really sure if seeing these logs will help understand the situation for you guys.
Please find the logs and embedded comments below.
If you have any questions, please mails me.

Windowx-XP logs:

devicedispatch:: Major:Minor = 0x0:0x0
devicedispatch:: Device Object = UDP, MAJOR Function = 0x827e38c8 irp = 0x827e38d8

devicedispatch:: Major:Minor = 0xf:0xb
devicedispatch:: Device Object = UDP, MAJOR Function = 0x827e38c8 irp = 0x00000000

devicedispatch:: Major:Minor = 0xf:0xb
devicedispatch:: Device Object = UDP, MAJOR Function = 0x827e38c8 irp = 0x00000000

devicedispatch:: Major:Minor = 0xf:0xb
devicedispatch:: Device Object = UDP, MAJOR Function = 0x827e38c8 irp = 0x00000000

devicedispatch:: Major:Minor = 0xf:0xc
devicedispatch:: Device Object = UDP, MAJOR Function = 0x828e5860 irp = 0xb2bd6ac8

devicedispatch:: Major:Minor = 0xf:0xc
devicedispatch:: Device Object = UDP, MAJOR Function = 0x828e5860 irp = 0x823cfb54

devicedispatch:: Major:Minor = 0xf:0xc
devicedispatch:: Device Object = UDP, MAJOR Function = 0x828e5860 irp = 0x823cfb54

>>> Application sending data (ioctl) …
devicedispatch:: Major:Minor = 0xf:0x9
devicedispatch:: Device Object = UDP, MAJOR Function = 0x827da2f8 irp = 0x823f9076

>>> Callback called
<tdi_event_receive_datagram:>: Invoked
<tdi_event_receive_datagram:>: [tdi_fw] : Bytes Indicated/Available 1470/1470; flags: 0x200
<tdi_event_receive_datagram:>: [tdi_fw] : BytesTaken: 0; Irp: 0x0
<internal_receive_datagram:>: After if (g_got_control == 0) check
<internal_receive_datagram:>: Rewrite address in list from 7f000001:1040->64646415:59249
<internal_receive_datagram:>: Check if the UDP package should be rewriten 7f000001:1040 (ote addr: 0:5001
<internal_receive_datagram:>: Rewriting UDP source address from 7f000001:1040->64646415:59249
<tdi_event_receive_datagram:>: Accept incoming UDP connection from 15646464:59249

>>>> Receive ioctl called
devicedispatch:: Major:Minor = 0xf:0x8
devicedispatch:: Device Object = TCP, MAJOR Function = 0x8228cee8 irp = 0x8228ceb0

>>>> Connect ioctl called
devicedispatch:: Major:Minor = 0xf:0x3
devicedispatch:: Device Object = UDP, MAJOR Function = 0x828c4008 irp = 0x823f9076
devicedispatch:: calling TDI IOCTL dispatch function …
<tdi_connect:>: Invoked
<tdi_connect:>: connobj 0x823bc028, to address 64646415:59249

Win-7 driver Logs
--------------------

devicedispatch:: Major:Minor = 0x0:0x0
devicedispatch:: Device Object = UDP, MAJOR Function = 0x859cfa80 irp = 0x846179a0

devicedispatch:: Major:Minor = 0xf:0xb
devicedispatch:: Device Object = UDP, MAJOR Function = 0x859cfa80 irp = 0x00000000

devicedispatch:: Major:Minor = 0xf:0xb
devicedispatch:: Device Object = UDP, MAJOR Function = 0x859cfa80 irp = 0x00000000

devicedispatch:: Major:Minor = 0xf:0xb
devicedispatch:: Device Object = UDP, MAJOR Function = 0x859cfa80 irp = 0x00000000

devicedispatch:: Major:Minor = 0xf:0xc
devicedispatch:: Device Object = UDP, MAJOR Function = 0x846425b0 irp = 0x846425b0

devicedispatch:: Major:Minor = 0xf:0xc
devicedispatch:: Device Object = UDP, MAJOR Function = 0x846425b0 irp = 0x846179a0

devicedispatch:: g_devcontrol: IRP_MJ_CREATE for Driver control
devicedispatch:: g_devcontrol: IRP_MJ_DEVICE_CONTROL
<process_ioctl_request:>: IOCTL_CMD_ADD_INCOMING_TUNNEL_UDP_ADDRESS called
<process_ioctl_request:>: we didn’t have a matching record, create a new one

>>> Application sending data (ioctl) …
devicedispatch:: Major:Minor = 0xf:0x9
devicedispatch:: Device Object = UDP, MAJOR Function = 0x846425b0 irp = 0x8422f8b8

devicedispatch:: Major:Minor = 0xf:0x9
devicedispatch:: Device Object = UDP, MAJOR Function = 0x846425b0 irp = 0x8422f8b8

Thanks
nani</devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></process_ioctl_request:></process_ioctl_request:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></tdi_connect:></tdi_connect:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></tdi_event_receive_datagram:></internal_receive_datagram:></internal_receive_datagram:></internal_receive_datagram:></internal_receive_datagram:></tdi_event_receive_datagram:></tdi_event_receive_datagram:></tdi_event_receive_datagram:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:></devicedispatch:>