コード例 #1
0
class TableDetailView(OperatorDetailView):
    scope_id = fields.DataField('scope_id')
    route_family = fields.DataField('route_family')
    destinations = fields.RelatedDictViewField(
        '_destinations',
        'bgpspeaker.operator.views.bgp.DestinationDictView'
    )
コード例 #2
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')
コード例 #3
0
class PeerRfDetailView(OperatorDetailView):
    rf = fields.DataField('rf')
    enabled = fields.DataField('enabled')
    peer = fields.RelatedViewField(
        'peer',
        'bgpspeaker.operator.views.bgp.PeerDetailView'
    )
コード例 #4
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(pathattr.AsPath.ATTR_NAME)
        origin = self.get_field('pathattr_map').get(pathattr.Origin.ATTR_NAME)
        metric = self.get_field('pathattr_map').get(pathattr.Med.ATTR_NAME)
        local_pref = self.get_field('pathattr_map').get(
            pathattr.LocalPref.ATTR_NAME)

        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(pathattr.ExtCommunity.ATTR_NAME)
        del ret['pathattr_map']
        if ext:
            ret['rt_list'] = ext.rt_list
            ret['soo_list'] = ext.soo_list
        return ret
コード例 #5
0
class PathDetailView(OperatorDetailView):
    source_version_num = fields.DataField('source_version_num')
    route_family = fields.RelatedViewField(
        'route_family',
        'ryu.services.protocols.bgp.operator.views.bgp.RouteFamilyView')
    nlri = fields.RelatedViewField(
        'nlri', 'ryu.services.protocols.bgp.operator.views.bgp.NlriDetailView')
    is_withdraw = fields.DataField('is_withdraw')
    nexthop = fields.DataField('nexthop')
    pathattr_map = fields.DataField('pathattr_map')
    source = fields.RelatedViewField(
        'source',
        'ryu.services.protocols.bgp.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
コード例 #6
0
class PeerDetailView(OperatorDetailView):
    remote_as = fields.DataField('remote_as')
    ip_address = fields.DataField('ip_address')
    enabled = fields.DataField('enabled')
    adj_rib_in = fields.RelatedViewField(
        'adj_rib_in',
        'ryu.services.protocols.bgp.operator.views.bgp.ReceivedRouteDictView')
    adj_rib_out = fields.RelatedViewField(
        'adj_rib_out',
        'ryu.services.protocols.bgp.operator.views.bgp.SentRouteDictView')
    neigh_conf = fields.RelatedViewField(
        '_neigh_conf',
        'ryu.services.protocols.bgp.operator.views.conf.ConfDetailView')
    common_conf = fields.RelatedViewField(
        '_common_conf',
        'ryu.services.protocols.bgp.operator.views.conf.ConfDetailView')
    state = fields.RelatedViewField(
        'state',
        'ryu.services.protocols.bgp.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
コード例 #7
0
class PeerStateDetailView(OperatorDetailView):
    bgp_state = fields.DataField('_bgp_state')
    last_error = fields.DataField('_last_bgp_error')

    def encode(self):
        ret = super(PeerStateDetailView, self).encode()
        ret.update(self._obj.get_stats_summary_dict())
        return ret
コード例 #8
0
class TableManagerDetailView(OperatorDetailView):
    tables = fields.RelatedDictViewField(
        '_tables', 'bgpspeaker.operator.views.bgp.TableDictView')
    tables_for_rt = fields.RelatedDictViewField(
        '_tables_for_rt', 'bgpspeaker.operator.views.bgp.TableDictView')
    global_tables = fields.RelatedDictViewField(
        '_global_tables', 'bgpspeaker.operator.views.bgp.TableDictView')
    asbr_label_range = fields.DataField('_asbr_label_range')
    next_hop_label = fields.DataField('_next_hop_label')
    next_vpnv4_label = fields.DataField('_next_vpnv4_label')
コード例 #9
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
コード例 #10
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
コード例 #11
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')
コード例 #12
0
class ConfDetailView(OperatorDetailView):
    settings = fields.DataField('_settings')

    def encode(self):
        return self.get_field('settings')
コード例 #13
0
class PeerRfDetailView(OperatorDetailView):
    rf = fields.DataField('rf')
    enabled = fields.DataField('enabled')
    peer = fields.RelatedViewField(
        'peer', 'ryu.services.protocols.bgp.operator.views.bgp.PeerDetailView')
コード例 #14
0
class TableDetailView(OperatorDetailView):
    scope_id = fields.DataField('scope_id')
    route_family = fields.DataField('route_family')
    destinations = fields.RelatedDictViewField(
        '_destinations',
        'ryu.services.protocols.bgp.operator.views.bgp.DestinationDictView')
コード例 #15
0
class RouteFamilyView(OperatorDetailView):
    afi = fields.DataField('afi')
    safi = fields.DataField('safi')
コード例 #16
0
class VpnNlriDetailView(IpNlriDetailView):
    labels = fields.DataField('label_list')
    rd = fields.DataField('route_dist')
コード例 #17
0
class IpNlriDetailView(OperatorDetailView):
    formatted_nlri = fields.DataField('formatted_nlri_str')
    prefix = fields.DataField('prefix')