Exemplo n.º 1
0
def createGemPort(name, enet, tcont, id):

    gem_port_request = GemportsConfigData()
    log.debug("FOUNDRY-creating-gemport-config",
              config=gem_port_request,
              name=name,
              enet=enet,
              tcont=tcont,
              gemPortId=id)

    try:
        gem_port_request.name = name
        gem_port_request.itf_ref = enet
        gem_port_request.traffic_class = 2
        gem_port_request.aes_indicator = True
        gem_port_request.tcont_ref = tcont
        gem_port_request.gemport_id = id

        log.debug("FOUNDRY-gemport-config-prepared",
                  config=gem_port_request,
                  name=name,
                  enet=enet,
                  tcont=tcont,
                  gemPortId=id)
    except Exception as e:
        log.error("FOUNDRY-gemport-config-error",
                  exception=e,
                  config=gem_port_request,
                  name=name,
                  enet=enet,
                  tcont=tcont,
                  gemPortId=id)

    try:
        log.debug("FOUNDRY-gemport-grpc-call",
                  config=gem_port_request,
                  name=name,
                  enet=enet,
                  tcont=tcont,
                  gemPortId=id)
        stub.CreateGemportsConfigData(gem_port_request)
        log.info("FOUNDRY-autodetection-gemport-created",
                 config=gem_port_request,
                 name=name,
                 enet=enet,
                 tcont=tcont,
                 gemPortId=id)
    except Exception as e:
        log.error("FOUNDRY-gemport-config-grpc-call-error",
                  exception=e,
                  config=gem_port_request,
                  name=name,
                  enet=enet,
                  tcont=tcont,
                  gemPortId=id)
Exemplo n.º 2
0
    def create_xpon_gem_port(self, onu_id, index, tcont):
        # gem port creation (this initial one is for untagged ONU data support / EAPOL)
        gem_port = GemportsConfigData()
        gem_port.gemport_id = platform.mk_gemport_id(self.pon_id,
                                                     onu_id,
                                                     idx=index)
        gem_port.name = 'gem-{}-{}-{}'.format(self.pon_id, onu_id,
                                              gem_port.gemport_id)

        gem_port.tcont_ref = tcont.name
        gp = {
            'name': gem_port.name,
            'gemport-id': gem_port.gemport_id,
            'tcont-ref': gem_port.tcont_ref,
            'encryption': False,
            'traffic-class': 0,
            'data': gem_port
        }
        return gem_port, gp
Exemplo n.º 3
0
    def create_xpon_gem_port(self, onu_id, index, tcont):
        # gem port creation (this initial one is for untagged ONU data support / EAPOL)
        gem_port = GemportsConfigData()
        gem_port.name = 'gem-{}-{}-{}'.format(self.pon_id, onu_id,
                                              gem_port.gemport_id)
        pon_intf_onu_id = (self.pon_id, onu_id)
        gem_port.gemport_id = self._parent.resource_mgr.get_gemport_id(
            pon_intf_onu_id)
        # TODO: Add release of alloc_id on ONU delete and/or TCONT delete

        gem_port.tcont_ref = tcont.name
        gp = {
            'name': gem_port.name,
            'gemport-id': gem_port.gemport_id,
            'tcont-ref': gem_port.tcont_ref,
            'encryption': False,
            'traffic-class': 0,
            'data': gem_port
        }
        return gem_port, gp