HP UX 11i v2 Networking Software manual 160

Page 160

Sample Programs

Connectionless Mode

attach() {

 

 

int

fd;

/* file descriptor */

int

ppa;

/* PPA to attach to */

dl_hp_ppa_req_t *ppa_req = (dl_attach_req_t *)ctrl_area; dl_hp_ppa_ack_t *ppa_ack = (dl_hp_ppa_ack_t *)ctrl_area; dl_hp_ppa_info_t *ppa_info;

dl_attach_req_t *attach_req = (dl_attach_req_t *)ctrl_area; char *mac_name;

/* open the device file */

if((fd = open(”/dev/dlpi”, O_RDWR)) == -1) { printf(”error: open failed, errno = %d\n”, errno); exit(1);

}

/*

find a PPA to attach to; we assume that the first PPA on the remote is on the same media as the first local PPA

*/

/* send a PPA_REQ and wait for the PPA_ACK */ ppa_req->dl_primitive = DL_HP_PPA_REQ; put_ctrl(fd, sizeof(dl_hp_ppa_req_t), 0); get_msg(fd); check_ctrl(DL_HP_PPA_ACK);

/* make sure we found at least one PPA */ if(ppa_ack->dl_length == 0) {

printf(”error: no PPAs available\n”); exit(1);

}

/* examine the first PPA */

ppa_info = (dl_hp_ppa_info_t *)((u_char *)ctrl_area + ppa_ack->dl_offset);

ppa = ppa_info->dl_ppa; switch(ppa_info->dl_mac_type) {

case DL_CSMACD: case DL_ETHER:

mac_name = ”Ethernet”; break;

case DL_TPR:

mac_name = ”Token Ring”; break;

case DL_FDDI:

mac_name = ”FDDI”; break;

default:

printf(”error: unknown MAC type in ppa_info\n”); exit(1);

}

printf(”attaching to %s media on PPA %d\n”, mac_name, ppa);

/*

fill in ATTACH_REQ with the PPA we found, send the ATTACH_REQ, and wait for the OK_ACK

160

Appendix A

Image 160
Contents Dlpi Programmer’s Guide EditionLegal Notices Page Page Contents Contents Contents Sample Programs Printing History Page Preface Appendix a Sample ProgramsPage Introduction to Dlpi Introduction to Dlpi HP Dlpi Features Device File Format Header FilesService Interface Data Link LayerDlpi Connection-mode Service Modes of CommunicationData Link Layer Dlpi Addressing Connectionless-mode ServicePhysical Attachment Identification HP PPA Format Data Link User Identification HP’s Dlsap Address Format 802.3, Ethernet, Token Ring, FddiHP’s Dlsap Address Format for Fibre Channel Dlsap Promiscuous Mode Clarifications Dlpi Services Dlerrorack DlinforeqDlinfoack DlhpppareqDlresetreq DlresetindDlresetres DlresetconLocal Management Services Information Reporting ServiceDlhprawdatareq DlhprawdataindAttach Service Bind ServiceReserved IEEESAPS/Ethertypes BindingSnap Message Flow Binding a Stream to a Dlsap Message Flow Enabling a Specific Multicast Address on a Connection-mode Services Connection Establishment ServiceConnection Handoff 12 Message Flow Successful Connection Establishment13 Message Flow Token Retrieval 16 Message Flow Both Primitives are Destroyed by Provider Data Transfer Service 19 Message Flow Normal Data TransferConnection Release Service 20 Message Flow DLS User-Invoked Connection ReleaseReset Service 23 Message Flow DLS User-Invoked Connection Reset Connectionless-mode Services Connectionless Data TransferRaw-mode Services Error Reporting ServiceXID and Test Service Raw-mode Data Transfer31 Message Flow XID Service XID and Test Packet Handling32 Message Flow Test Service An Example33 Message Flow a Connection-Mode Example Dlpi Primitives Dlpi Primitives Local Management Primitives PPA Initialization/De-initializationDlhpppareq Dlhpppaack Dlhpppaack Dlinforeq MTUDlinfoack Dlcsmacd DltpbDltpr DlmetroDlchar DlctcaDlfddi DlotherDlacldls DlhprawdlsDlunknown DLSTYLE1 DLSTYLE2Dlattachreq DlaccessDlbadppa Dloutstate DldetachreqDlsyserr Dlbindreq Dlinitfailed DlbadaddrDlnotinit Dlbindack Dlunbindreq Dlsubsbindreq Dlpeerbind DlhierarchicalbindDlsubsbindack DltoomanyDlsubsunbindreq Dlenabmultireq Dldisabmultireq DlnotsupportedDlpromisconreq DlnotenabDlpromiscsap DlpromiscphysDlpromiscmulti Dlpromiscoffreq Dlokack Dlerrorack Dlphysaddrreq Dlfactphysaddr Dlcurrphysaddr Dlphysaddrack DlsetphysaddrreqDlphysaddrack DlphysaddrreqDlsetphysaddrreq Dlgetstatisticsreq DlgetstatisticsackDlbusy DlgetstatisticsreqDlhpmulticastlistreq DlgetstatisticsackDlhpmulticastlistack Dlhpmulticastlistack Connectionless-mode Service Primitives DlunitdatareqDlbaddata Dlunitdataind Dluderrorind Message is valid in state Dlidle Raw Mode Service Primitives DlhprawdatareqDlhprawdataind DlbadprimRaw Mode Service Primitives Connection-Oriented Dlpi Extensions Connection-mode Service PrimitivesDlhpinforeq Dlhpinfoack DlhpinforeqDlhpinfoack Connection-mode Service Primitives Connection-mode Service Primitives Dlhpsetacktoreq DlhpsetacktoreqDlhpsetptoreq DlhpsetptoreqDlhpsetbusytoreq DlhpsetrejtoreqDlhpsetrejtoreq Dlhpsetsendacktoreq DlhpsetbusytoreqDlhpsetsendacktoreq DlhpsetmaxretriesreqDlhpsetmaxretriesreq Dlhpsetackthreshreq DLOUTCONPENDING, DlinconpendingDlhpsetlocalwinreq Dlhpsetremotewinreq Dlhpclearstatsreq DlhpsetremotewinreqDlhpclearstatsreq DlhpsetlocalbusyreqDlhpsetlocalbusyreq Dlhpclearlocalbusyreq DlhpclearlocalbusyreqDlconnectreq Dlbadqosparam DlconnectindDlbadqostype 112 Dlconnectres 114 Dlconnectcon DlbadtokenDlbadcorr Dlpending116 Dltokenreq DltokenackDldatareq Dldataind Dldisconnectreq120 Dldisconnectind Dlresetreq Dlresetind Dlresetres Dlresetcon 126 Primitives to Handle XID and Test Operations DltestreqDltestind DltestautoChapter 129 Dltestres Dltestcon Dlxidreq Dlxidind Dlxidauto134 Dlxidres DlpollfinalDlxidcon Chapter 137 Dlpi States User Reset Dluserreset Dlresetcon Prov Reset DlprovresetDlresetres Resetres Udqos Pend DludqosDLDISCON9 Pend PendingDlinconpending DLDISCON11Chapter 141 142 Sample Programs Connection Mode LongareasizeAppendix a 145 146 Appendix a 147 148 Appendix a 149 150 Appendix a 151 152 Appendix a 153 154 Appendix a 155 Connectionless Mode Snap SAPAppendix a 157 158 Appendix a 159 160 Appendix a 161 162 Appendix a 163 164 Appendix a 165 166 Raw Mode 168 Appendix a 169 170 Appendix a 171 Raw Mode 172 Glossary Connection establishment174 Glossary Index
Related manuals
Manual 94 pages 16.8 Kb Manual 74 pages 39 Kb Manual 236 pages 18.16 Kb Manual 12 pages 39.66 Kb Manual 28 pages 49.76 Kb