2021-05-17 SONiC ABNF与YANG

SONiC 系统管理 35

ABNF与YANG

这里是一个ABNF.json转换成YANG的例子,这里的NO-NSW-PACL-V4是ACL Tabel的名字,Rule_20的描述,ABNF和YANG的对应关系不是很明显

ABNF:
   "ACL_RULE": {
        "NO-NSW-PACL-V4|Rule_20": {
            "PACKET_ACTION": "FORWARD",
            "DST_IP": "10.186.72.0/26",
            "SRC_IP": "10.176.0.0/15",
            "PRIORITY": "999980",
            "IP_TYPE": "IPv6"
        },
更多ACL Table的例子,这里的描述是ACL Table中3各表项的内容:
"ACL_RULE": {
    "DATAACL|DEFAULT_RULE": {
        "PRIORITY": "1",
        "PACKET_ACTION": "DROP",
        "ETHER_TYPE": "2048"
    },
    "DATAACL|RULE_1": {
        "PRIORITY": "9999",
        "PACKET_ACTION": "DROP",
        "SRC_IP": "10.0.0.2/32"
    },
    "DATAACL|RULE_2": {
        "PRIORITY": "9998",
        "PACKET_ACTION": "DROP",
        "DST_IP": "192.168.0.16/32"
    },
}
YANG:
choice ip_prefix {
                case ip4_prefix {
                    when "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV4' or .='IPV4ANY' or .='ARP'])";
                    leaf SRC_IP {
                        type inet:ipv4-prefix;
                    }
                    leaf DST_IP {
                        type inet:ipv4-prefix;
                    }
                }
                case ip6_prefix {
                    when "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPV6ANY'])";
                    leaf SRC_IPV6 {
                        type inet:ipv6-prefix;
                    }
                    leaf DST_IPV6 {
                        type inet:ipv6-prefix;
                    }
                }
            }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值