Re: HARP/ B-LLI
Vincent Jardin <[email protected]> Tue, 9 Jul 2002 21:19:03 +0200
| Newsgroups | gmane.os.freebsd.devel.atm |
|---|---|
| Message-ID | <[email protected]> |
Yes, it does. However it is just an example. What do B-LLI Layer 2, layer 3
and B-HLI SVE mean ? I do not understand what they are for ;-(
Moreover, when I am looking the HARP source code, it looks like any LLC/SNAP
(OUI, NLPID, ...) header should be set with either setsockopt or this
sockaddr_atm structure. Which one should I use ?
According to the atm_cm_connect() function, it looks like the solution is
setsockopt.
...
/*
* Logical Link Control Attributes
*/
if (ap->llc.tag == T_ATM_PRESENT) {
if ((ap->blli.tag_l2 != T_ATM_PRESENT) ||
(ap->blli.v.layer_2_protocol.ID_type != T_ATM_SIMPLE_ID)
||
(ap->blli.v.layer_2_protocol.ID.simple_ID !=
T_ATM_BLLI2_I8802) ||
(ap->llc.v.llc_len < T_ATM_LLC_MIN_LEN) ||
(ap->llc.v.llc_len > T_ATM_LLC_MAX_LEN)) {
err = EINVAL;
goto done;
}
cop->co_mpx = ATM_ENC_LLC;
cop->co_llc = ap->llc;
} else
cop->co_mpx = ATM_ENC_NULL;
...
However the atm_sock_connect() function checks that the BLLI Layer 3 could be
set to T_ATM_SNAP_ID. This field is filled by a sockaddr_atm structure.
...
sapl2 = &satm->satm_addr.t_atm_sap_layer2;
if (sapl2->SVE_tag == T_ATM_PRESENT) {
if ((sapl2->ID_type != T_ATM_SIMPLE_ID) &&
(sapl2->ID_type != T_ATM_USER_ID))
return (EINVAL);
} else if (sapl2->SVE_tag != T_ATM_ABSENT)
return (EINVAL);
sapl3 = &satm->satm_addr.t_atm_sap_layer3;
if (sapl3->SVE_tag == T_ATM_PRESENT) {
if ((sapl3->ID_type != T_ATM_SIMPLE_ID) &&
(sapl3->ID_type != T_ATM_IPI_ID) &&
(sapl3->ID_type != T_ATM_SNAP_ID) &&
(sapl3->ID_type != T_ATM_USER_ID))
return (EINVAL);
} else if (sapl3->SVE_tag != T_ATM_ABSENT)
return (EINVAL);
...
But I cannot figure out where and when the SNAP header will be added to the
AAL5's PDU (CPCS) !!!
Thanks,
Vincent
Le Lundi 8 Juillet 2002 22:45, Richard Hodges a écrit :
> On Mon, 8 Jul 2002, Vincent Jardin wrote:
> > I am trying to use the HARP stack in order to open an AAL5/PVC socket
> > with LLC/SNAP. While I am trying to fill the sockaddr_atm structure for
> > the connect() function, I am wondering how the following fields should be
> > filled and what are they for ?
> > * B-LLI Layer 2 SVE
> > * B-LLI Layer 3 SVE
> > * B_HLI SVE
>
> For connecting to another CLIP host, you might use:
>
> satm->satm_addr.t_atm_sap_layer2.SVE_tag = T_ATM_PRESENT;
> satm->satm_addr.t_atm_sap_layer2.ID_type = T_ATM_SIMPLE_ID;
> satm->satm_addr.t_atm_sap_layer2.ID.simple_ID = T_ATM_BLLI2_I8802;
>
> satm->satm_addr.t_atm_sap_layer3.SVE_tag = T_ATM_ABSENT;
> satm->satm_addr.t_atm_sap_appl.SVE_tag = T_ATM_ABSENT;
>
> Does this help?
>
> -Richard
>
>
>
> To Unsubscribe: send mail to [email protected]
> with "unsubscribe freebsd-atm" in the body of the message
To Unsubscribe: send mail to [email protected]
with "unsubscribe freebsd-atm" in the body of the message