Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Jul 2002 21:19:03 +0200
From:      Vincent Jardin <vjardin@wanadoo.fr>
To:        Richard Hodges <rh@matriplex.com>
Cc:        freebsd-atm@FreeBSD.ORG
Subject:   Re: HARP/ B-LLI
Message-ID:  <20020709191903.5F5BF15039F@venus.vincentjardin.net>
In-Reply-To: <Pine.BSF.4.10.10207081343150.71266-100000@mail.matriplex.com>
References:  <Pine.BSF.4.10.10207081343150.71266-100000@mail.matriplex.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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 majordomo@FreeBSD.org
> with "unsubscribe freebsd-atm" in the body of the message

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-atm" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020709191903.5F5BF15039F>