Presentation is loading. Please wait.

Presentation is loading. Please wait.

Modular Protocol Architecture Link Layer Protocol Interface Specification Ruchira Datta UC Berkeley WOW Group.

Similar presentations


Presentation on theme: "Modular Protocol Architecture Link Layer Protocol Interface Specification Ruchira Datta UC Berkeley WOW Group."— Presentation transcript:

1 Modular Protocol Architecture Link Layer Protocol Interface Specification Ruchira Datta UC Berkeley WOW Group

2 Architecture Overview  Protocols for each layer in modules  Modules must conform to interface  BWOW: the glue between modules  All mode dependency in BWOW (simulation vs. implementation mode)  Modules make mode-independent calls to BWOW

3 Conventions  struct net_device *dev –Linux networking device/link interface  struct sk_buff *skb –Linux “socket buffer” (packet) structure  prm_typ is an ASN.1 parameter type –{ INTEGER, BIT STRING, … }  Functions return an int, which is an error code, unless otherwise specified

4 BWOW Responsibilities  bwow_device_tx_from_link( dev, skb )  bwow_network_rx_from_link( dev, skb )  bwow_device_ioctl( dev, struct ifreq *ifr, int cmd )  void bwow_notify_link_busy( dev )  void bwow_notify_link_available( dev )  skb handling functions  timer functions

5 Link Layer Interface Hooks I struct bwow_link_layer_protocol_spec { char *name; char *version; unsigned short protocol_type; int (*protocol_init)( dev ) int (*protocol_shutdown)( dev ) int (*add_header)( skb, dev, ushort type, void *dst, void *src, int len ) int (*tx_from_network)( dev, skb ) int (*rx_from_device)( dev, skb ), …

6 Link Layer Interface Hooks II struct bwow_link_layer_protocol_spec { … void (*notify_device_busy)( dev ) void (*notify_device_available)( dev ) ioctl ( dev, struct ifreq *ifr, int cmd ) unsigned (*get_mtu)( dev ) int (*change_mtu)( dev, int new_mtu ) …

7 Link Layer Interface Hooks III struct bwow_link_layer_protocol_spec { … struct net_device_stats * (*get_statistics)( dev ) int (*statistics_length)( dev ) int (*print_statistics)( dev, char *page) …

8 Link Layer Interface Hooks IV struct bwow_link_layer_protocol_spec { … int (*num_params)( prm_typ ) int (*is_param_set_by_user)( prm_typ, int i ) char * (*get_param_name)( prm_typ, i ) int (*get_param_index)( prm_type, char *name ) void * (*get_param_value( prm_type, i ) int (*set_param_value( prm_type, void *pvalue ) }


Download ppt "Modular Protocol Architecture Link Layer Protocol Interface Specification Ruchira Datta UC Berkeley WOW Group."

Similar presentations


Ads by Google