Download presentation
Presentation is loading. Please wait.
Published byRandall Payne Modified over 8 years ago
1
NETCONFish: Speaking the network language Leonidas Poulopoulos leopoul@noc.grnet.gr GRNET NOC TNC2013 Maastricht, Netherlands, 3-6 June 2013 config = “ ” presentation = Presentation(config) presentation.present()
2
Structure snmpget SNMP.management NETCONF from ncclient import * nxpy=Developing.onTopOf.NETCONF def examples(*args, **kwargs) class Use_Cases(object) return
3
SNMP.oid Since 1999 v1,v2,v3 Wide deployment Perfect for get, walk BUT snmp-set v1,v2 no security MIB bindings – SNMPv2- SMI::enterprises.2636.3.26.1.2.1.3.2.12.116.101.115.116.4 6.118.114.102.46.110.111.99
4
SNMP complimentary XML messages SSH v2 Close to device configuration Big “players” support it
5
ncclient
6
NETCONF in action HANDSHAKE Get Config Req RESPONSE Connect
7
ncclient get_config() ncclient – Python NETCONF client Connect RESPONSE Get Config Req
8
NETCONF
9
ncclient edit_config()
10
Was that XML??? NETCONF – XML knowledge – Careful very be syntax errors with GET – XML parsing EDIT/SET – XML building Often, no reusable source code Susceptible to errors TIME TIME TIME
11
From https://github.com/leopoul/ncclient/ “Other issues I faced appear to be due to my lack of understanding of the Python XML library I was using. Handling of namespaces in tags was the problem.”
12
That’s what we want Python ONLY! Reusable Open Source Extendable Focus on app dev Ultimate goal: Translate from XML to Python and vice-versa NO XML
13
Network XML Python Proxy nxpy Open source https://code.grnet.gr/ Used in: – Firewall on Demand (https://fod.grnet.gr) – GRNET pilot AutoBAHN TP
14
nxpy Developer’s Shelter
15
Features Juniper configuration parts – Interfaces Units – Vlans – Routing Options Flow XML, JSON export Reconciliation made easy Extends easily
16
App Info Flow
17
Under the hood Getters Setters XML – Parsing – Building Write ONCE Use FOREVER
18
Source code snapshot
19
Diff
20
AddSomeComplexity.now() FlowSpec rule Block Attack
21
Isn’t that FoD??
22
AutoBAHN TP
23
from future import features Parse device configuration schema – Juniper 12.1R5.5 ~ 18MB Generate Python Proxy classes on the fly BGP reconciliation tool – Apply once/day – Check – Alert
24
All in one place nxpy: https://code.grnet.grhttps://code.grnet.gr ncclient: http://ncclient.grnet.gr/http://ncclient.grnet.gr/ FoD: https://code.grnet.gr, https://fod.grnet.grhttps://code.grnet.grhttps://fod.grnet.gr Where to find us: GRNET NOC: https://noc.grnet.grhttps://noc.grnet.gr GRNET: https://www.grnet.grhttps://www.grnet.gr
25
Questions ?
26
THANK YOU Leonidas Poulopoulos leopoul@noc.grnet.gr GRNET NOC https://twitter.com/grnetnoc https://www.facebook.com/noc.grnet.gr
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.