diff options
author | Michael Elkins <melkins@tislabs.com> | 2012-01-17 05:02:19 +0000 |
---|---|---|
committer | Michael Elkins <melkins@tislabs.com> | 2012-01-17 05:02:19 +0000 |
commit | 1d69510295bae9ee87d810cd9c9f8ce716e9c847 (patch) | |
tree | d4493f9b3031df6635e39159c659b11ee77626b4 /rpkid/rpki/gui/app | |
parent | 223102db50c00b931bd40e3e9af0b407d345517d (diff) |
import initial cut at rpki.gui.routeview app
svn path=/branches/tk161/; revision=4159
Diffstat (limited to 'rpkid/rpki/gui/app')
-rw-r--r-- | rpkid/rpki/gui/app/templates/rpkigui/routes_view.html | 27 | ||||
-rw-r--r-- | rpkid/rpki/gui/app/urls.py | 1 | ||||
-rw-r--r-- | rpkid/rpki/gui/app/views.py | 31 |
3 files changed, 59 insertions, 0 deletions
diff --git a/rpkid/rpki/gui/app/templates/rpkigui/routes_view.html b/rpkid/rpki/gui/app/templates/rpkigui/routes_view.html new file mode 100644 index 00000000..4ff59355 --- /dev/null +++ b/rpkid/rpki/gui/app/templates/rpkigui/routes_view.html @@ -0,0 +1,27 @@ +{% extends "rpkigui/app_base.html" %} + +{% block content %} + +<div class='page-header'> + </h1>Route Views</h1> +</div> + +<p> +This view shows currently advertised routes for the prefixes listed in resource certs received from RPKI parents. + +<table class='zebra-striped'> + <tr> + <th>Prefix</th> + <th>AS</th> + </tr> + {% for r in routes %} + <tr> + <td>{{ r.get_prefix_display }}</td> + <td>{{ r.asn }}</td> + </tr> + {% endfor %} +</table> + +{% endblock %} + +<!-- vim: set sw=2: --> diff --git a/rpkid/rpki/gui/app/urls.py b/rpkid/rpki/gui/app/urls.py index d428b031..bb7da0b4 100644 --- a/rpkid/rpki/gui/app/urls.py +++ b/rpkid/rpki/gui/app/urls.py @@ -50,6 +50,7 @@ urlpatterns = patterns('', (r'^roareq/$', views.roa_request_list), (r'^roareq/(?P<pk>\d+)$', views.roa_request_view), (r'^roareq/(?P<pk>\d+)/delete$', views.roa_request_delete_view), + (r'^routes/$', views.route_view), (r'^demo/down/asns/(?P<self_handle>[^/]+)$', views.download_asns), (r'^demo/down/prefixes/(?P<self_handle>[^/]+)$', views.download_prefixes), (r'^demo/down/roas/(?P<self_handle>[^/]+)$', views.download_roas), diff --git a/rpkid/rpki/gui/app/views.py b/rpkid/rpki/gui/app/views.py index 014a13a3..3ffbccfb 100644 --- a/rpkid/rpki/gui/app/views.py +++ b/rpkid/rpki/gui/app/views.py @@ -35,6 +35,9 @@ from django.core.urlresolvers import reverse from rpki.gui.app import models, forms, glue, misc, AllocationTree, settings from rpki.gui.app.asnset import asnset +import rpki.gui.cacheview.models +import rpki.gui.routeview.models + debug = False def my_login_required(f): @@ -901,4 +904,32 @@ def destroy_handle(request, handle): return render('rpkigui/destroy_handle_form.html', { 'form': form , 'handle': handle }, request) +@handle_required +def route_view(request): + """ + Display a list of global routing table entries which match resources listed + in received certificates. + """ + + handle = request.session['handle'] + log = request.META['wsgi.errors'] + + routes = [] + for p in models.AddressRange.objects.filter(from_cert__parent__in=handle.parents.all()): + r = p.as_resource_range() + qs = rpki.gui.routeview.models.RouteOrigin.objects.filter(prefix_min__gte=r.min, prefix_max__lte=r.max) + for obj in qs: + # determine the validation status of each route + routes.append(obj) + +# status = 'Not Found' +# status_id = 'notfound' +# +# roas = rpki.gui.cacheview.models.ROAPrefix.objects.filter() +# +# obj.status = status +# obj.status_id = status_id + + return render('rpkigui/routes_view.html', { 'routes': routes }, request) + # vim:sw=4 ts=8 expandtab |