Beispiel #1
0
class CoreServiceDetailView(OperatorDetailView):
    rf_state = fields.RelatedViewField(
        'rf_state', 'bgpspeaker.operator.views.bgp.RfStateDetailView')
    importmap_manager = fields.RelatedDictViewField(
        '_importmap_manager',
        'bgpspeaker.operator.views.other.ImportmapManagerDetailView')
    table_manager = fields.RelatedViewField(
        '_table_manager',
        'bgpspeaker.operator.views.bgp.TableManagerDetailView')
    peer_manager = fields.RelatedViewField(
        '_peer_manager', 'bgpspeaker.operator.views.bgp.PeerManagerDetailView')
    router_id = fields.DataField('router_id')
Beispiel #2
0
class PeerRfDetailView(OperatorDetailView):
    rf = fields.DataField('rf')
    enabled = fields.DataField('enabled')
    peer = fields.RelatedViewField(
        'peer',
        'bgpspeaker.operator.views.bgp.PeerDetailView'
    )
Beispiel #3
0
class ReceivedRouteDetailView(OperatorDetailView):
    timestamp = fields.DataField('timestamp')
    filtered = fields.DataField('filtered')
    path = fields.RelatedViewField(
        'path',
        'ryu.services.protocols.bgp.operator.views.bgp.PathDetailView',
    )
    peer = fields.RelatedViewField(
        'received_peer',
        'ryu.services.protocols.bgp.operator.views.bgp.PeerDetailView')

    def encode(self):
        ret = super(ReceivedRouteDetailView, self).encode()
        ret.update({
            'path': self.rel('path').encode(),
        })
        return ret
Beispiel #4
0
class DestinationDetailView(OperatorDetailView):
    table = fields.RelatedViewField(
        '_table',
        'bgpspeaker.operator.views.bgp.TableDetailView',
    )
    best_path = fields.RelatedViewField(
        'best_path', 'bgpspeaker.operator.views.bgp.PathDetailView')
    known_path_list = fields.RelatedListViewField(
        'known_path_list', 'bgpspeaker.operator.views.bgp.PathListView')
    new_path_list = fields.RelatedListViewField(
        '_new_path_list', 'bgpspeaker.operator.views.bgp.PathListView')
    withdraw_list = fields.RelatedListViewField(
        '_withdraw_list', 'bgpspeaker.operator.views.bgp.PathListView')
    sent_routes = fields.RelatedListViewField(
        'sent_routes', 'bgpspeaker.operator.views.bgp.SentRouteListView')
    nlri = fields.DataField('nlri')
    route_family = fields.DataField('route_family')
Beispiel #5
0
class PeerDetailView(OperatorDetailView):
    remote_as = fields.DataField('remote_as')
    ip_address = fields.DataField('ip_address')
    enabled = fields.DataField('enabled')
    neigh_conf = fields.RelatedViewField(
        '_neigh_conf', 'bgpspeaker.operator.views.conf.ConfDetailView')
    common_conf = fields.RelatedViewField(
        '_common_conf', 'bgpspeaker.operator.views.conf.ConfDetailView')
    state = fields.RelatedViewField(
        'state', 'bgpspeaker.operator.views.bgp.PeerStateDetailView')

    def encode(self):
        ret = super(PeerDetailView, self).encode()
        ret.update({
            'stats': self.rel('state').encode(),
            'settings': self.rel('neigh_conf').encode()
        })
        return ret
Beispiel #6
0
class PathDetailView(OperatorDetailView):
    source_version_num = fields.DataField('source_version_num')
    route_family = fields.RelatedViewField(
        'route_family', 'bgpspeaker.operator.views.bgp.RouteFamilyView'
    )
    nlri = fields.RelatedViewField(
        'nlri',
        'bgpspeaker.operator.views.bgp.NlriDetailView'
    )
    is_withdraw = fields.DataField('is_withdraw')
    nexthop = fields.DataField('nexthop')
    pathattr_map = fields.DataField('pathattr_map')
    source = fields.RelatedViewField(
        'source',
        'bgpspeaker.operator.views.bgp.PeerDetailView'
    )

    def encode(self):
        ret = super(PathDetailView, self).encode()
        ret['nlri'] = self.rel('nlri').encode()
        ret['route_family'] = self.rel('route_family').encode()
        as_path = self.get_field('pathattr_map').get(BGP_ATTR_TYPE_AS_PATH)
        origin = self.get_field('pathattr_map').get(BGP_ATTR_TYPE_ORIGIN)
        metric = self.get_field('pathattr_map').get(
            BGP_ATTR_TYPE_MULTI_EXIT_DISC)
        local_pref = self.get_field('pathattr_map').get(
            BGP_ATTR_TYPE_LOCAL_PREF
        )

        ret['as_path'] = as_path.value if as_path else None
        ret['origin'] = origin.value if origin else None
        ret['metric'] = metric.value if metric else None
        ret['local_pref'] = local_pref.value if local_pref else None
        ext = ret['pathattr_map'].get(BGP_ATTR_TYPE_EXTENDED_COMMUNITIES)
        del ret['pathattr_map']
        if ext:
            ret['rt_list'] = ext.rt_list
            ret['soo_list'] = ext.soo_list
        return ret
Beispiel #7
0
class PeerRfDetailView(OperatorDetailView):
    rf = fields.DataField('rf')
    enabled = fields.DataField('enabled')
    peer = fields.RelatedViewField(
        'peer', 'ryu.services.protocols.bgp.operator.views.bgp.PeerDetailView')