视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
接口说明文档
2025-09-23 21:05:45 责编:小OO
文档
接口说明文档

本文档提供面向openflowjava项目的扩展yang模型说明。yang模型文件(sptn-match.yang&sptn-action.yang)根据CMCC提供的ttp文件书写。

1.Match

1.1.扩展Match相关yang元素的命名方式

本节提供扩展match相关yang元素的命名方式说明,其中粗体部分与ttp文件的映射关系见表1。

identity:”sptnxm-sptnx-“ + Match

grouping:”ofj-sptnxm-sptnx-“ +Match+”-grouping”

case:Match+”-case-value”

 表1  TTP match id与Match映射关系

Match ID in TTP

Match
TRAFFIC_CLASStraffic-class
COLORcolor
VLAN_DEIvlan-dei

QOS_INDEXqos-index
openFlowMpIdopenflow-mp-id
MPLS_TTLmpls-ttl

MPLS_L2_PORTmpls-l2-port

MPLS_DATA_FIRST_NIBBLEmpls-data-first-nibble
MPLS_ACH_CHANNELmpls-ach-channel
MPLS_NEXT_LABEL_IS_GALmpls-next-label-is-gal
OAM_Y1731_MDLoam-y1731-mdl
OAM_Y1731_OPCODEoam-y1731-opcode
COLOR_ACTIONS_INDEXcolor-actions-index
TXFCLtxfcl
RXFCLrxfcl
RX_TIMESTAMPrx-timestamp
PROTECTION_INDEXprotection-index
MPLS_TYPEmpls-type
ALLOW_VLAN_TRANSLATIONallow-vlan-translation
1.2.Match扩展例子

以vlan-dei为例

1.Match field within the class

identity sptnxm-sptnx-vlan-dei {

base ofoxm:match-field;

}

2.value of the match

container vlan-dei -values {

     type uint8;

}

3.在openflow-augments: experimenter-id-case中扩展

augment "/ofoxm:oxm-container/ofoxm:match-entry-value/aug:experimenter-id-case" { 

ext:augment-identifier "ofj-aug-sptnx-match";

choice sptnx-match-entry-value {

case vlan-dei -case-value {

   vlan-dei -grouping;

  }

 }

}

2.Action

2.1.扩展Action相关yang元素的命名方式

本节提供扩展action相关yang元素的命名方式说明,其中粗体部分与ttp文件的映射关系见表2。

1.identity:“sptnx-action” + Action

2.grouping:” ofj-sptnx-action-“ + Action +”-grouping”

3.case:” action-”+ Action

表2 TTP action id与Action映射关系

Action ID in TTP

Action

PUSH_L2_HEADERpush-l2-header
POP_L2_HEADERpop-l2-header
PUSH_CWpush-cw
POP_CW_OR_ACHpop-cw-or-ach

COPY_MPLS_TC_INcopy-mpls-tc-in

COPY_MPLS_TC_OUTcopy-mpls-tc-out

SET_MPLS_TC_FROM_VPN_TABLEset-mpls-tc-from--table
OAM_LM_TX_COUNToam-lm-tx-count
OAM_LM_RX_COUNToam-lm-rx-count
OAM_SET_COUNTER_FIELDSoam-set-counter-fields

DEC_TTL_MTUdec-ttl-mtu
CHECK_DROP_STATUScheck-drop-status
SET_MPLS_PCPDEI_FROM_VPN_TABLEset-mpls-pcp-dei-from--table
SET_MPLS_TC_FROM_TUNNEL_TABLEset-mpls-tc-from-tunnel-table
SET_MPLS_PCPDEI_FROM_TUNNEL_TABLEset-mpls-pcp-dei-from-tunnel-table
CLASS_BASED_COUNTclass-based-count
COLOR_BASED_COUNTcolor-based-count
2.2.Action扩展例子

以push-l2-header 为例

1.action sub type

identity sptnx-action- push-l2-header {

base ofaction:experimenter-action-sub-type;

}

2.action container

container sptnx-action- push-l2-header { 

}

3.在 openflow-action:action-choice中扩展

augment "/ofaction:action-container/ofaction:action-choice" {

  push-l2-header {

  push-l2-header-grouping;

}

2.3.SetField

SetField action是ODL原生支持的动作。

在openflowjava的实现中,针对扩展match的SetField复用了本文档第1章match扩展的内容,所以sptn-action.yang并没有针对该动作进行额外定义。下载本文

显示全文
专题