Presentation is loading. Please wait.

Presentation is loading. Please wait.

Libmac – A C library to facilitate wireless experimental research. Kishore Ramachandran Wireless Information Networks Laboratory Rutgers, The State University.

Similar presentations


Presentation on theme: "Libmac – A C library to facilitate wireless experimental research. Kishore Ramachandran Wireless Information Networks Laboratory Rutgers, The State University."— Presentation transcript:

1 Libmac – A C library to facilitate wireless experimental research. Kishore Ramachandran Wireless Information Networks Laboratory Rutgers, The State University of New Jersey kishore@winlab.rutgers.edu http://www.winlab.rutgers.edu/~kishore

2 Overview. Software tools required for the ORBIT emulator to create topologies, conduct experiments and store information.

3 Overview. While creating topologies and storing results,  User is involvement is limited, specify source of input (topology and experiment information) and output (where and how to store results)  One-time setup.

4 Motivation. While conducting experiments,  User choices include: use public-domain implementation modules and/or write code and integrate with emulator, repeating the operating model of ns-2 and OPNET.

5 Design Goals. Design a software development framework which will  provide the development ease and flexibility of a simulator,  provide more accurate results than those currently obtained and  serve as common ground where results can be compared.

6 Design Choices. 1. Implement the framework in user-space, in a modular manner. 2. Use publicly available source code in order to speed up implementation. Using public-domain frame injection (libnet) and capture libraries (libpcap). 3. Implement all modules in the framework as shared libraries that provide APIs.

7 Protocols, in user space, as plug-and- play modules. User space MPDUs & params exchanged TPM APM NPDUs & params exchanged Device drivers TPDUs & params exchanged Plug-and-play protocol modules (PM) at each layer NPM MACPM Kernel space

8 Libmac feature list. 1. Ethernet frame injection and capture. 2. Manipulation of a subset of wireless interface parameters. 3. Communication of a subset of wireless interface parameters. 4. 802.11 frame capture and injection (coming shortly).

9 Libmac API specification (v0.3.0). Ethernet frame injection and capture. Library initialization. int mac_get_ifinfo (struct mac_ifinfo **mac_ptr); int mac_free_ifinfo (struct mac_ifinfo **mac_ptr); Send and receive functions. int mac_send_broadcast(u_char *payload, short len, struct mac_ifinfo_list *q); int mac_send_unicast(u_char *payload, short len, struct mac_ifinfo_list *q, unsigned char *ucast_mac); int mac_recv (struct ether_header **header, char **payload, unsigned short *len, unsigned char **send_params, unsigned char **recv_params, struct mac_ifinfo_list *q, char *filter);

10 Libmac API specification (v0.3.0). Manipulation of a subset of wireless interface parameters. int mac_get_params (struct mac_params *h, struct mac_ifinfo_list *if_ptr, int argc,...); int mac_set_params (struct mac_params *h, struct mac_ifinfo_list *if_ptr, int argc,...); Communication of a subset of wireless interface parameters. int mac_append_params (struct mac_ifinfo_list *if_ptr, unsigned char direction, int argc,...);

11 Libmac API specification (v0.3.0). 802.11 frame capture. int mac_promisc_recv(unsigned char **frame, unsigned short *frame_len, unsigned char **send_params, unsigned char **recv_params, struct mac_ifinfo_list *q); 802.11 frame injection in next release. Complete documentation available with the library, includes tutorial and examples. (http://www.winlab.rutgers.edu/~kishore/libmac_docs/index.html)


Download ppt "Libmac – A C library to facilitate wireless experimental research. Kishore Ramachandran Wireless Information Networks Laboratory Rutgers, The State University."

Similar presentations


Ads by Google