Advanced ATM Integration API
From ImageStream Router Documentation
Userspace Integration
Inetics uses standard linux netdevices for each ATM PVC. This means that the Linux socket API (PF_PACKET socket) can be used to send and receive raw AAL5 data on a given PVC.
Configure the ATM PVCs in wan.conf and load Inetics using the "up" script.
Sample wan.conf:
interface Serial0 encapsulation atm service-module oc3 clock source internal ! interface Serial0.1 encapsulation atm pvc 0/32 !
Next load a program which binds a raw socket to the network interface Serial0.1 and sends/receives data.
Source code for rwtest_sock.c
root@dev1:~# ./rwtest_sock Serial0.1 /tmp/Serial0.1.log
Run the program for a few seconds and hit Control-C to stop it. If you want to see link utilization, run "rwtest_sock Serial0.1 &" without the log in the background and then run the "stats" program.
Inetics Kernelspace Integration
Inetics has a User Chain API that provides low-level access to packets passing through the system.
Source code for logger.c
Using the rx_edp will allow the chain to access SNAP/LLC encapsulated headers if present on a PVC. Using the rx_ddp will allow the chain to access data without any ATM headers.