module odl-arputil { yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:arputil"; prefix "odl-arputil"; import ietf-interfaces { prefix if; } import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import opendaylight-inventory { prefix inv; revision-date 2013-08-19; } import config { prefix config; revision-date 2013-04-05; } revision "2015-11-26" { description "Arp Util module"; } grouping interfaces { list interface-address { key interface; leaf interface { type leafref { path "/if:interfaces/if:interface/if:name"; } } leaf ip-address { type inet:ip-address; } } } rpc get-mac { input { leaf ipaddress { type inet:ip-address; } uses interfaces; } output { leaf macaddress { type yang:phys-address; } } } rpc send-arp-request { input { leaf ipaddress { type inet:ip-address; } uses interfaces; } } rpc send-arp-response { input { leaf ipaddress { type inet:ip-address; } leaf macaddress { type yang:phys-address; } leaf interface { type leafref { path "/if:interfaces/if:interface/if:name"; } } leaf src-ip-address { type inet:ip-address; } } } notification mac-changed { leaf ipaddress { type inet:ip-address; } leaf macaddress { type yang:phys-address; } leaf interface { type leafref { path "/if:interfaces/if:interface/if:name"; } } } notification arp-request-received { leaf dst-ipaddress { type inet:ip-address; } leaf src-ipaddress { type inet:ip-address; } leaf src-mac { type yang:phys-address; } leaf of-table-id { type uint32; } leaf interface { type leafref { path "/if:interfaces/if:interface/if:name"; } } } notification arp-response-received { leaf ipaddress { type inet:ip-address; } leaf macaddress { type yang:phys-address; } leaf of-table-id { type uint32; } leaf interface { type leafref { path "/if:interfaces/if:interface/if:name"; } } } }