LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

reading raw ethernet frame

Hi all,

 

I need to capture data thruogh my NIC from a gigabit ethernet interface. The Implementation in UUT side does not contain IP implementation. The data format is "Standard Ethernet Frame Format" in which there is NO IP information in the data field. The data field will simply contain  UDP package (4 bytes header+data). I also have to send data to UUT in the same format.

 

It seems that I can use Winpcap libraries for these tasks but I have limited time and do not have much experience on Winpcap. I will write my application in Labwindows/CVI and it will be very convenient if I can find some *.dll or *.lib which has functions to extract the data from such a frame and create such a frame.

 

Can anybody help me how to solve this issue simply ?

Thanks in advance,

 

Engin.

 

0 Kudos
Message 1 of 4
(6,907 Views)

i clearly doubt that your device uses an ethernet port and a non-standard protocol, it should at least support the IP protocol, which is one of the most basic network protocol (on top of which is build TCP and UDP). you are talking about UDP, UDP is already a more advanced network protocol and is accessible through the use of the UDP Support Library of CVI, or by using datagram socket if you are using the Windows Socket library (also named winsock, part the Windows SDK).

 

regarding raw tcp packet: the windows socket library allows to create a RAW socket, thus reading and writing raw IP packets, but with great limitations, notably only administrator users can use raw sockets... also, a RAW socket is still an IP socket, thus supporting at least a network protocol. a more raw access is clearly complicated, it requires a low-level driver, and a lot of advanced stuffs (that is why i don't think your device is so dumb).

can you give us the reference to your device or a link to its documentation so that we can help you finding the most suitable solution ?
0 Kudos
Message 2 of 4
(6,898 Views)
I am able to do something similar in Linux using C++, but I'd like to check if someone attempted this in Labview.
0 Kudos
Message 3 of 4
(6,651 Views)
I think dummy_decoy's explanation sums up what can be done in LabVIEW. If not using LabVIEW VIs for TCP, IP or UDP communication, a third-party DLL or library will have to be called to get access to such low-level data.
Vivek Nath
National Instruments
Applications Engineer
Machine Vision
0 Kudos
Message 4 of 4
(6,616 Views)