--- /dev/null
+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";
+ }
+ }
+ }
+}
\ No newline at end of file