lib: fix missing M:A:C to X:X:X:X:X:X changes

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
This commit is contained in:
Igor Ryzhov 2019-07-25 15:35:46 +03:00
parent b435fc2483
commit f65d330cbc
2 changed files with 24 additions and 26 deletions

View File

@ -160,27 +160,27 @@ parser, but this is merely a dumb copy job.
Here is a brief summary of the various token types along with examples. Here is a brief summary of the various token types along with examples.
+-----------------+-----------------+-------------------------------------------------------------+ +-----------------+-------------------+-------------------------------------------------------------+
| Token type | Syntax | Description | | Token type | Syntax | Description |
+=================+=================+=============================================================+ +=================+===================+=============================================================+
| ``WORD`` | ``show ip bgp`` | Matches itself. In the given example every token is a WORD. | | ``WORD`` | ``show ip bgp`` | Matches itself. In the given example every token is a WORD. |
+-----------------+-----------------+-------------------------------------------------------------+ +-----------------+-------------------+-------------------------------------------------------------+
| ``IPV4`` | ``A.B.C.D`` | Matches an IPv4 address. | | ``IPV4`` | ``A.B.C.D`` | Matches an IPv4 address. |
+-----------------+-----------------+-------------------------------------------------------------+ +-----------------+-------------------+-------------------------------------------------------------+
| ``IPV6`` | ``X:X::X:X`` | Matches an IPv6 address. | | ``IPV6`` | ``X:X::X:X`` | Matches an IPv6 address. |
+-----------------+-----------------+-------------------------------------------------------------+ +-----------------+-------------------+-------------------------------------------------------------+
| ``IPV4_PREFIX`` | ``A.B.C.D/M`` | Matches an IPv4 prefix in CIDR notation. | | ``IPV4_PREFIX`` | ``A.B.C.D/M`` | Matches an IPv4 prefix in CIDR notation. |
+-----------------+-----------------+-------------------------------------------------------------+ +-----------------+-------------------+-------------------------------------------------------------+
| ``IPV6_PREFIX`` | ``X:X::X:X/M`` | Matches an IPv6 prefix in CIDR notation. | | ``IPV6_PREFIX`` | ``X:X::X:X/M`` | Matches an IPv6 prefix in CIDR notation. |
+-----------------+-----------------+-------------------------------------------------------------+ +-----------------+-------------------+-------------------------------------------------------------+
| ``MAC`` | ``M:A:C`` | Matches a 48-bit mac address. | | ``MAC`` | ``X:X:X:X:X:X`` | Matches a 48-bit mac address. |
+-----------------+-----------------+-------------------------------------------------------------+ +-----------------+-------------------+-------------------------------------------------------------+
| ``MAC_PREFIX`` | ``M:A:C/M`` | Matches a 48-bit mac address with a mask. | | ``MAC_PREFIX`` | ``X:X:X:X:X:X/M`` | Matches a 48-bit mac address with a mask. |
+-----------------+-----------------+-------------------------------------------------------------+ +-----------------+-------------------+-------------------------------------------------------------+
| ``VARIABLE`` | ``FOOBAR`` | Matches anything. | | ``VARIABLE`` | ``FOOBAR`` | Matches anything. |
+-----------------+-----------------+-------------------------------------------------------------+ +-----------------+-------------------+-------------------------------------------------------------+
| ``RANGE`` | ``(X-Y)`` | Matches numbers in the range X..Y inclusive. | | ``RANGE`` | ``(X-Y)`` | Matches numbers in the range X..Y inclusive. |
+-----------------+-----------------+-------------------------------------------------------------+ +-----------------+-------------------+-------------------------------------------------------------+
When presented with user input, the parser will search over all defined When presented with user input, the parser will search over all defined
commands in the current context to find a match. It is aware of the various commands in the current context to find a match. It is aware of the various

View File

@ -2383,7 +2383,7 @@ DEFUN (show_pbr_iptable,
DEFPY (clear_evpn_dup_addr, DEFPY (clear_evpn_dup_addr,
clear_evpn_dup_addr_cmd, clear_evpn_dup_addr_cmd,
"clear evpn dup-addr vni <all$vni_all |" CMD_VNI_RANGE"$vni [mac M:A:C$mac_val | ip <A.B.C.D|X:X::X:X>]>", "clear evpn dup-addr vni <all$vni_all |" CMD_VNI_RANGE"$vni [mac X:X:X:X:X:X | ip <A.B.C.D|X:X::X:X>]>",
CLEAR_STR CLEAR_STR
"EVPN\n" "EVPN\n"
"Duplicate address \n" "Duplicate address \n"
@ -2398,16 +2398,14 @@ DEFPY (clear_evpn_dup_addr,
{ {
struct zebra_vrf *zvrf; struct zebra_vrf *zvrf;
struct ipaddr host_ip = {.ipa_type = IPADDR_NONE }; struct ipaddr host_ip = {.ipa_type = IPADDR_NONE };
struct ethaddr mac_addr;
int ret = CMD_SUCCESS; int ret = CMD_SUCCESS;
zvrf = zebra_vrf_get_evpn(); zvrf = zebra_vrf_get_evpn();
if (vni_str) { if (vni_str) {
if (mac_val) { if (mac) {
prefix_str2mac(mac_val, &mac_addr);
ret = zebra_vxlan_clear_dup_detect_vni_mac(vty, zvrf, ret = zebra_vxlan_clear_dup_detect_vni_mac(vty, zvrf,
vni, vni,
&mac_addr); &mac->eth_addr);
} else if (ip) { } else if (ip) {
if (sockunion_family(ip) == AF_INET) { if (sockunion_family(ip) == AF_INET) {
host_ip.ipa_type = IPADDR_V4; host_ip.ipa_type = IPADDR_V4;