diff options
-rw-r--r-- | debian/control | 1 | ||||
-rw-r--r-- | interface-definitions/container.xml.in | 8 | ||||
-rw-r--r-- | interface-definitions/firewall.xml.in | 26 | ||||
-rw-r--r-- | interface-definitions/include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i | 2 | ||||
-rwxr-xr-x | src/conf_mode/container.py | 2 | ||||
-rwxr-xr-x | src/op_mode/conntrack.py | 23 |
6 files changed, 46 insertions, 16 deletions
diff --git a/debian/control b/debian/control index 45da50b01..801cce269 100644 --- a/debian/control +++ b/debian/control @@ -22,6 +22,7 @@ Build-Depends: python3-nose, python3-jinja2, python3-psutil, + python3-requests, python3-setuptools, quilt, whois diff --git a/interface-definitions/container.xml.in b/interface-definitions/container.xml.in index 94f2e92f5..e7dacea36 100644 --- a/interface-definitions/container.xml.in +++ b/interface-definitions/container.xml.in @@ -25,7 +25,7 @@ <properties> <help>Grant individual Linux capability to container instance</help> <completionHelp> - <list>net-admin net-bind-service net-raw setpcap sys-admin sys-module sys-time</list> + <list>net-admin net-bind-service net-raw setpcap sys-admin sys-module sys-nice sys-time</list> </completionHelp> <valueHelp> <format>net-admin</format> @@ -52,11 +52,15 @@ <description>Load, unload and delete kernel modules</description> </valueHelp> <valueHelp> + <format>sys-nice</format> + <description>Permission to set process nice value</description> + </valueHelp> + <valueHelp> <format>sys-time</format> <description>Permission to set system clock</description> </valueHelp> <constraint> - <regex>(net-admin|net-bind-service|net-raw|setpcap|sys-admin|sys-module|sys-time)</regex> + <regex>(net-admin|net-bind-service|net-raw|setpcap|sys-admin|sys-module|sys-nice|sys-time)</regex> </constraint> <multi/> </properties> diff --git a/interface-definitions/firewall.xml.in b/interface-definitions/firewall.xml.in index 3219471b1..24e63c5ec 100644 --- a/interface-definitions/firewall.xml.in +++ b/interface-definitions/firewall.xml.in @@ -56,8 +56,9 @@ <properties> <help>Firewall address-group</help> <constraint> - <regex>[a-zA-Z0-9][\w\-\.]*</regex> + #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> </constraint> + <constraintErrorMessage>Name of firewall group can only contain alphanumeric letters, hyphen, underscores and dot</constraintErrorMessage> </properties> <children> <leafNode name="address"> @@ -96,7 +97,7 @@ <constraint> <regex>[a-zA-Z_][a-zA-Z0-9]?[\w\-\.]*</regex> </constraint> - <constraintErrorMessage>Name of domain-group can only contain alpha-numeric letters, hyphen, underscores and not start with numeric</constraintErrorMessage> + <constraintErrorMessage>Name of domain-group can only contain alphanumeric letters, hyphen, underscores and not start with numeric</constraintErrorMessage> </properties> <children> <leafNode name="address"> @@ -124,8 +125,9 @@ <properties> <help>Firewall dynamic address group</help> <constraint> - <regex>[a-zA-Z0-9][\w\-\.]*</regex> + #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> </constraint> + <constraintErrorMessage>Name of firewall group can only contain alphanumeric letters, hyphen, underscores and dot</constraintErrorMessage> </properties> <children> #include <include/generic-description.xml.i> @@ -148,8 +150,9 @@ <properties> <help>Firewall interface-group</help> <constraint> - <regex>[a-zA-Z0-9][\w\-\.]*</regex> + #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> </constraint> + <constraintErrorMessage>Name of firewall group can only contain alphanumeric letters, hyphen, underscores and dot</constraintErrorMessage> </properties> <children> <leafNode name="interface"> @@ -177,8 +180,9 @@ <properties> <help>Firewall ipv6-address-group</help> <constraint> - <regex>[a-zA-Z0-9][\w\-\.]*</regex> + #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> </constraint> + <constraintErrorMessage>Name of firewall group can only contain alphanumeric letters, hyphen, underscores and dot</constraintErrorMessage> </properties> <children> <leafNode name="address"> @@ -215,8 +219,9 @@ <properties> <help>Firewall ipv6-network-group</help> <constraint> - <regex>[a-zA-Z0-9][\w\-\.]*</regex> + #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> </constraint> + <constraintErrorMessage>Name of firewall group can only contain alphanumeric letters, hyphen, underscores and dot</constraintErrorMessage> </properties> <children> #include <include/generic-description.xml.i> @@ -248,8 +253,9 @@ <properties> <help>Firewall mac-group</help> <constraint> - <regex>[a-zA-Z0-9][\w\-\.]*</regex> + #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> </constraint> + <constraintErrorMessage>Name of firewall group can only contain alphanumeric letters, hyphen, underscores and dot</constraintErrorMessage> </properties> <children> #include <include/generic-description.xml.i> @@ -281,8 +287,9 @@ <properties> <help>Firewall network-group</help> <constraint> - <regex>[a-zA-Z0-9][\w\-\.]*</regex> + #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> </constraint> + <constraintErrorMessage>Name of firewall group can only contain alphanumeric letters, hyphen, underscores and dot</constraintErrorMessage> </properties> <children> #include <include/generic-description.xml.i> @@ -314,8 +321,9 @@ <properties> <help>Firewall port-group</help> <constraint> - <regex>[a-zA-Z0-9][\w\-\.]*</regex> + #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> </constraint> + <constraintErrorMessage>Name of firewall group can only contain alphanumeric letters, hyphen, underscores and dot</constraintErrorMessage> </properties> <children> #include <include/generic-description.xml.i> diff --git a/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i b/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i index 7aeb85260..34c94e53c 100644 --- a/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i +++ b/interface-definitions/include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i @@ -1,3 +1,3 @@ <!-- include start from constraint/alpha-numeric-hyphen-underscore-dot.xml.i --> -<regex>[-_a-zA-Z0-9.]+</regex> +<regex>[-_a-zA-Z0-9][\w\-\.\+]*</regex> <!-- include end --> diff --git a/src/conf_mode/container.py b/src/conf_mode/container.py index 0b57221b2..a73a18ffa 100755 --- a/src/conf_mode/container.py +++ b/src/conf_mode/container.py @@ -473,8 +473,8 @@ def apply(container): # it to a VRF as there's no consumer, yet. if interface_exists(network_name): tmp = Interface(network_name) - tmp.add_ipv6_eui64_address('fe80::/64') tmp.set_vrf(network_config.get('vrf', '')) + tmp.add_ipv6_eui64_address('fe80::/64') return None diff --git a/src/op_mode/conntrack.py b/src/op_mode/conntrack.py index 5687b9b00..c379c3e60 100755 --- a/src/op_mode/conntrack.py +++ b/src/op_mode/conntrack.py @@ -62,7 +62,7 @@ def _get_raw_data(family): def _get_raw_statistics(): entries = [] - data = cmd('sudo conntrack -S') + data = cmd('sudo conntrack --stats') data = data.replace(' \t', '').split('\n') for entry in data: entries.append(entry.split()) @@ -70,8 +70,25 @@ def _get_raw_statistics(): def get_formatted_statistics(entries): - headers = ["CPU", "Found", "Invalid", "Insert", "Insert fail", "Drop", "Early drop", "Errors", "Search restart"] - output = tabulate(entries, headers, numalign="left") + headers = [ + "CPU", + "Found", + "Invalid", + "Insert", + "Insert fail", + "Drop", + "Early drop", + "Errors", + "Search restart", + "", + "", + ] + # Process each entry to extract and format the values after '=' + processed_entries = [ + [value.split('=')[-1] for value in entry] + for entry in entries + ] + output = tabulate(processed_entries, headers, numalign="left") return output |