From 190e45f1fb2a395a06c96b8abe60610a927df068 Mon Sep 17 00:00:00 2001 From: Jed Reynolds Date: Mon, 21 Jun 2021 23:34:39 -0700 Subject: [PATCH] JAG: enum values corrected to have API values, toggle values {0,1} no longer bit-flags, no enums items _name_like_this_ Signed-off-by: Jed Reynolds --- py-json/LANforge/lf_json_autogen.py | 769 ++++++++++++++++++++++++++-- 1 file changed, 736 insertions(+), 33 deletions(-) diff --git a/py-json/LANforge/lf_json_autogen.py b/py-json/LANforge/lf_json_autogen.py index 144c48e9..3b687206 100644 --- a/py-json/LANforge/lf_json_autogen.py +++ b/py-json/LANforge/lf_json_autogen.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 """----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- - Generated by LANforge JsonApiPythonGenerator, Mon Jun 21 21:27:41 PDT 2021 + Generated by LANforge JsonApiPythonGenerator, Mon Jun 21 23:25:47 PDT 2021 This file expects to live in py-json/LANforge directory. ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" import sys @@ -10,6 +10,7 @@ from enum import Enum from LANforge import LFRequest from LANforge.lfcli_base import LFCliBase from lfcli_base import LFCliBase +from typing import NewType, Type class LFJsonGet(LFCliBase): def __init__(self, lfclient_host='localhost', @@ -1435,11 +1436,29 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_bgp_peer_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + ENABLE_PEER = 0x1 # Set this to zero if you don't want this peer enabled. PEER_CLIENT = 0x2 # Sets corresponding Xorp flag in BGP Peer section. PEER_CONFED_MEMBER = 0x4 # Sets corresponding Xorp flag in BGP Peer section. PEER_UNICAST_V4 = 0x8 # Sets corresponding Xorp flag in BGP Peer section. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_add_bgp_peer(self, p_as=None, @@ -1556,8 +1575,8 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_cd_flags(Enum): - ERR = 0x2 # Set to kernel mode. - RUNNING = 0x1 # Set to running state. + ERR = 2 # Set to kernel mode. + RUNNING = 1 # Set to running state. def post_add_cd(self, @@ -1642,10 +1661,28 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_chamber_chamber_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + OPEN = 0x4 # (3) Door is open, no real isolation right now. PHANTOM = 0x1 # (1) Chamber is not actually here right now. VIRTUAL = 0x2 # (2) No real chamber, open-air grouping of equipment. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_add_chamber(self, chamber_type=None, @@ -1707,8 +1744,8 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_chamber_cx_chamber_cx_flags(Enum): - CONNECTED = 0x1 # (1) Connected to something. If flag is not set, connection is open to the air (maybe with antenna) - TERMINATED = 0x2 # (2) Connection is terminated, signal shall not pass! + CONNECTED = 1 # (1) Connected to something. If flag is not set, connection is open to the air (maybe with antenna) + TERMINATED = 2 # (2) Connection is terminated, signal shall not pass! def post_add_chamber_cx(self, @@ -1779,7 +1816,7 @@ class LFJsonPost(LFCliBase): class add_channel_group_types(Enum): clear = "clear" # Channel(s) are bundled into a single span. No conversion or - e_m = "e_m" # Channel(s) are signalled using E&M signalling (specific + e_m = "e&m" # Channel(s) are signalled using E&M signalling (specific fcshdlc = "fcshdlc" # The zapdel driver performs HDLC encoding and decoding on the fxogs = "fxogs" # Channel(s) are signalled using FXO Groundstart protocol. fxoks = "fxoks" # Channel(s) are signalled using FXO Koolstart protocol. @@ -1856,6 +1893,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_dut_dut_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + p_11r = 0x200 # Use .11r connection logic on all ssids, deprecated, see add_dut_ssid. AP_MODE = 0x2 # (2) DUT acts as AP. DHCPD_LAN = 0x40 # Provides DHCP server on LAN port @@ -1870,6 +1910,21 @@ class LFJsonPost(LFCliBase): WPA2 = 0x20 # Use WPA2 encryption on all ssids, deprecated, see add_dut_ssid. WPA3 = 0x100 # Use WPA3 encryption on all ssids, deprecated, see add_dut_extras. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_add_dut(self, antenna_count1=None, @@ -1970,6 +2025,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_dut_ssid_dut_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + p_11r = 0x200 # Use .11r connection logic EAP_PEAP = 0x800 # Use EAP-PEAP connection logic EAP_TTLS = 0x400 # Use EAP-TTLS connection logic @@ -1978,6 +2036,21 @@ class LFJsonPost(LFCliBase): WPA2 = 0x20 # Use WPA2 encryption WPA3 = 0x100 # Use WPA3 encryption + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_add_dut_ssid(self, bssid=None, @@ -2121,6 +2194,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_file_endp_fio_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + AUTO_MOUNT = 0x2 # (2) Attempt to mount with the provided information if not already mounted. AUTO_UNMOUNT = 0x4 # (4) Attempt to un-mount when stopping test. CHECK_MOUNT = 0x1 # (1) Attempt to verify NFS and SMB mounts match the configured values. @@ -2132,6 +2208,21 @@ class LFJsonPost(LFCliBase): UNMOUNT_LAZY = 0x80 # (128) Use -l flag when calling umount USE_FSTATFS = 0x100 # (256) Use fstatfs system call to verify file-system type when opening files. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class add_file_endp_payload_pattern(Enum): PRBS_11_8_10 = "PRBS_11_8_10" # PRBS (see above) PRBS_15_0_14 = "PRBS_15_0_14" # PRBS (see above) @@ -2262,8 +2353,26 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_group_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + group_total_rates = 0x4 # Set rates as total for group. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_add_group(self, flags=None, @@ -2291,12 +2400,33 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_l4_endp_http_auth_type(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + BASIC = 0x1 # Basic authentication DIGEST = 0x2 # Digest (MD5) authentication GSSNEGOTIATE = 0x4 # GSS authentication NTLM = 0x8 # NTLM authentication + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class add_l4_endp_proxy_auth_type(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + BASIC = 0x1 # 1 Basic authentication BIND_DNS = 0x200 # 512 Make DNS requests go out endpoints Port. DIGEST = 0x2 # 2 Digest (MD5) authentication @@ -2310,9 +2440,42 @@ class LFJsonPost(LFCliBase): USE_IPV6 = 0x400 # 1024 Resolve URL is IPv6. Will use IPv4 if not selected. USE_PROXY_CACHE = 0x20 # 32 Use proxy cache + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class add_l4_endp_type(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + l4_generic = 0x0 # Layer 4 type + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_add_l4_endp(self, alias=None, @@ -2376,10 +2539,28 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_monitor_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + disable_ht40 = 0x800 # Disable HT-40 even if hardware and AP support it. disable_ht80 = 0x8000000 # Disable HT80 (for AC chipset NICs only) ht160_enable = 0x100000000 # Enable HT160 mode. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_add_monitor(self, aid=None, @@ -2513,6 +2694,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_profile_profile_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + p_11r = 0x40 # Use 802.11r roaming setup. BSS_TRANS = 0x400 # Enable BSS Transition logic DHCP_SERVER = 0x1 # This should provide DHCP server. @@ -2525,8 +2709,23 @@ class LFJsonPost(LFCliBase): WPA2 = 0x8 # Use WPA2 encryption WPA3 = 0x20 # Use WPA3 encryption + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class add_profile_wifi_mode(Enum): - p_802_11a = "p_802_11a" # 802.11a + p_802_11a = "802.11a" # 802.11a AUTO = "AUTO" # 802.11g abg = "abg" # 802.11abg abgn = "abgn" # 802.11abgn @@ -2685,6 +2884,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_sta_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + p_80211r_pmska_cache = 0x4000000 # Enable oportunistic PMSKA caching for WPA2 (Related to 802.11r). p_80211u_additional = 0x100000 # AP requires additional step for access (802.11u Interworking) p_80211u_auto = 0x40000 # Enable 802.11u (Interworking) Auto-internetworking feature. Always enabled currently. @@ -2721,6 +2923,21 @@ class LFJsonPost(LFCliBase): wpa2_enable = 0x400 # Use wpa_supplicant configured for WPA2 encryption. wpa_enable = 0x10 # Enable WPA + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class add_sta_mode(Enum): p_802_11a = 1 # 802.11a AUTO = 0 # 802.11g @@ -2739,11 +2956,11 @@ class LFJsonPost(LFCliBase): g = 3 # 802.11g class add_sta_rate(Enum): - _a_g = "_a_g" # 6 Mbps, 9 Mbps, 12 Mbps, 18 Mbps, 24 Mbps, 36 Mbps, 48 Mbps, 54 Mbps - _b = "_b" # 1Mbps, 2Mbps, 5.5 Mbps, 11 Mbps + p_a_g = "/a/g" # 6 Mbps, 9 Mbps, 12 Mbps, 18 Mbps, 24 Mbps, 36 Mbps, 48 Mbps, 54 Mbps + p_b = "/b" # 1Mbps, 2Mbps, 5.5 Mbps, 11 Mbps DEFAULT = "DEFAULT" # Use maximum available speed - MCS0_76 = "MCS0_76" # /n rates - _bitmap_ = "_bitmap_" # '0xff 00 ...' to directly specify the MCS bitmap. + MCS0_76 = "MCS0-76" # /n rates + p_bitmap_ = "[bitmap]" # '0xff 00 ...' to directly specify the MCS bitmap. def post_add_sta(self, @@ -2810,9 +3027,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_t1_span_buildout(Enum): - _15db = 6 # -15db (CSU) - _22_5db = 7 # -22.5db (CSU) - _7_5db = 5 # -7.5db (CSU) + p_15db = 6 # -15db (CSU) + p_22_5db = 7 # -22.5db (CSU) + p_7_5db = 5 # -7.5db (CSU) p_0db = 8 # 0db (CSU) p_133_ft = 0 # 1-133 feet p_266_ft = 1 # 122-266 feet @@ -2981,13 +3198,31 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_traffic_profile_traffic_profile_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + BI_DIRECTIONAL = 0x2 # Should we do bi-directional traffic? IPERF_UDP = 0x4 # If Iperf, should use UDP. If not set, then will use TCP. UP = 0x1 # Upload direction (this not set means download) + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class add_traffic_profile_wifi_mode(Enum): - Iperf3_Client = "Iperf3_Client" # iperf3 client - Iperf3_Server = "Iperf3_Server" # iperf3 server + Iperf3_Client = "Iperf3-Client" # iperf3 client + Iperf3_Server = "Iperf3-Server" # iperf3 server as_is = "as_is" # Make no changes to current configuration http = "http" # Not yet implemented https = "https" # Not yet implemented @@ -3058,6 +3293,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_vap_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + p_80211h_enable = 0x10000000 # Enable 802.11h (needed for running on DFS channels) Requires 802.11d. p_80211r_pmska_cache = 0x4000000 # Enable oportunistic PMSKA caching for WPA2 (Related to 802.11r). p_80211u_additional = 0x100000 # AP requires additional step for access (802.11u Interworking) @@ -3087,6 +3325,21 @@ class LFJsonPost(LFCliBase): wep_enable = 0x200 # Enable WEP Encryption wpa2_enable = 0x400 # Enable WPA2 Encryption + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class add_vap_mode(Enum): p_802_11a = 1 # 802.11a AUTO = 0 # 802.11g @@ -3165,12 +3418,33 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_venue_freq_24(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + ALL = 0xffff # ALL Ch_1 = 0x1 # Channel 1 Ch_2 = 0x2 # Channel 2 Ch_3 = 0x4 # Channel 3 + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class add_venue_freq_5(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + Ch_100 = 0x800 # Channel 100 5500 Ch_104 = 0x1000 # Channel 104 5520 Ch_108 = 0x2000 # Channel 108 5540 @@ -3199,6 +3473,21 @@ class LFJsonPost(LFCliBase): Ch_60 = 0x200 # Channel 60 5300 Ch_64 = 0x400 # Channel 64 5320 + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_add_venue(self, description=None, @@ -3324,6 +3613,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_vr_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + p_4BYTE_AS_NUMBER = 0x40 # Sets corresponding Xorp flag. BGP_CONFED = 0x100 # Configure BGP in a confederation. BGP_DAMPING = 0x200 # Enable BGP damping section in Xorp configuration file. @@ -3338,6 +3630,21 @@ class LFJsonPost(LFCliBase): USE_XORP_OSPF = 0x1 # Enable Xorp router daemon with OSPF (IPv4) protocol USE_XORP_SHA = 0x4 # Enable Telcordia's Xorp SHA option (requires OSPF to be enabled) + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_add_vr(self, alias=None, @@ -3379,12 +3686,30 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_vr_bgp_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + p_4BYTE_AS_NUMBER = 0x40 # Sets corresponding Xorp flag. BGP_CONFED = 0x100 # Configure BGP in a confederation. BGP_DAMPING = 0x200 # Enable BGP damping section in Xorp configuration file. ENABLE_BGP = 0x20 # Set this to zero if you don't want BGP on this VR. ROUTE_REFLECTOR = 0x80 # Act as BGP Route Reflector. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_add_vr_bgp(self, bgp_id=None, @@ -3430,6 +3755,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_vrcx_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + custom_dhcpd = 0x400 # Use custom DHCP config file dhcpd_enabled = 0x200 # Serve IPv4 DHCP on this interface ipv6_enabled = 0x2000 # Serve IPv6 DHCP on this interface @@ -3445,6 +3773,21 @@ class LFJsonPost(LFCliBase): use_multicast = 0x800 # Use this interface for multicast and-rp use_vrrp = 0x1000 # Use this interface for VRRP + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_add_vrcx(self, dhcp_dns=None, @@ -3559,6 +3902,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_sta_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + p_80211r_pmska_cache = 0x4000000 # Enable oportunistic PMSKA caching for WPA2 (Related to 802.11r). p_80211u_additional = 0x100000 # AP requires additional step for access (802.11u Interworking) p_80211u_auto = 0x40000 # Enable 802.11u (Interworking) Auto-internetworking feature. Always enabled currently. @@ -3595,6 +3941,21 @@ class LFJsonPost(LFCliBase): wpa2_enable = 0x400 # Use wpa_supplicant configured for WPA2 encryption. wpa_enable = 0x10 # Enable WPA + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class add_sta_mode(Enum): p_802_11a = 1 # 802.11a AUTO = 0 # 802.11g @@ -3613,11 +3974,11 @@ class LFJsonPost(LFCliBase): g = 3 # 802.11g class add_sta_rate(Enum): - _a_g = "_a_g" # 6 Mbps, 9 Mbps, 12 Mbps, 18 Mbps, 24 Mbps, 36 Mbps, 48 Mbps, 54 Mbps - _b = "_b" # 1Mbps, 2Mbps, 5.5 Mbps, 11 Mbps + p_a_g = "/a/g" # 6 Mbps, 9 Mbps, 12 Mbps, 18 Mbps, 24 Mbps, 36 Mbps, 48 Mbps, 54 Mbps + p_b = "/b" # 1Mbps, 2Mbps, 5.5 Mbps, 11 Mbps DEFAULT = "DEFAULT" # Use maximum available speed - MCS0_76 = "MCS0_76" # /n rates - _bitmap_ = "_bitmap_" # '0xff 00 ...' to directly specify the MCS bitmap. + MCS0_76 = "MCS0-76" # /n rates + p_bitmap_ = "[bitmap]" # '0xff 00 ...' to directly specify the MCS bitmap. def post_add_vsta(self, @@ -3684,7 +4045,7 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class add_wl_endp_wle_flags(Enum): - SHOW_WP = 0x1 # Show WanPaths in wanlink endpoint table in GUI + SHOW_WP = 1 # Show WanPaths in wanlink endpoint table in GUI def post_add_wl_endp(self, @@ -3858,6 +4219,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class c_show_ports_probe_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + BRIDGE = 0x8 # 8 include bridges EASY_IP_INFO = 0x10 # 16 Everything but gateway information, which is expensive to probe. ETHTOOL = 0x4 # 4 include ethtool results @@ -3866,6 +4230,21 @@ class LFJsonPost(LFCliBase): MII = 0x2 # 2 include MII WIFI = 0x1 # 1 include wifi stations + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_c_show_ports(self, port=None, @@ -4674,6 +5053,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class log_level_level(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + ALL = 0xffffffff # Log everything CUST1 = 0x10000 # Cust-1, latency info (65536) DB = 0x80 # Database related logging (128) @@ -4692,6 +5074,21 @@ class LFJsonPost(LFCliBase): WRN = 0x4 # warnings (4) XMT = 0x100 # Output going to clients (256) + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_log_level(self, level=None, @@ -4893,6 +5290,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class nc_show_ports_probe_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + BRIDGE = 0x8 # 8 include bridges EASY_IP_INFO = 0x10 # 16 Everything but gateway information, which is expensive to probe. ETHTOOL = 0x4 # 4 include ethtool results @@ -4901,6 +5301,21 @@ class LFJsonPost(LFCliBase): MII = 0x2 # 2 include MII WIFI = 0x1 # 1 include wifi stations + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_nc_show_ports(self, port=None, @@ -5255,8 +5670,8 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class reset_port_pre_ifdown(Enum): - P_IN = "P_IN" # Only call the portal login (do not reset drivers/supplicant/dhcp) - P_OUT = "P_OUT" # Only call the portal logout (do not reset drivers/supplicant/dhcp) + P_IN = "P-IN" # Only call the portal login (do not reset drivers/supplicant/dhcp) + P_OUT = "P-OUT" # Only call the portal logout (do not reset drivers/supplicant/dhcp) YES = "YES" # (include logout) Call portal-bot.pl ... --logout before going down. @@ -6065,7 +6480,7 @@ class LFJsonPost(LFCliBase): class scan_wifi_extra(Enum): NA = "NA" # (or left blank) the system does a full scan dump = "dump" # then only cached values are returned - trigger_freq__freq_ = "trigger_freq__freq_" # scan exactly those frequencies + trigger_freq__freq_ = "trigger freq [freq]" # scan exactly those frequencies def post_scan_wifi(self, @@ -6098,6 +6513,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class set_arm_info_arm_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + random_payload = 0x10000 # Use random payload sizes instead of linear increase rel_tstamp = 0x400 # Use Relative Timestamps. This will increase performance slow_start = 0x2000 # Use slow-start logic. This ramps up @@ -6105,6 +6523,21 @@ class LFJsonPost(LFCliBase): use_gw_mac = 0x1000 # Use default gateway's MAC for destination MAC. use_tcp = 0x8000 # Use TCP instead of UDP protocol. (Note this is NOT stateful TCP!) + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_set_arm_info(self, arm_flags=None, @@ -6641,10 +7074,31 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class set_event_interest_ei_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + CLEAR = 0x0 # will clear interest SET = 0x1 # set interest flag + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class set_event_interest_events1(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + BAD_TOS = 0x400000 # Endpoint has bad ToS values configured. Bad_MAC = 0x100000 # Invalid MAC address configured. Cleared = 0x2000 # Counters were cleared for some entity. @@ -6678,7 +7132,25 @@ class LFJsonPost(LFCliBase): TX_BPS_OOR_3S = 0x80000000 # Endpoint threshold alert. WiFi_Config = 0x80000 # WiFi Configuration Error. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class set_event_interest_events2(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + FW_CRASH = 0x800 # Firmware for entity has crashed. FW_FAIL = 0x1000 # Firmware failed powerup, may require reboot. IFDOWN_FAIL = 0x8000 # IFDOWN-PRE Script (ifup --logout) returned error code. @@ -6697,6 +7169,21 @@ class LFJsonPost(LFCliBase): TX_BPS_OOR_30S_CLEARED = 0x4 # Endpoint threshold alert cleared. TX_BPS_OOR_3S_CLEARED = 0x1 # Endpoint threshold alert cleared. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_set_event_interest(self, ei_flags=None, @@ -7042,6 +7529,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class set_port_cmd_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + abort_if_scripts = 0x400 # Forceably abort all ifup/down scripts on this Port. force_MII_probe = 0x4 # Force MII probe from_dhcp = 0x200 # Settings come from DHCP client. @@ -7055,7 +7545,25 @@ class LFJsonPost(LFCliBase): skip_port_bounce = 0x100 # skip-port-bounce (Don't ifdown/up use_pre_ifdown = 0x800 # Call pre-ifdown script before bringing interface down. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class set_port_current_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + adv_100bt_fd = 0x800000 # advert-100bt-FD adv_100bt_hd = 0x400000 # advert-100bt-HD adv_10bt_fd = 0x200000 # advert-10bt-FD @@ -7092,26 +7600,44 @@ class LFJsonPost(LFCliBase): use_dhcp = 0x80000000 # USE-DHCP use_dhcpv6 = 0x20000000000 # USE-DHCPv6 + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class set_port_dhcp_client_id(Enum): NA = "NA" # Do not change from current value. NONE = "NONE" # Do not use dhcp client ID. - _string_ = "_string_" # Use the string for the client ID. - __DEVNAME = "__DEVNAME" # Use the interface's name as the client ID. - __MAC = "__MAC" # Use interface's MAC address for the client ID. + p_string_ = "[string]" # Use the string for the client ID. + p__DEVNAME = "__DEVNAME" # Use the interface's name as the client ID. + p__MAC = "__MAC" # Use interface's MAC address for the client ID. class set_port_dhcp_hostname(Enum): NA = "NA" # Do not change from current value. NONE = "NONE" # Do not use dhcp Hostname - _string_ = "_string_" # Use the string for the Hostname. - __ALIAS__ = "__ALIAS__" # Use alias if set, or EID behaviour if alias is not set.. - __EID__ = "__EID__" # Use hostname 'CT-[resource-id].[port-name]' + p_string_ = "[string]" # Use the string for the Hostname. + p__ALIAS__ = "__ALIAS__" # Use alias if set, or EID behaviour if alias is not set.. + p__EID__ = "__EID__" # Use hostname 'CT-[resource-id].[port-name]' class set_port_dhcp_vendor_id(Enum): NA = "NA" # Do not change from current value. NONE = "NONE" # Do not use dhcp vendor ID - _string_ = "_string_" # Use the string for the vendor ID. + p_string_ = "[string]" # Use the string for the vendor ID. class set_port_flags2(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + bypass_disconnect = 0x200 # Logically disconnect the cable (link-down) bypass_enabled = 0x10 # Enable Bypass Device bypass_power_down = 0x80 # Should bypass be on when we shutdown or loose power? @@ -7119,7 +7645,25 @@ class LFJsonPost(LFCliBase): supports_bypass = 0x2 # Support Bypass Devices use_stp = 0x1 # Use Spanning Tree Protocol + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class set_port_interest(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + alias = 0x1000 # Port alias aux_mgt = 0x20000000 # Enable/disable Auxillary-Management for a port bridge = 0x10000 # BRIDGE @@ -7154,6 +7698,21 @@ class LFJsonPost(LFCliBase): svc_httpd = 0x8000000 # Enable/disable HTTP Service for a port tx_queue_length = 0x200 # TX Queue Length + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_set_port(self, alias=None, @@ -7305,7 +7864,7 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class set_resource_resource_flags(Enum): - skip_load_db_on_start = 0x1 # Should we skip loading the DB on start? + skip_load_db_on_start = 1 # Should we skip loading the DB on start? def post_set_resource(self, @@ -7350,9 +7909,27 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class set_rfgen_rfgen_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + one_burst = 0x8 # Run for about 1 second and stop. Uses 5-sec sweep time for single pulse train. running = 0x2 # Should we start the RF Generator or not? + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_set_rfgen(self, bb_gain=None, @@ -7400,6 +7977,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class set_script_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + SCR_COMPLETED = 0x80 # Set automatically by LANforge. SCR_HIDE_CONSTRAINTS = 0x2000 # Hide constraints messages. SCR_HIDE_CSV = 0x20 # Don't print the CSV data in the report. @@ -7419,6 +7999,21 @@ class LFJsonPost(LFCliBase): SCR_SYMMETRIC = 0x4 # This script should apply settings to the peer endpoing as well. SCR_USE_MSS = 0x8000 # When setting packet size, set TCP MSS instead if endpoint supports that. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class set_script_type(Enum): NONE = "NONE" # Delete any existing script. Script2544 = "Script2544" # For RFC 2544 type testing. @@ -7654,6 +8249,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class set_wanpath_corruption_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + BIT_FLIP = 0x4 # Flip a random bit in a byte. BIT_TRANSPOSE = 0x8 # Transpose two side-by-side bits in a byte. DO_CHAIN_ON_HIT = 0x10 # Do next corruption if this corruption is applied. @@ -7661,6 +8259,21 @@ class LFJsonPost(LFCliBase): OVERWRITE_RANDOM = 0x1 # Write a random value to a byte. RECALC_CSUMS = 0x20 # Attempt to re-calculate UDP and TCP checksums. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_set_wanpath_corruption(self, byte=None, @@ -7764,6 +8377,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class set_wifi_corruptions_corrupt_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + MSG_TYPE_DEAUTH = 0x2 # de-authentication message MSG_TYPE_EAPOL = 0x1 # Any EAPOL message MSG_TYPE_EAPOL_1_OF_2 = 0x40 # EAPOL message 1/2 @@ -7779,6 +8395,21 @@ class LFJsonPost(LFCliBase): MST_TYPE_EAPOL_OTHER_REQ = 0x1000 # EAP Requests that do not match other things. MST_TYPE_EAPOL_OTHER_RESP = 0x2000 # EAP Responses that do not match other things. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_set_wifi_corruptions(self, corrupt_flags=None, @@ -7989,6 +8620,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class set_wifi_radio_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + ct_sta_mode = 0x40000 # Enable CT-STA mode if radio supports it. Efficiently replaces sw-crypt in some firmware. firmware_cfg = 0x80000 # Apply firmware config. hw_sim = 0x1 # Create hw-sim virtual radio if radio does not already exist. @@ -7998,6 +8632,21 @@ class LFJsonPost(LFCliBase): use_syslog = 0x20000000 # Put supplicant logs in syslog instead of a file. verbose = 0x10000 # Verbose-Debug: Increase debug info in wpa-supplicant and hostapd logs. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + class set_wifi_radio_mode(Enum): p_802_11a = 1 # 802.11a AUTO = 0 # 802.11g @@ -8143,6 +8792,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class set_wl_corruption_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + BIT_FLIP = 0x4 # Flip a random bit in a byte. BIT_TRANSPOSE = 0x8 # Transpose two side-by-side bits in a byte. DO_CHAIN_ON_HIT = 0x10 # Do next corruption if this corruption is applied. @@ -8150,6 +8802,21 @@ class LFJsonPost(LFCliBase): OVERWRITE_RANDOM = 0x1 # Write a random value to a byte. RECALC_CSUMS = 0x20 # Attempt to re-calculate UDP and TCP checksums. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_set_wl_corruption(self, byte=None, @@ -8186,7 +8853,7 @@ class LFJsonPost(LFCliBase): class set_wl_qdisc_qdisc(Enum): FIFO = "FIFO" # is the default queuing discipline, no arguments - WRR__queue_queue_____ = "WRR__queue_queue_____" # Weighted Round Robbin is also available + WRR__queue_queue_____ = "WRR,[queue,queue,...]" # Weighted Round Robbin is also available def post_set_wl_qdisc(self, @@ -8213,6 +8880,9 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class set_wanpath_corruption_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + BIT_FLIP = 0x4 # Flip a random bit in a byte. BIT_TRANSPOSE = 0x8 # Transpose two side-by-side bits in a byte. DO_CHAIN_ON_HIT = 0x10 # Do next corruption if this corruption is applied. @@ -8220,6 +8890,21 @@ class LFJsonPost(LFCliBase): OVERWRITE_RANDOM = 0x1 # Write a random value to a byte. RECALC_CSUMS = 0x20 # Attempt to re-calculate UDP and TCP checksums. + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_set_wp_corruption(self, byte=None, @@ -9274,11 +9959,29 @@ class LFJsonPost(LFCliBase): ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----""" class sniff_port_flags(Enum): + selected_named_flag_map = {} + temp_flag_value = 0x0 + DUMPCAP = 0x2 # Use command-line dumpcap, more efficient than tshark MATE_TERMINAL = 0x4 # Launch tshark/dumpcap in mate-terminal MATE_XTERM = 0x8 # Launch tshark/dumpcap in xterm TSHARK = 0x1 # Use command-line tshark instead of wireshark + def update_flag_value(self): + self.temp_flag_value = 0x0 + for flag in self.selected_named_flag_map.keys(): + self.temp_flag_value |= flag.value + + def add_flag(self, flag_name): + self.selected_named_flag_map.put(flag_name, 0) + self.update_flag_value() + + def clear_flag(self, flag_name): + if self.selected_named_flag_map.contains(flag_name): + self.selected_named_flag_map.remove(flag_name) + self.update_flag_value() + + def post_sniff_port(self, display=None,