Interface OdlLispProtoData
- All Superinterfaces:
org.opendaylight.yangtools.yang.binding.DataRoot
@Generated("mdsal-binding-generator")
public interface OdlLispProtoData
extends org.opendaylight.yangtools.yang.binding.DataRoot
YANG representation of LISP (RFC6830) protocol.
This class represents the following YANG schema fragment defined in module odl-lisp-proto
module odl-lisp-proto {
yang-version 1;
namespace urn:opendaylight:lfm:lisp-proto;
prefix lisp-proto;
import ietf-inet-types {
prefix inet;
revision-date 2013-07-15;
}
import odl-inet-binary-types {
prefix inet-bin;
revision-date 2016-03-03;
}
import odl-lisp-address-types {
prefix odl-lisp-address;
revision-date 2016-05-04;
}
revision 2015-11-05 {
}
typedef xtr-id {
type binary {
length 16;
}
}
typedef site-id {
type binary {
length 8;
}
}
grouping transport-address {
container transport-address {
leaf ipAddress {
type inet-bin:ip-address-binary;
}
leaf port {
type inet:port-number;
}
}
}
grouping mapping-authkey-container {
container mapping-authkey {
leaf key-string {
type string;
}
leaf key-type {
type uint16;
}
}
}
grouping eid-container {
container eid {
uses odl-lisp-address:augmented-lisp-address;
}
}
grouping rloc-container {
container rloc {
uses odl-lisp-address:augmented-lisp-address;
}
}
grouping eid-list {
list eid-item {
key eid-item-id;
ordered-by user;
leaf eid-item-id {
type string;
}
uses eid-container;
}
}
grouping LocatorRecords {
list LocatorRecord {
key locator-id;
ordered-by user;
leaf locator-id {
type string;
}
leaf priority {
type uint8;
}
leaf weight {
type uint8;
}
leaf multicastPriority {
type uint8;
}
leaf multicastWeight {
type uint8;
}
leaf localLocator {
type boolean;
}
leaf rlocProbed {
type boolean;
}
leaf routed {
type boolean;
}
uses rloc-container;
}
}
grouping map-request-metadata {
leaf source-rloc {
type inet-bin:ip-address-binary;
}
}
grouping mapping-record-metadata {
leaf xtr-id {
type xtr-id;
}
leaf site-id {
type site-id;
}
leaf source-rloc {
type inet-bin:ip-address-binary;
}
leaf timestamp {
type int64;
}
}
grouping mapping-record-container {
container mapping-record {
leaf recordTtl {
type int32;
}
leaf mapVersion {
type int16;
}
leaf action {
type enumeration {
enum NoAction;
enum NativelyForward;
enum SendMapRequest;
enum Drop;
}
}
leaf authoritative {
type boolean;
}
uses eid-container;
uses LocatorRecords;
uses mapping-record-metadata;
}
}
grouping mapping-record-list {
list mapping-record-item {
key mapping-record-item-id;
ordered-by user;
leaf mapping-record-item-id {
type string;
}
uses mapping-record-container;
}
}
grouping xtrSiteId {
leaf xtrId {
type xtr-id;
}
leaf siteId {
type site-id;
}
}
grouping MapRegister {
leaf proxyMapReply {
type boolean;
}
leaf xtrSiteIdPresent {
type boolean;
}
leaf wantMapNotify {
type boolean;
}
leaf nonce {
type int64;
}
leaf keyId {
type int16;
}
leaf authenticationData {
type binary;
}
leaf mergeEnabled {
type boolean;
}
uses mapping-record-list;
uses xtrSiteId;
}
grouping MapNotify {
leaf xtrSiteIdPresent {
type boolean;
}
leaf nonce {
type int64;
}
leaf keyId {
type int16;
}
leaf authenticationData {
type binary;
}
leaf mergeEnabled {
type boolean;
}
uses mapping-record-list;
uses xtrSiteId;
}
grouping MapRequest {
leaf authoritative {
type boolean;
}
leaf mapDataPresent {
type boolean;
}
leaf probe {
type boolean;
}
leaf smr {
type boolean;
}
leaf pitr {
type boolean;
}
leaf smrInvoked {
type boolean;
}
leaf nonce {
type int64;
}
container SourceEid {
uses eid-container;
}
list itrRloc {
key itr-rloc-id;
ordered-by user;
leaf itr-rloc-id {
type string;
}
uses rloc-container;
}
uses eid-list;
container MapReply {
uses mapping-record-container;
}
uses map-request-metadata;
}
grouping MapReply {
leaf probe {
type boolean;
}
leaf nonce {
type int64;
}
leaf echoNonceEnabled {
type boolean;
}
leaf securityEnabled {
type boolean;
}
uses mapping-record-list;
}
grouping map-register-cache-key-container {
container map-register-cache-key {
leaf eid-prefix {
type binary;
}
leaf xtr-id {
type binary;
}
leaf site-id {
type binary;
}
}
}
grouping map-register-cache-metadata-container {
container map-register-cache-metadata {
list eid-lisp-address {
key eid-lisp-address-id;
leaf eid-lisp-address-id {
type string;
}
uses eid-container;
}
leaf xtr-id {
type xtr-id;
}
leaf site-id {
type site-id;
}
leaf timestamp {
type int64;
}
leaf want-map-notify {
type boolean;
}
leaf merge-enabled {
type boolean;
}
}
}
grouping map-register-cache-value-grouping {
container map-register-cache-value {
uses map-register-cache-metadata-container;
uses mapping-authkey-container;
leaf packet-data {
type binary;
}
}
}
grouping subscriber-data-grouping {
container subscriber-data {
uses rloc-container;
uses eid-container;
leaf ttl {
type int32;
}
}
}
typedef message-type {
type enumeration {
enum reserved {
value 0;
}
enum map-request {
value 1;
}
enum map-reply {
value 2;
}
enum map-register {
value 3;
}
enum map-notify {
value 4;
}
enum map-referral {
value 6;
}
enum info {
value 7;
}
enum encapsulated-control-message {
value 8;
}
}
}
grouping MapRegisterMessage {
container MapRegister {
uses MapRegister;
}
uses transport-address;
}
grouping MapRegisterNotification {
container MapRegister {
uses MapRegister;
}
uses transport-address;
}
grouping MapNotifyMessage {
container MapNotify {
uses MapNotify;
}
uses transport-address;
}
grouping MapNotifyNotification {
container MapNotify {
uses MapNotify;
}
uses transport-address;
}
grouping MapRequestMessage {
container MapRequest {
uses MapRequest;
}
uses transport-address;
}
grouping MapRequestNotification {
container MapRequest {
uses MapRequest;
}
uses transport-address;
}
grouping MapReplyMessage {
container MapReply {
uses MapReply;
}
uses transport-address;
}
grouping MapReplyNotification {
container MapReply {
uses MapReply;
}
uses transport-address;
}
notification addMapping {
uses MapRegisterNotification;
}
notification gotMapNotify {
uses MapNotifyNotification;
}
notification requestMapping {
uses MapRequestNotification;
}
notification gotMapReply {
uses MapReplyNotification;
}
notification xtrRequestMapping {
uses MapRequestNotification;
}
notification xtrReplyMapping {
uses MapReplyNotification;
}
notification mappingKeepAlive {
uses map-register-cache-metadata-container;
}
}