RFC: connectionless Data Link Metalanguage Burkhard Daniel
|
|
- Ashlyn Daniels
- 6 years ago
- Views:
Transcription
1 RFC: connectionless Data Link Metalanguage Burkhard Daniel This RFC details a specification draft for a UDI metalanguage interfacing UDI Network Protocol drivers to UDI Data Link drivers. The metalanguage proposed here provides connectionless data link service to the network protocol driver. cldl Metalanguage Model This document identifies two entities: The Data Link Provider (DLP) and the Data Link Service User (DLU) (usually the network protocol driver). A DLP provides connectionless Data Link functionality above the MAC level. DLUs are children of the DLP. Any DLP can have multiple children, and any DLU can have multiple parents. A DLP instance enumerates all its children at the time it is instantiated by the MA. A DLU can then bind to the DLP by issuing the udi_dlp_bind_req operation over the initial bind channel established by the MA between the DLU and the DLP. A DLP acts as or using a separate communication mechanism -- interfaces with the NSR (Network Service Requestor) as defined by the UDI Network Interface Metalanguage. There is one DLP instance per network interface for any one distinct Data Link protocol. There is one DLU instance for any one distinct network protocol (or entity providing network-level protocol functionality). Any network protocol for which operation over a given data link protocol is defined and desirable can be bound to the corresponding DLP. Consequently, a DLU can utilize various DLPs, according to the desired operation (i.e. IP over Ethernet vs. IP over Wireless LAN). Likewise, one DLP can be used by various DLUs (i.e. IP over Ethernet vs. IPX over Ethernet on the same interface). An external configuration mechanism is needed to set up legal bindings between DLPs and DLUs. Each DLP instance will enumerate one child for each such binding. These bindings shall be based on a system-specific description of the network-level protocol entities (DLUs). DLPs and DLUs implicitly agree on an addressing format for the udi_dl_tx_req operation by binding to one another. The addr_type enumeration attribute contains a description of the addressing format a DLP understands. If the DLU understands the same addressing format, they can bind and that addressing format is used to describe destination endpoints. The addressing format also determines the format of the SAP address that the DLU specifies in the udi_dlp_rx_chan_req operation. During the bind operation, the DLP informs the DLU about the QoS guarantees it can make. When creating a transmit channel, the DLU can then specify a default set of QoS constraints to be used for transmission over that channel. However, each packet can also carry its own set of QoS constraints. The Data Link Metalanguage exposes a subset of the network device control operations defined in the UDI NIC metalanguage to the DLU in order to allow for protocols that need specific hardware support. The DLP can handle these control operations itself, if the NIC device does not support them or if the DLP provides overloaded functionality for these operations, or it can pass the operations to the ND for execution. Flow control is achieved in a manner similar to that of the NIC Metalanguage. The DLP allocates a pool of control blocks to be used for packet transmission, which it then passes to the DLU using the udi_dlu_tx_rdy operation. Similarly, the DLU allocates a supply of control blocks to be used for packet reception, which is made available to the DLP using the udi_dlp_rx_rdy operation. Page 1 of 35
2 Connectionless DL Metalanguage Definitions NAME udi_dlp_ctrl_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlp_bind_req_op_t *dlp_bind_req_op; udi_dlp_unbind_req_op_t *dlp_unbind_req_op; udi_dlp_unbind_ack_op_t *dlp_unbind_ack_op; udi_dlp_rx_chan_req_op_t *dlp_rx_chan_req_op; udi_dlp_tx_chan_req_op_t *dlp_tx_chan_req_op; udi_dlp_ctrl_req_op_t *dlp_ctrl_req_opt; } udi_dlp_ctrl_ops_t; /* DLP control Ops Vector Number */ #define UDI_DLP_CTRL_OPS_NUM 1 DESCRIPTION A Data Link Driver uses the udi_dlp_ctrl_ops_t structure in a udi_dlp_ctrl_ops_t in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for the Data Link Metalanguage operations delivered via the initial bind channel between the DLU and the DLP. Page 2 of 35
3 NAME udi_dlp_tx_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlp_tx_req_op_t *dlp_tx_req_op; udi_dlp_tx_qos_req_op_t *dlp_tx_qos_req_op; udi_dlp_qos_modify_req_op_t *dlp_tx_qos_modify_req_op; } udi_dlp_tx_ops_t; /* DLP TX Ops Vector Number */ #define UDI_DLP_TX_OPS_NUM 2 DESCRIPTION A Data Link Driver uses the udi_dlp_tx_ops_t structure in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for operations over a Data Link Metalanguage transmit channel. Page 3 of 35
4 NAME udi_dlp_rx_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlp_rx_rdy_op_t *dlp_rx_rdy_op; } udi_dlp_rx_ops_t; /* DLP TX Ops Vector Number */ #define UDI_DLP_RX_OPS_NUM 3 DESCRIPTION A Data Link Driver uses the udi_dlp_rx_ops_t structure in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for operations over a Data Link Metalanguage receive channel. Page 4 of 35
5 NAME udi_dlu_ctrl_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlu_bind_ack_op_t *dlu_bind_ack_op; udi_dlu_unbind_ack_op_t *dlu_unbind_ack_op; udi_dlu_unbind_req_op_t *dlu_unbind_req_op; udi_dlu_rx_chan_ack_op_t *dlu_rx_chan_ack_op; udi_dlu_tx_chan_ack_op_t *dlu_tx_chan_ack_op; udi_dlu_ctrl_ack_op_t *dlu_ctrl_ack_op; } udi_dlu_ctrl_ops_t; /* DLU control Ops Vector Number */ #define UDI_DLU_CTRL_OPS_NUM 4 DESCRIPTION A Network Protocol Driver uses the udi_dlu_ctrl_ops_t structure in a udi_dlp_ctrl_ops_t in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for the Data Link Metalanguage control operations. Page 5 of 35
6 NAME udi_dlu_tx_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlu_tx_rdy_op_t *dlu_tx_rdy_op; udi_dlu_tx_qos_modify_ack_op_t *dlu_tx_qos_modify_ack_op; } udi_dlu_tx_ops_t; /* DLU TX Ops Vector Number */ #define UDI_DLU_TX_OPS_NUM 5 DESCRIPTION A Network Protocol Driver uses the udi_dlu_tx_ops_t structure in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for operations over a Data Link Metalanguage transmit channel. Page 6 of 35
7 NAME udi_dlu_rx_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlu_rx_ind_op_t *dlu_rx_ind_op; } udi_dlu_tx_ops_t; /* DLP RX Ops Vector Number */ #define UDI_DLU_RX_OPS_NUM 6 DESCRIPTION A Network Protocol Driver uses the udi_dlu_rx_ops_t structure in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for operations over a Data Link Metalanguage receive channel. Page 7 of 35
8 NAME udi_dl_cb_t typedef struct { udi_cb_t gcb; } udi_dl_cb_t; /* Data Link Standard Control Block Number */ #define UDI_DL_STD_CB_NUM 1 DESCRIPTION The udi_dl_cb_t structure is used for channel operations between a child (DLU) and its parent (DLP) where there is no additional metalanguage information needed in the control block. This control block must be declared by specifying the control block index value UDI_DL_STD_CB_NUM in a udi_cb_init_t in the driver s udi_init_info. Page 8 of 35
9 NAME udi_dl_bind_cb_t typedef struct { udi_cb_t gcb; udi_ubit32_t min_dlpdu_size; udi_ubit32_t max_dlpdu_size; udi_ubit8_t max_perfect_multicast; udi_ubit8_t max_total_multicast; udi_ubit8_t mac_addr_len; void *qos_caps; } udi_dl_bind_cb_t; /* Data Link Bind Control Block Number */ #define UDI_DL_BIND_CB_NUM 2 MEMBERS gcb is the generic control block header which includes a pointer to the scratch space associated with this block and the channel context for the associated channel. The driver may use the scratch space while it owns the control block, but the values are not guaranteed to persist across channel operations. min_dlpdu_size is the minimum size of a Data Link Protocol Data Unit. This represents the minimum number of bytes that make up one packet sent or received by the DLP, including the data link header attached by the DLP. The DLP sets this value in the bind ack operation. max_dlpdu_size is the maximum size of a Data Link Protocol Data Unit. This represents the maximum number of bytes that make up one packet sent or received by the DLP, including the data link header attached by the DLP. The DLP sets this value in the bind ack operation. max_total_multicast is the maximum number of multicast addresses that can be matched by the Network Driver and associated hardware. This is used to allow the DLU to determine how to handle situations where more multicast addresses are desired beyond hardware capabilities. The DLU not, in any situation, issue a DLP trol request that would set the total number of multicast addresses to be matched above this number. mac_addr_len is the number of bytes to be used for MAC addresses for the network adapter hardware. The DLU needs to know the size of hardware MAC addresses if it intends to change or query the MAC addresses of the interface using DLP control operations. qos_caps is a pointer to an inline memory structure specifying the quality of service parameters the DLP supports. The DLP sets the contents of this structure before calling the bind ack operation. If NULL, the DLP does not make any Quality-of-Service guarantees and any constraints specified for packet transmission will be ignored by the DLP. The pointer itself is set by the environment and must not be modified by either the DLP or the DLU. Page 9 of 35
10 DESCRIPTION The udi_dl_bind_cb_t structure is used for the udi_dlp_bind_req and udi_dlu_bind_ack operations between a child (DLU) and its parent (DLP). This structure is empty for the udi_dlp_bind_req operation, and its members are filled in by the DLP for the corresponding udi_dlu_bind_ack operation. This control block must be declared by specifying the control block index value UDI_DL_BIND_CB_NUM in a udi_cb_init_t in the driver s udi_init_info. The qos_caps member points to a structure of type udi_qos_capabilities_t, which is defined in the UDI Quality of Service Library. Page 10 of 35
11 NAME udi_dl_ctrl_cb_t typedef struct { udi_cb_t gcb; udi_ubit8_t command; udi_ubit32_t indicator; udi_buf_t *data_buf; } udi_dl_ctrl_cb_t; /* Data Link Control Op Control Block Number */ #define UDI_DL_CTRL_CB_NUM 3 MEMBERS gcb is the generic control block header which includes a pointer to the scratch space associated with this block and the channel context for the associated channel. The driver may use the scratch space while it owns the control block, but the values are not guaranteed to persist across channel operations. command is the control command the DLP must execute or forward to the NIC driver for processing, as appropriate for the protocol implementation. The following control commands have been identified: UDI_NIC_ADD_MULTI Configures the multicast addresses specified in the supplied buffer. The data_buf contains the array of MAC addresses to be added to the existing filter (the number of addresses being specified is indicated by the indicator field). The remaining portion of the data_buf contains the new filter table including the newly added addresses. Devices which can modify their address filtering simply by knowing the addresses which are to be added or removed can use the initial indicator number of addresses to modify their filter. Other devices require access to the full table of addresses to be filtered to recompute the filter and may use the latter portion of the data_buf. It is possible for the DLU to register multiple times for a specific multicast address, and the DLP is responsible for handling this redundancy. The DLP must also validate the multicast addresses. The contents of the data buffer are guaranteed to be preserved across a channel for the request but not for the response. UDI_NIC_DEL_MULTI Removes the multicast addresses specified in the supplied buffer. In a manner similar to the UDI_NIC_ADD_MULTI operation, the initial indicator number of addresses in the data_buf lists the addresses to be removed, and the latter portion of the data_buf lists the new filter set after removing the specified addresses. The contents of the data buffer are guaranteed to be preserved across a channel Page 11 of 35
12 for the request but not for the response. UDI_NIC_ALLMULTI_ON Instructs the DLP to enable the network adapter to receive all multicast addressed packets. The indicator field is unused and the data_buf field must be NULL. This operation additionally indicates that any specific multicast addresses registered (via UDI_NIC_ADD_MULTI) must be removed. UDI_NIC_ALLMULTI_OFF Disables the reception of all multicast addresses. The indicator and data_buf arguments are used in the same manner as in the UDI_NIC_ADD_MULTI operation to specify the new list of specific multicast addresses (if any) that are to be passed to the DLP. The DLP must ensure that the adapter hardware is returned to the standard reception mode with no multicast addresses being received unless UDI_PROMISC_ON is in effect or unless specifically registered via this operation. The contents of the data buffer are guaranteed to be preserved across a channel for the request but not for the response. UDI_NIC_GET_CURR_MAC Reads the network adapter card s current physical MAC address or addresses. The array of MAC addresses is placed into the data_buf and the number of MAC addresses is placed into the indicator field in the same manner as described for the UDI_NIC_SET_CURR_MAC command. The buf_size in the data_buf divided by the indicator value should yield the same MAC address size as specified in the bind operation. The contents of the data buffer are guaranteed to be preserved across a channel for the response but not for the request. UDI_NIC_SET_CURR_MAC Configures the network adapter card s current physical MAC address or addresses. A typical card will have only a single unicast MAC address, but some configurations and hardware support the registration of multiple unicast MAC addresses for a network interface. The DLP may be instructed to register for multiple unicast MAC addresses by specifying an array of addresses in the associated buffer. All unicast addresses beyond the first address will be accrued against the NIC driver s max_perfect_multicast address count limit as specified in the bind operation; the total number of multicast and unicast addresses (excluding the first) registered by the DLU must not exceed the max_perfect_multicast value. The array of MAC addresses to be set is contained in the data_buf and the number of MAC addresses is in the indicator field. The buf_size in the data_buf divided by the indicator value should yield the same MAC address size as specified in the bind operation. The contents of the data buffer are guaranteed to be preserved across a channel for the request but not for the response. UDI_NIC_GET_FACT_MAC Reads the network adapter card s factory installed physical MAC address. The factory MAC address is specified as the single Page 12 of 35
13 element array in the data_buf in the same manner as for the UDI_NIC_GET_CURR_MAC command. This is the initial MAC address used to operate the NIC until changed via UDI_NIC_SET_CURR_MAC. The contents of the data buffer are guaranteed to be preserved across a channel for the response but not for the request. UDI_NIC_PROMISC_ON Instructs the DLP to enable the promiscuous mode on the network adapter card. The indicator field is unused and the data_buf field must be NULL. When promiscuous mode is enabled, the hardware should be configured such that no destination address matching is performed and all packets should be received and sent to the DLU. Error packets will still be discarded by the DLP. UDI_NIC_PROMISC_OFF Disables the promiscuous mode on the network adapter card. The indicator field is unused and the data_buf field must be NULL. The DLU must now be passed only unicast addresses specific to this adapter or any multicast addresses enabled by any previous UDI_NIC_ADD_MULTI or UDI_NIC_ALLMULTI_ON operations. UDI_NIC_HW_RESET Resets the network adapter card. The indicator field is unused and the data_buf field must be NULL. This operation should cause the hardware to be physically reset if possible. Any operations pending on the hardware should be cancelled and cleaned up; any operations pending in the driver that have not yet been delivered to the hardware (or which have already been completed by the hardware) should be processed as normal following the reset. All other activity should be suspended during the reset operation and the driver should restore the hardware to the same operational state that it had before the reset was issued with the following exceptions: promiscuous mode is disabled, no multicast addresses are registered, the current MAC address must be reprogrammed (i.e. the factory MAC address does not override the current setting), and link status should be established if the NIC driver s state is ENABLED or ACTIVE when this request is received. DESCRIPTION The udi_dl_ctrl_cb_t structure is used by the DLU to configure the NIC driver and the hardware via the DLP. The DLU must fill in its fields prior to initiating a udi_dlp_ctrl_req operation over the initial bind channel between the DLU and the DLP according to the requested operation. The commands that can be used with this control block are those available in the UDI NIC metalanguage. In executing (or forwarding) a control command as specified above, the DLP assumes the role of the NSR, i.e. it acts as the initiator for device control operations. Control functionality is exposed to the DLU to enable protocol-specific features that need special support from the underlying hardware. Page 13 of 35
14 NAME udi_dlp_bind_req void udi_dlp_bind_req ( udi_dl_bind_cb_t *cb); is a pointer to a Data Link Metalanguage bind control block. The fields of this control block are to be initialized by the binding DLP, which will return the control block to the DLU in a subsequent udi_dlu_bind_ack operation. TARGET CHANNEL The udi_dlp_bind_req operation is issued over the Data Link Metalanguage control channel, which is also the primary channel initially established by the MA to bind the primary region of the DLP to the primary region of the DLU. DESCRIPTION udi_dlp_bind_req is used to associate, or bind a channel between the DLU and the DLP. Page 14 of 35
15 NAME udi_dlu_bind_ack void udi_dlu_bind_ack ( udi_dl_bind_cb_t *cb, udi_status_t status); is a pointer to a Data Link Metalanguage bind control block. status indicates the success or failure of the data link bind request. TARGET CHANNEL The udi_dlu_bind_ack operation is issued over the Data Link Metalanguage control channel over which the corresponding udi_dlp_bind_req operation was received. DESCRIPTION Response to a udi_dlp_bind_req operation. The DLP uses this to acknowledge the bind operation to the DLU and to signal the success of the bind operation. TODO: Explain Status codes. Page 15 of 35
16 NAME udi_dlp_unbind_req void udi_dlp_unbind_req ( udi_dl_cb_t *cb); is a pointer to a Data Link Metalanguage standard control block. TARGET CHANNEL The udi_dlp_unbind_req operation is issued over the Data Link Metalanguage control channel. DESCRIPTION The udi_dlp_unbind_req operation is used when the DLU wishes to close down an active binding between itself and the DLP. All data transfer ceases, any queued data is discarded, and the data channel(s) are closed. The control channel may be used to issue a subsequent udi_dlp_bind_req to the DLP if desired or it may also be closed. Page 16 of 35
17 NAME udi_dlu_unbind_ack void udi_dlu_unbind_ack ( udi_dl_cb_t *cb, udi_status_t status); is a pointer to a Data Link Metalanguage standard control block. status indicates the success or failure of the data link unbind request. TARGET CHANNEL The udi_dlu_unbind_ack operation is issued over the Data Link Metalanguage control channel over which the corresponding udi_dlp_unbind_req operation was received. DESCRIPTION Response to a udi_dlp_unbind_req operation. After this operation is performed, the DLU will no longer attempt to transmit packets or to establish additional data transfer channels between itself and the DLP unless another udi_dlp_bind_req has been issued and handshaked before. Likewise, the DLP will stop delivering incoming packets to the DLU unless it has been bound again. TODO: Explain Status codes. Page 17 of 35
18 NAME udi_dlu_unbind_req void udi_dlu_unbind_req ( udi_dl_cb_t *cb); is a pointer to a Data Link Metalanguage standard control block. TARGET CHANNEL The udi_dlu_unbind_req operation is issued over the Data Link Metalanguage control channel. DESCRIPTION The udi_dlu_unbind_req operation is used when the DLP wishes to close down an active binding between itself and the DLU. All data transfer ceases, any queued data is discarded, and the data channel(s) are closed. The control channel may be used by the DLU to issue a subsequent udi_dlp_bind_req to the DLP if desired or it may also be closed. Page 18 of 35
19 NAME udi_dlp_unbind_ack void udi_dlp_unbind_ack ( udi_dl_cb_t *cb, udi_status_t status); is a pointer to a Data Link Metalanguage standard control block. status indicates the success or failure of the data link unbind request. TARGET CHANNEL The udi_dlp_unbind_ack operation is issued over the same Data Link Metalanguage control channel through which the corresponding udi_dlu_unbind_req operation was received. DESCRIPTION Response to a udi_dlu_unbind_req operation. After this operation is performed, the DLU will no longer attempt to transmit packets or to establish additional data transfer channels between itself and the DLP unless another udi_dlp_bind_req has been issued and handshaked before. Likewise, the DLP will stop delivering incoming packets to the DLU unless it has been bound again. TODO: Explain Status codes. Page 19 of 35
20 NAME udi_dlp_ctrl_req void udi_dlp_ctrl_ack ( udi_dl_ctrl_cb_t *cb ); is a pointer to a Data Link Metalanguage control operation control block. TARGET CHANNEL The udi_dlp_ctrl_req operation is issued over the Data Link Metalanguage control channel. DESCRIPTION The udi_dlp_ctrl_req operation is used to configure operation of the DLP, the NIC driver and the network hardware. The network configuration operations are explained in more detail in the description of the udi_dl_ctrl_cb_t structure. This request cannot be aborted. Page 20 of 35
21 NAME udi_dlu_ctrl_ack void udi_dlu_ctrl_ack ( udi_dl_ctrl_cb_t *cb, udi_status_t status ); is a pointer to a Data Link Metalanguage control operation control block. status indicates success or failure of the corresponding control request. TARGET CHANNEL The udi_dlu_ctrl_ack operation is issued over the Data Link Metalanguage control channel in response to a corresponding udi_dlp_ctrl_req operation. DESCRIPTION The udi_dlu_ctrl_ack operation confirms a previous udi_dlp_ctrl_req operation and delivers status information. STATUS VALUES UDI_OK indicates that the network control operation succeeded. UDI_STAT_NOT_UNDERSTOOD indicates that the control operation parameters were invalid. UDI_STAT_RESOURCE_UNAVAIL indicates that the DLP or ND did not have and could not obtain the necessary resources to satisfy the request. UDI_STAT_HW_PROBLEM indicates that the request could not be satisfied due to hardware problems or limitations. Page 21 of 35
22 NAME udi_dlp_rx_chan_req void udi_dlp_rx_chan_req ( udi_dl_cb_t *cb, udi_index_t rx_chan_index, void *dlp_sap_addr, udi_boolean_t pass_whole_pkt ); is a pointer to a Data Link Metalanguage standard control block. rx_chan_index is the index of the data receive channel to be created between the DLP and the DLU by synchronizing via udi_channel_spawn operations. dlp_sap_addr is a protocol-specific description of a service access point address to be used for that receive channel. The service access point address specifies which data link packet should be forwarded over the requested receive channel. The pointer itself is set by the environment, and must not be modified by the driver. pass_whole_pkt is a flag that if set to TRUE instructs the DLP to pass the entire data link PDU (instead of the SDU) up to the DLU. TARGET CHANNEL The udi_dlp_rx_chan_req operation is issued over the Data Link Metalanguage control channel. DESCRIPTION The udi_dlp_rx_chan_req operation is used to establish a receive data transfer channel between the DLP and the DLU. The DLU spawns one end of the data transfer channel and then issues this request, which causes the DLP to create its end of the same channel (using the rx_chan_index parameter to identify the channel being spawned). The channel will then be used by the DLP to report incoming packets to the DLU. The dlp_sap_addr parameter encodes the address of a service access point (or service user) in a protocol-specific manner. This parameter allows the DLP to decide which incoming packets should be indicated to the service user over the receive channel. The size and layout of the dlp_sap_addr structure must be specified using the inline_size and inline_layout members of the udi_cb_init_t structure used to associate this control block to a control block index (i.e. dlp_sap_addr is a UDI_DL_INLINE_DRIVER_TYPED field). TODO: Better explain SAP address. Rename SAP address, as this is probably a misnomer. What s a better name? Page 22 of 35
23 NAME udi_dlu_rx_chan_ack void udi_dlu_rx_chan_ack ( udi_dl_cb_t *cb, udi_status_t status ); is a pointer to a Data Link Metalanguage standard control block. status indicates the success or failure of the channel allocation request. TARGET CHANNEL The udi_dlu_rx_chan_ack operation is issued over the same Data Link Metalanguage control channel that the corresponding udi_dlp_rx_chan_req was delivered over. DESCRIPTION Response to udi_dlp_rx_chan_req. The udi_dlu_rx_chan_ack operation acknowledges the channel creation request and informs the DLU about the success of the request. If the operation was successful, the DLP will henceforward deliver incoming packets over the newlybound channel that match the SAP specification identified by the dlp_sap parameter in the udi_dlp_chan_req operation. TODO: Explain Status codes. Page 23 of 35
24 NAME udi_dlp_tx_chan_req void udi_dlp_tx_chan_req ( udi_dl_cb_t *cb, udi_index_t tx_chan_index, void *default_qos ); is a pointer to a Data Link Metalanguage standard control block. tx_chan_index is the index of the data transmit channel to be created between the DLP and the DLU by synchronizing via udi_channel_spawn operations. default_qos is a pointer to a memory structure describing the default Quality-of-Service constraints to be used for transmitting on the transmit channel to be created. This parameter can be NULL, indicating that the DLU does not request default QoS constraints for this channel. TARGET CHANNEL The udi_dlp_tx_chan_req operation is issued over the Data Link Metalanguage control channel. DESCRIPTION The udi_dlp_tx_chan_req operation is used to establish a transmit data transfer channel between the DLP and the DLU. The DLU spawns one end of the data transfer channel and then issues this request, which causes the DLP to create its end of the same channel (using the tx_chan_index parameter to identify the channel). The newly created channel will then be used by the DLU to transmit data to the DLP. If non-null, the memory pointed to by the default_qos member must have been allocated as moveable, and must point to a valid structure of type udi_qos_constraints_t. Page 24 of 35
25 NAME udi_dlu_tx_chan_ack void udi_dlu_tx_chan_ack ( udi_dl_cb_t *cb, udi_status_t status ); is a pointer to a Data Link Metalanguage standard control block. status indicates the success or failure of the channel allocation request. TARGET CHANNEL The udi_dlu_tx_chan_ack operation is issued over the same Data Link Metalanguage control channel that the corresponding udi_dlp_tx_chan_req was delivered over. DESCRIPTION Response to udi_dlp_tx_chan_req. The udi_dlu_tx_chan_ack operation acknowledges the channel creation request and informs the DLU about the success of the request. If the operation was successful, the DLU can start transmitting packets over the newly-bound channel. TODO: Explain Status codes. Page 25 of 35
26 NAME udi_dl_tx_cb_t typedef struct ( udi_cb_t gcb; udi_dl_tx_cb_t *chain; udi_buf_t *tx_buf; void *tx_addr; } udi_dl_tx_cb_t; /* Data Link Transmit Control Block Group Number */ #define UDI_DL_TX_CB_NUM 4 MEMBERS gcb chain is the generic control block which includes a pointer to the scratch space associated with this block and the channel context for the associated channel. The driver may use the scratch space while it owns the control block, but the values are not guaranteed to persist across channel operations. is a pointer to the next udi_dl_tx_cb_t structure (and associated SDU buffer) for this operation. The DLP and DLU will use this field to batch a number of transmit requests or ready s into a single metalanguage operation. The DLP, DLU, or environment are free to divide a chain at any point and implement explicit operations for each resulting portion of the chain, but performance concerns would indicate that processing the entire chain as a batch is highly desirable. The end of a chain is indicated by a NULL pointer. tx_buf is the buffer describing the SDU to be transmitted. This field must be NULL for the udi_dlu_tx_rdy operation and is used only for the udi_dlp_tx_req operation, for which the contents of the buffer are guaranteed to be preserved across a channel. tx_addr is a pointer to an inline memory structure describing the address to which the attached SDU should be sent. The format of this structure is protocol-specific. The pointer itself is set by the environment when the control block is allocated, and must not be modified by the driver. DESCRIPTION The udi_dl_tx_cb_t structure is passed from the DLP to the DLU to indicate its capability for transmitting a SDU; the DLU subsequently attaches an SDU buffer to this control block and returns it to the DLP for transmission. The DLU can only pass SDUs to the DLP when it has available control blocks. This mechanism implements flow control between the DLP and the DLU by requiring the DLP to supply the DLU with all usable udi_dl_tx_cb_t structures (i.e. the DLU must not allocate structures of this type). This control block must be declared by specifying the control block index value UDI_DL_TX_CB_NUM in a udi_cb_init_t in the driver s udi_init_info. The size and layout of the tx_addr structure must be specified using the inline_size and inline_layout members of that udi_cb_init_t structure (i.e. tx_addr is a UDI_DL_INLINE_DRIVER_TYPED field). Page 26 of 35
27 NAME udi_dlu_tx_rdy void udi_dlu_tx_rdy ( udi_dl_tx_cb_t *cb ); is a pointer to a Data Link Metalanguage transmit control block. TARGET CHANNEL The udi_dlu_tx_rdy operation is issued over a Data Link Metalanguage transmit channel that was previously established using the udi_dlp_tx_chan_req and udi_dlu_tx_chan_ack operations. DESCRIPTION The udi_dlu_tx_rdy operation is used to indicate to the DLU that the DLP can transmit a SDU when the DLU has one available. The DLU maintains a pool of control blocks of type udi_dl_tx_cb_t for SDU transmission. The udi_dlu_tx_rdy operation makes an additional control block available to the DLU, which can then start or continue transmitting over the channel associated with the control block. This is used to perform flow control. Multiple udi_dl_tx_cb_t structures can be chained together (using the chain pointer). Single control blocks as well as a chain of control blocks can be passed using this operation. Page 27 of 35
28 NAME udi_dlp_tx_req void udi_dlp_tx_req ( udi_dl_tx_cb_t *cb ); is a pointer to a Data Link Metalanguage transmit control block. TARGET CHANNEL The udi_dlp_tx_req operation is issued over a Data Link Metalanguage transmit channel that was previously established using the udi_dlp_tx_chan_req and udi_dlu_tx_chan_ack operations. DESCRIPTION The udi_dlp_tx_req operation is called by the DLU to pass one or more SDU buffers to the DLP for transmission over the DLP's associated interface. Each SDU buffer is attached to a separate udi_dl_tx_cb_t control block. Multiple packet buffers may be passed by chaining control blocks together (using the chain field in the udi_dl_tx_cb_t structure). Each packet buffer represents one Data Link SDU (Service Data Unit), i.e. usually one higher-level PDU (Protocol Data Unit). The DLP will perform transmission of the packet according to the default Quality-of-Service constraints associated with the transmit channel used for the operation. If no default QoS constraints are associated with the channel, the DLP will provide an implementation-dependent suitable default service. Page 28 of 35
29 NAME udi_dlp_tx_qos_req void udi_dlp_tx_qos_req ( udi_dl_tx_cb_t *cb, void *tx_qos ); is a pointer to a Data Link Metalanguage transmit control block. tx_qos is a pointer to a memory structure describing the Quality-of-Service constraints associated with the attached SDU. For the format of this structure pointed to by this member, refer to the description of udi_dl_qos_constraints_t. Must not be NULL. TARGET CHANNEL The udi_dlp_tx_qos_req operation is issued over a Data Link Metalanguage transmit channel that was previously established using the udi_dlp_tx_chan_req and udi_dlu_tx_chan_ack operations. DESCRIPTION The udi_dlp_tx_qos_req operation is called by the DLU to pass one or more SDU buffers to the DLP for transmission over the DLP's associated interface. Each SDU buffer is attached to a separate udi_dl_tx_cb_t control block. Multiple packet buffers may be passed by chaining control blocks together (using the chain field in the udi_dl_tx_cb_t structure). Each packet buffer represents one Data Link SDU (Service Data Unit), i.e. usually one higher-level PDU (Protocol Data Unit). The DLP will perform transmission of the packet according to the Quality-of-Service constraints specified in tx_qos. The memory pointed to by tx_qos must have been allocated as moveable, and must point to a valid structure of type udi_dl_qos_constraints_t. Page 29 of 35
30 NAME udi_dlp_tx_qos_modify_req void udi_dlp_tx_qos_modify_req ( udi_dl_cb_t *cb, void *new_default_qos ); is a pointer to a Data Link Metalanguage standard control block. new_default_qos is a pointer to a memory structure describing the Quality-of-Service constraints associated with the attached SDU. For the format of the structure pointed to by this member, refer to the description of udi_dl_qos_constraints_t. Must not be NULL. TARGET CHANNEL The udi_dlp_tx_qos_modify_req operation is issued over a Data Link Metalanguage transmit channel that was previously established using the udi_dlp_tx_chan_req and udi_dlu_tx_chan_ack operations. DESCRIPTION The udi_dlp_tx_qos_modify_req operation is called by the DLU to change the default Quality-of-Service constraints associated with the transmit channel associated with the control block cb. After issuing this operation, no udi_dlp_tx_req operation should be issued over the same transmit channel until the corresponding udi_dlu_tx_qos_modify_ack operation is delivered to the DLU. The memory pointed to by new_default_qos must have been allocated as moveable, and must point to a valid structure of type udi_dl_qos_constraints_t. Page 30 of 35
31 NAME udi_dlu_tx_qos_modify_ack void udi_dlu_tx_qos_modify_ack ( udi_dl_cb_t *cb, udi_status_t status ); is a pointer to a Data Link Metalanguage standard control block. status indicates the completion status of the corresponding udi_dlp_tx_qos_modify_req operation. TARGET CHANNEL The udi_dlu_tx_qos_modify_ack operation is issued over the same Data Link Metalanguage transmit channel that was used to deliver the corresponding udi_dlp_tx_qos_modify_req operation. DESCRIPTION The udi_dlu_tx_qos_modify_ack operation is called by the DLP to complete changing the default Quality-of-Service constraints associated with the transmit channel over which the operation was delivered. The DLU can resume transmitting over the associated transmit channel as soon as this operation has been delivered. Page 31 of 35
32 NAME udi_dl_rx_cb_t typedef struct ( udi_cb_t gcb; udi_dl_rx_cb_t *chain; udi_buf_t *rx_buf; void *rx_qos; TODO: Do we need rx_status or anything else? Do we even need qos_constraints? } udi_dl_rx_cb_t; /* Data Link Transmit Control Block Group Number */ #define UDI_DL_RX_CB_NUM 5 MEMBERS gcb chain is the generic control block which includes a pointer to the scratch space associated with this block and the channel context for the associated channel. The driver may use the scratch space while it owns the control block, but the values are not guaranteed to persist across channel operations. is a pointer to the next udi_dl_rx_cb_t structure (and associated SDU buffer) for this operation. The DLP and DLU will use this field to batch a number of transmit requests or ready s into a single metalanguage operation. The DLP, DLU, or environment are free to divide a chain at any point and implement explicit operations for each resulting portion of the chain, but performance concerns would indicate that processing the entire chain as a batch is highly desirable. The end of a chain is indicated by a NULL pointer. rx_buf is the buffer containing the SDU that has been received. This field is used to pass an empty buffer to the DLP (rx_buf->buf_size == 0) in the udi_dlp_rx_rdy operation. It is filled in with the actual SDU for each udi_dlu_rx_ind operation. rx_qos is a pointer to an inline memory structure describing the Quality-of-Service constraints associated with the attached SDU. The pointer itself is set by the environment and must not be modified by the driver. This member points to a udi_qos_constraints_t structure. DESCRIPTION The udi_dl_rx_cb_t structure is passed from the DLU to the DLP to indicate a capability for receiving a SDU; the DLP subsequently attaches SDU and QoS-constraint buffers to this control block and returns it to the DLU upon valid reception of a relevant SDU. Only successfully received SDUs will be processed and reported to the DLU. This control block must be declared by specifying the control block index value UDI_DL_RX_CB_NUM in a udi_cb_init_t in the driver s udi_init_info. Page 32 of 35
33 NAME udi_dlp_rx_rdy void udi_dlp_rx_rdy ( udi_dl_rx_cb_t *cb ); is a pointer to a Data Link Metalanguage receive control block. TARGET CHANNEL The udi_dlp_rx_rdy operation is issued over a Data Link Metalanguage receive channel that was previously established using the udi_dlp_rx_chan_req and udi_dlu_rx_chan_ack operations. DESCRIPTION The udi_dlp_rx_rdy operation is used to indicate to the DLP that the DLU can process a SDU when the DLP receives one from the underlying interface. The DLP maintains a pool of control blocks of type udi_dl_rx_cb_t for SDU reception. The udi_dlp_rx_rdy operation makes an additional colntrol block available to the DLU, which can then start or continue transmitting over the channel associated with the control block. This is used to perform flow control. Multiple udi_dl_rx_cb_t structures can be chained together (using the chain pointer). Single control blocks as well as a chain of control blocks can be passed using this operation. Page 33 of 35
34 NAME udi_dlu_rx_ind void udi_dlu_rx_ind ( udi_dl_rx_cb_t *cb ); is a pointer to a Data Link Metalanguage receive control block. TARGET CHANNEL The udi_dlu_rx_ind operation is issued over a Data Link Metalanguage receive channel that was previously established using the udi_dlp_rx_chan_req and udi_dlu_rx_chan_ack operations. DESCRIPTION The udi_dlu_rx_ind operation is called by the DLP to indicate to the DLU that the data link driver has received a relevant network-level SDU. Only SDUs that match the SAP address specified when the receive channel was created will be reported over that receive channel. Only valid SDUs will be reported, erroneous data link packets will be silently dropped. The cb can point to a single udi_dl_rx_cb_t structure, or multiple structures can be chained together using the chain pointer in the structure. Once the DLU is done processing the SDU contained in this (these) control block s (blocks ) rx_buf field, the control block (blocks) are returned to the DLP using the udi_dlp_rx_rdy operation. If the pass_whole_pkt argument in the udi_dlp_rx_chan_req operation used to create the receive channel over which the packet is to be delivered was set to TRUE, the DLP will not perform any decapsulation of the data link PDU, but will pass the original PDU to the DLU. Note that this requires the DLU to understand the format of the DLP s protocol format. Page 34 of 35
35 Enumeration Attributes Note: For all attributes of type UDI_ATTR_TYPE_STRING in the following table, the size range indication includes the terminating NUL character. ATTRIBUTE NAME TYPE SIZE DESCRIPTION dl_name UDI_ATTR_STRING Name of the Data Link Protocol supported by this DLP. TODO: Define known names in this spec. dl_rev UDI_ATTR_UBIT32 4 addr_type UDI_ATTR_STRING np_name UDI_ATTR_STRING Revision of the Data Link Protocol supported by this DLP. Name identifying a format for addressing information understood by this DLP. System name of a network-level protocol entity that can be bound to this DLP. TODO: Do we need this? Shouldn t bindings be enforced through directed enumeration? if_name UDI_ATTR_STRING System Interface name this DLP is bound to. if_media UDI_ATTR_STRING 1..8 Media type string as defined in NIC meta. identifier UDI_ATTR_STRING physical_label UDI_ATTR_STRING String representation of the Factory MAC address of the interface that this DLP supports, encoded in the same way as the attribute with the same name in the NIC meta. Driver-specified string uniquely identifying this DLP instance (optional). TODO: Define Attribute Ranking. Page 35 of 35
RFC: connectionless Data Link Metalanguage (cldl) cldl Metalanguage Model. RFC for a connectionless Data Link Metalanguage
RFC: connectionless Data Link Metalanguage (cldl) This RFC details a specification draft for a UDI metalanguage interfacing UDI Network Protocol drivers to UDI Data Link drivers. The metalanguage proposed
More informationOpen Universal Serial Bus Driver Interface (OpenUSBDI) Specification
Open Universal Serial Bus Driver Interface (OpenUSBDI) Specification Revision 0.9 June 21, 1999 Open USB Driver Interface (OpenUSBDI) Specification Compaq Computer Corporation, All rights reserved. 2 June
More informationLecture 7: Ethernet Hardware Addressing and Frame Format. Dr. Mohammed Hawa. Electrical Engineering Department, University of Jordan.
Lecture 7: Ethernet Hardware Addressing and Frame Format Dr. Mohammed Hawa Electrical Engineering Department University of Jordan EE426: Communication Networks MAC Addresses The shared medium in a LAN
More informationUDI NIC Test Specification
UDI NIC Test Specification by Gian-Carlo Bava (SCO) Barry Feild (SCO) Change History Revision Date Description 0.6 11/05/99 DRAFT version for review Approvers: TBD 1 Introduction This document describes
More information19: Networking. Networking Hardware. Mark Handley
19: Networking Mark Handley Networking Hardware Lots of different hardware: Modem byte at a time, FDDI, SONET packet at a time ATM (including some DSL) 53-byte cell at a time Reality is that most networking
More information1. Overview Ethernet FIT Module Outline of the API API Information... 5
Introduction APPLICATION NOTE R01AN2009EJ0115 Rev.1.15 This application note describes an Ethernet module that uses Firmware Integration Technology (FIT). This module performs Ethernet frame transmission
More informationOpen Universal Serial Bus Driver Interface (OpenUSBDI) Specification
Open Universal Serial Bus Driver Interface (OpenUSBDI) Specification Revision 1.0 July 17, 2000 Revision History Rev Date Filename Comments 1.0 5-May-00 usbd10.doc Update version to 1.0, remove "Review
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationTransport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol
Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the
More informationAppendix A Pseudocode of the wlan_mac Process Model in OPNET
Appendix A Pseudocode of the wlan_mac Process Model in OPNET static void wlan_frame_transmit () { char msg_string [120]; char msg_string1 [120]; WlanT_Hld_List_Elem* hld_ptr; const WlanT_Data_Header_Fields*
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationCS 43: Computer Networks Switches and LANs. Kevin Webb Swarthmore College December 5, 2017
CS 43: Computer Networks Switches and LANs Kevin Webb Swarthmore College December 5, 2017 Ethernet Metcalfe s Ethernet sketch Dominant wired LAN technology: cheap $20 for NIC first widely used LAN technology
More informationµtasker Document µtasker Multicasting and Internet Group Management Protocol (IGMP)
Embedding it better... µtasker Document µtasker Multicasting and Internet Group Management Protocol (IGMP) utasker_igmp.doc/0.01 Copyright 2014 M.J.Butcher Consulting Table of Contents 1. Introduction...3
More informationSpiNNaker Application Programming Interface (API)
SpiNNaker Application Programming Interface (API) Version 2.0.0 10 March 2016 Application programming interface (API) Event-driven programming model The SpiNNaker API programming model is a simple, event-driven
More informationChapter 6 Addressing the Network- IPv4
Chapter 6 Addressing the Network- IPv4 Objectives Explain the structure IP addressing and demonstrate the ability to convert between 8- bit binary and decimal numbers. Given an IPv4 address, classify by
More informationez80 Webserver Write your own EMAC Driver for Metro IPWorks
Write your own EMAC Driver for Metro IPWorks Technical Article Driving an Ethernet MAC The ez80 Webserver is equipped with two Ethernet Media Access Controller EMAC drivers that control the Realtek RTL8019AS
More informationComputer Networks (Introduction to TCP/IP Protocols)
Network Security(CP33925) Computer Networks (Introduction to TCP/IP Protocols) 부산대학교공과대학정보컴퓨터공학부 Network Type Elements of Protocol OSI Reference Model OSI Layers What we ll learn today 2 Definition of
More informationThe MAC Address Format
Directing data is what addressing is all about. At the Data Link layer, this is done by pointing PDUs to the destination MAC address for delivery of a frame within a LAN. The MAC address is the number
More informationConfiguration Commands Generic Commands Syntax description no description Context Description Default Parameters
Configuration Commands Generic Commands description Syntax description description-string no description Context config>qos>sap-egress config>qos>sap-egress>ip-criteria>entry config>qos>sap-ingress config>qos>sap-ingress>ip-criteria>entry
More informationAnnex B UMT Peer Discovery and Tunnel Auto-Configuration
0 Annex B UMT Peer Discovery and Tunnel Auto-Configuration B. Introduction IEEE Std. 0. Clause defines a method for delivering service data units (SDU) for higher layer protocols across a layer- network
More informationData Link Protocols. High Level Data. Control Protocol. HDLC Framing ~~~~~~~~ Functions of a Data Link Protocol. Framing PDUs. Addressing Destination
Data Link Protocols Data Link Services Connection-less services Functions of a Data Link Protocol Framing PDUs ing Destination Error Detection / Error Recovery Link Management Ethernet (covered elsewhere)
More informationTransport Layer. Gursharan Singh Tatla. Upendra Sharma. 1
Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message
More informationUser Datagram Protocol
Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram
More informationIEEE 802.1Q YANG Bridge Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version Sept 2016
IEEE 802.1Q YANG Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version 0.1 12 Sept 2016 IEEE 802.1Q Port Each Port is associated with one Interface, and in most situations, each
More informationChapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet
Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties
More informationMulticast Communications. Slide Set were original prepared by Dr. Tatsuya Susa
Multicast Communications Slide Set were original prepared by Dr. Tatsuya Susa Outline 1. Advantages of multicast 2. Multicast addressing 3. Multicast Routing Protocols 4. Multicast in the Internet 5. IGMP
More informationUSB Feature Specification: Shared Endpoints
USB Feature Specification: Shared Endpoints SYSTEMSOFT CORPORATION INTEL CORPORATION Revision 1.0 October 27, 1999 USB Feature Specification: Shared Endpoints Revision 1.0 Revision History Revision Issue
More informationThe Link Layer II: Ethernet
Monday Recap The Link Layer II: Ethernet q Link layer services q Principles for multiple access protocols q Categories of multiple access protocols CSC 249 March 24, 2017 1 2 Recap: Random Access Protocols
More informationIPv4 Unicast Forwarding Service API Implementation Agreement
IPv4 Unicast Forwarding Service API Implementation Agreement Revision 1.0 Editors: Hormuzd Khosravi, Intel Corporation, hormuzd.m.khosravi@intel.com Randy Worzella, IBM, worzella@us.ibm.com Copyright 2003
More informationMulticast Dissemination Protocol (MDP) Developer's Guide
Multicast Dissemination Protocol (MDP) Developer's Guide Brian Adamson Newlink Global Engineering Corporation Joe Macker Naval Research Laboratory 1
More informationIEEE 802.1Q YANG Bridge Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version July 2016
IEEE 802.1Q YANG Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version 0.4 28 July 2016 IEEE 802.1Q Port Each Port is associated with one Interface, and in most situations, each
More informationProcess Description and Control. Chapter 3
Process Description and Control Chapter 3 Contents Process states Process description Process control Unix process management Process From processor s point of view execute instruction dictated by program
More informationData Link Layer. Our goals: understand principles behind data link layer services: instantiation and implementation of various link layer technologies
Data Link Layer Our goals: understand principles behind data link layer services: link layer addressing instantiation and implementation of various link layer technologies 1 Outline Introduction and services
More informationInspirel. YAMI4 Requirements. For YAMI4Industry, v page 1
YAMI4 Requirements For YAMI4Industry, v.1.3.1 www.inspirel.com info@inspirel.com page 1 Table of Contents Document scope...3 Architectural elements...3 Serializer...3 Socket...3 Input buffer...4 Output
More informationTCP/IP Protocol Suite 1
TCP/IP Protocol Suite 1 Stream Control Transmission Protocol (SCTP) TCP/IP Protocol Suite 2 OBJECTIVES: To introduce SCTP as a new transport-layer protocol. To discuss SCTP services and compare them with
More informationUsing and Programming in Maestro
Using and Programming in Maestro Zheng Cai Rice University Maestro is an operating system for orchestrating network control applications. Maestro provides interfaces for implementing modular network control
More informationRequest for Comments: 851 Obsoletes RFC: 802. The ARPANET 1822L Host Access Protocol RFC 851. Andrew G. Malis ARPANET Mail:
Request for Comments: 851 Obsoletes RFC: 802 The ARPANET 1822L Host Access Protocol Andrew G. Malis ARPANET Mail: malis@bbn-unix Bolt Beranek and Newman Inc. 50 Moulton St. Cambridge, MA 02238 April 1983
More informationIntended status: Standards Track Expires: April 27, 2015 Q. Zhao Huawei Technology D. King Old Dog Consulting J. Hardwick Metaswitch October 24, 2014
PCE Working Group Internet-Draft Intended status: Standards Track Expires: April 27, 2015 A. Koushik Brocade Communications Inc. E. Stephan Orange Q. Zhao Huawei Technology D. King Old Dog Consulting J.
More informationProgramming Assignment 3: Transmission Control Protocol
CS 640 Introduction to Computer Networks Spring 2005 http://www.cs.wisc.edu/ suman/courses/640/s05 Programming Assignment 3: Transmission Control Protocol Assigned: March 28,2005 Due: April 15, 2005, 11:59pm
More informationTransport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)
Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote
More informationNetwork Advertisement and Selection Proposal for IEEE 802.1af
Network Advertisement and Selection Proposal for IEEE 802.1af 1 Introduction Network Advertisement and selection are enhancements to 802.1X defined in 802.1af to provide information about what is available
More informationProcesses and Threads
TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems Processes and Threads [SGG7] Chapters 3 and 4 Copyright Notice: The lecture notes are mainly based on Silberschatz s, Galvin
More informationReal-Time Protocol (RTP)
Real-Time Protocol (RTP) Provides standard packet format for real-time application Typically runs over UDP Specifies header fields below Payload Type: 7 bits, providing 128 possible different types of
More informationConfiguration Commands. Generic Commands. description XRS Quality of Service Guide Page 125
Configuration Commands Generic Commands description Syntax description description-string no description Context config>qos>shared-queue config>qos>network-queue config>qos>network config>qos>network>ingress>ipv6-criteria>entry
More informationCrit-bit Trees. Adam Langley (Version )
Crit-bit Trees Adam Langley (agl@imperialviolet.org) (Version 20080926) 1. Introduction This code is taken from Dan Bernstein s qhasm and implements a binary crit-bit (alsa known as PATRICA) tree for NUL
More informationNetworking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ
Networking for Data Acquisition Systems Fabrice Le Goff - 14/02/2018 - ISOTDAQ Outline Generalities The OSI Model Ethernet and Local Area Networks IP and Routing TCP, UDP and Transport Efficiency Networking
More informationNetworking interview questions
Networking interview questions What is LAN? LAN is a computer network that spans a relatively small area. Most LANs are confined to a single building or group of buildings. However, one LAN can be connected
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:
More informationPretty Good Protocol - Design Specification
Document # Date effective October 23, 2006 Author(s) Ryan Herbst Supersedes Draft Revision 0.02 January 12, 2007 Document Title Pretty Good Protocol - Design Specification CHANGE HISTORY LOG Revision Effective
More informationChapter 5: The Data Link Layer. Chapter 5 Link Layer and LANs. Ethernet. Link Layer. Star topology. Ethernet Frame Structure.
hapter 5 Link Layer and LNs omputer Networking: Top Down pproach 5 th edition. Jim Kurose, Keith Ross ddison-wesley, pril 2009. hapter 5: The Data Link Layer Our goals: understand principles behind data
More informationObsoletes: 2002 January 2002 Category: Standards Track
Network Working Group C. Perkins, Ed. Request for Comments: 3220 Nokia Research Center Obsoletes: 2002 January 2002 Category: Standards Track Status of this Memo IP Mobility Support for IPv4 This document
More informationNabto Serial Link Protocol
Nabto Serial Link Protocol Nabto TM Nabto Serial Link Protocol Page 1 of 22 Contents Vocabulary... 4 Introduction... 5 Access Control... 5 Connection type... 5 Access Control List... 5 Protocol details...
More informationInternet Engineering Task Force (IETF)
Internet Engineering Task Force (IETF) Request for Comments: 7420 Category: Standards Track ISSN: 2070-1721 A. Koushik Brocade Communications, Inc. E. Stephan Orange Q. Zhao Huawei Technology D. King Old
More informationIPv4 and ipv6 INTEROPERABILITY
IT2351-NPM/UNIT-4/ 1 IPv4 and ipv6 INTEROPERABILITY Till the time, IPv6 is established all over the world, there is a need for one to host dual stacks that is both IPv4 and IPv6 are running concurrently
More informationNetworking Technologies and Applications
Networking Technologies and Applications Rolland Vida BME TMIT Transport Protocols UDP User Datagram Protocol TCP Transport Control Protocol and many others UDP One of the core transport protocols Used
More informationUnit 2.
Unit 2 Unit 2 Topics Covered: 1. PROCESS-TO-PROCESS DELIVERY 1. Client-Server 2. Addressing 2. IANA Ranges 3. Socket Addresses 4. Multiplexing and Demultiplexing 5. Connectionless Versus Connection-Oriented
More informationThe Link Layer and LANs: Ethernet and Swiches
The Link Layer and LNs: Ethernet and Swiches EECS3214 2018-03-21 Link layer, LNs: outline 6.1 introduction, services 6.2 error detection, correction 6.3 multiple access protocols 6.4 LNs addressing, RP
More informationET4254 Communications and Networking 1
Topic 9 Internet Protocols Aims:- basic protocol functions internetworking principles connectionless internetworking IP IPv6 IPSec 1 Protocol Functions have a small set of functions that form basis of
More informationThe Transport Layer. Part 1
The Transport Layer Part 1 2 OVERVIEW Part 1 User Datagram Protocol Transmission Control Protocol ARQ protocols Part 2 TCP congestion control Mowgli XTP SCTP WAP 3 Transport Layer Protocols Connect applications
More informationOperating System Concepts
Chapter 9: Virtual-Memory Management 9.1 Silberschatz, Galvin and Gagne 2005 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped
More informationcdma2000 High Rate Packet Data Supplemental Services
GPP C.S00-0 Version.0 Date: March 00 cdma000 High Rate Packet Data Supplemental Services COPYRIGHT GPP and its Organizational Partners claim copyright in this document and individual Organizational Partners
More informationOSEK/VDX. Communication. Version January 29, 2003
Open Systems and the Corresponding Interfaces for Automotive Electronics OSEK/VDX Communication Version 3.0.1 January 29, 2003 This document is an official release and replaces all previously distributed
More informationCS 640 Introduction to Computer Networks Spring 2009
CS 640 Introduction to Computer Networks Spring 2009 http://pages.cs.wisc.edu/~suman/courses/wiki/doku.php?id=640-spring2009 Programming Assignment 3: Transmission Control Protocol Assigned: March 26,
More informationInterlaken Look-Aside Protocol Definition
Interlaken Look-Aside Protocol Definition Contents Terms and Conditions This document has been developed with input from a variety of companies, including members of the Interlaken Alliance, all of which
More informationData Communication and Synchronization
Software Development Kit for Multicore Acceleration Version 3.0 Data Communication and Synchronization for Cell Programmer s Guide and API Reference Version 1.0 DRAFT SC33-8407-00 Software Development
More informationThe BANDIT can also concentrate and switch multiple sources of Frame Relay traffic simultaneously.
encor! enetworks TM Version A, March 2008 2013 Encore Networks, Inc. All rights reserved. Routing with Frame Relay This chapter discusses Frame Relay routing. 4.1 Frame Relay You can configure use of synchronous
More informationTHE PROCESS ABSTRACTION. CS124 Operating Systems Winter , Lecture 7
THE PROCESS ABSTRACTION CS124 Operating Systems Winter 2015-2016, Lecture 7 2 The Process Abstraction Most modern OSes include the notion of a process Term is short for a sequential process Frequently
More informationRequest for Comments: 938 February 1985
Network Working Group Request for Comments: 938 Trudy Miller ACC February 1985 Functional and Interface Specification STATUS OF THIS MEMO This RFC is being distributed to members of the DARPA research
More informationInternetwork Basic. Possible causes of LAN traffic congestion are
Internetworking 1 C H A P T E R 2 Internetworking Basics Internetworking Model The OSI Reference Model Ethernet Networking Wireless Networking Data Encapsulation Topic 3 1 Internetwork Basic 4 Possible
More informationF5 BIG-IQ Centralized Management: Local Traffic & Network. Version 5.2
F5 BIG-IQ Centralized Management: Local Traffic & Network Version 5.2 Table of Contents Table of Contents BIG-IQ Local Traffic & Network: Overview... 5 What is Local Traffic & Network?... 5 Understanding
More information3. Evaluation of Selected Tree and Mesh based Routing Protocols
33 3. Evaluation of Selected Tree and Mesh based Routing Protocols 3.1 Introduction Construction of best possible multicast trees and maintaining the group connections in sequence is challenging even in
More informationChapter 4. DataLink Layer. Reference: Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.
Chapter 4 DataLink Layer Reference: Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007. DataLink Layer Link Layer 4.1 Link-Layer Addressing 4.2 Ethernet
More informationCrit-bit Trees. Adam Langley (Version )
CRITBIT CWEB OUTPUT 1 Crit-bit Trees Adam Langley (agl@imperialviolet.org) (Version 20080926) 1. Introduction This code is taken from Dan Bernstein s qhasm and implements a binary crit-bit (alsa known
More informationChapter 7. OSI Data Link Layer. CCNA1-1 Chapter 7
Chapter 7 OSI Data Link Layer CCNA1-1 Chapter 7 Note for Instructors These presentations are the result of a collaboration among the instructors at St. Clair College in Windsor, Ontario. Thanks must go
More informationChapter 7. OSI Data Link Layer
Chapter 7 OSI Data Link Layer CCNA1-1 Chapter 7 Note for Instructors These presentations are the result of a collaboration among the instructors at St. Clair College in Windsor, Ontario. Thanks must go
More informationOn Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964
The requirements for a future all-digital-data distributed network which provides common user service for a wide range of users having different requirements is considered. The use of a standard format
More information===================================================================== Exercises =====================================================================
===================================================================== Exercises ===================================================================== 1 Chapter 1 1) Design and describe an application-level
More informationBlackBerry Software Development Kit
BlackBerry Software Development Kit Version 2.5 Radio API Reference Guide (DataTAC) BlackBerry Software Development Kit Version 2.5 Radio API Reference Guide Last modified: 12 June 2002 Part number: PDF-04639-001
More informationThe OpenVX User Data Object Extension
The OpenVX User Data Object Extension The Khronos OpenVX Working Group, Editor: Jesse Villarreal Version 1.0 (provisional), Wed, 13 Feb 2019 16:07:15 +0000 Table of Contents 1. Introduction.............................................................................................
More informationComputer Networks Principles LAN - Ethernet
Computer Networks Principles LAN - Ethernet Prof. Andrzej Duda duda@imag.fr http://duda.imag.fr 1 Interconnection structure - layer 3 interconnection layer 3 router subnetwork 1 interconnection layer 2
More informationNokia Fax:
2002-09-11 IEEE C802.16c-02/09 Project Title Date Submitted 2002-09-11 IEEE 802.16 Broadband Wireless Access Working Group Editorial instructions pertaining to comments submitted
More informationUnit C - Network Addressing Objectives Purpose of an IP Address and Subnet Mask Purpose of an IP Address and Subnet Mask
1 2 3 4 5 6 7 8 9 10 Unit C - Network Addressing Objectives Describe the purpose of an IP address and Subnet Mask and how they are used on the Internet. Describe the types of IP Addresses available. Describe
More informationJaringan Komputer. The Transport Layer
Jaringan Komputer Transport Layer The Transport Layer The heart of the whole protocol hierarchy Task: To provide reliable, cost-effective data transport from the source machine to the destination machine,
More informationG3 PHYSICAL LAYER API SPECIFICATION
G3 PHYSICAL LAYER API SPECIFICATION Document Revision: 0.6 Issue Date: 08 August, 2011 Revision History Revision Draft Author Date Comment 0.0 Initial version Susan Yim 01/21/2010 0.1 PHY Lib release 1.0
More informationChapter 5 End-to-End Protocols
Chapter 5 End-to-End Protocols Transport layer turns the host-to-host packet delivery service of the underlying network into a process-to-process communication channel Common properties that application
More informationSwitched Multimegabit Data Service (SMDS)
CHAPTER 14 Switched Multimegabit Data Service (SMDS) Background Switched Multimegabit Data Service (SMDS) is a high-speed, packet-switched, datagram-based WAN networking technology used for communication
More informationMLD. MLDv1 (defined in RFC 2710), which is derived from IGMPv2. MLDv2 (defined in RFC 3810), which is derived from IGMPv3.
Introduction to Multicast listener discovery protocol () is used by an IPv6 router to discover the presence of multicast listeners on directly-attached subnets. Multicast listeners are nodes wishing to
More informationBIG-IQ Centralized Management: ADC. Version 5.0
BIG-IQ Centralized Management: ADC Version 5.0 Table of Contents Table of Contents BIG-IQ Application Delivery Controller: Overview...5 What is Application Delivery Controller?...5 Managing Device Resources...7
More informationTransport Protocols. Raj Jain. Washington University in St. Louis
Transport Protocols Raj Jain Washington University Saint Louis, MO 63131 Jain@cse.wustl.edu These slides are available on-line at: http://www.cse.wustl.edu/~jain/cse473-05/ 16-1 Overview q TCP q Key features
More informationCommunication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More informationETSF05/ETSF10 Internet Protocols Network Layer Protocols
ETSF05/ETSF10 Internet Protocols Network Layer Protocols 2016 Jens Andersson Agenda Internetworking IPv4/IPv6 Framentation/Reassembly ICMPv4/ICMPv6 IPv4 to IPv6 transition VPN/Ipsec NAT (Network Address
More informationSDD Advanced-User Manual Version 1.1
SDD Advanced-User Manual Version 1.1 Arthur Choi and Adnan Darwiche Automated Reasoning Group Computer Science Department University of California, Los Angeles Email: sdd@cs.ucla.edu Download: http://reasoning.cs.ucla.edu/sdd
More informationInternet Protocols (chapter 18)
Internet Protocols (chapter 18) CSE 3213 Fall 2011 Internetworking Terms 1 TCP/IP Concepts Connectionless Operation Internetworking involves connectionless operation at the level of the Internet Protocol
More informationResearch and Analysis of Flow Control Mechanism for Transport Protocols of the SpaceWire Onboard Networks
Research and Analysis of Flow Control Mechanism for Transport Protocols of the SpaceWire Onboard Networks Nikolay Sinyov, Valentin Olenev, Irina Lavrovskaya, Ilya Korobkov {nikolay.sinyov, valentin.olenev,
More informationTCP = Transmission Control Protocol Connection-oriented protocol Provides a reliable unicast end-to-end byte stream over an unreliable internetwork.
Overview Formats, Data Transfer, etc. Connection Management (modified by Malathi Veeraraghavan) 1 Overview TCP = Transmission Control Protocol Connection-oriented protocol Provides a reliable unicast end-to-end
More information6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1
6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The
More informationAn SCTP-Protocol Data Unit with several chunks
SCTP for Beginners Section 2 SCTP Packets he protocol data units (PDU) of SCTP are called SCTP packets. If SCTP runs over IP (as described in RFC2960 ), an SCTP packet forms the payload of an IP packet.
More informationTSIN02 - Internetworking
Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure
More informationEEC-484/584 Computer Networks
EEC-484/584 Computer Networks Lecture 15 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review of last lecture The network layer
More information