thombashi / tcconfig

A tc command wrapper. Make it easy to set up traffic control of network bandwidth/latency/packet-loss/packet-corruption/etc. to a network-interface/Docker-container(veth).
https://tcconfig.rtfd.io/
MIT License
792 stars 85 forks source link

Delete shaping rule using ID and Network not working #165

Open leond08 opened 2 years ago

leond08 commented 2 years ago

I was using tcconfig on Orange Pi PC when I try to delete shaping using ID or network tcconfig version 0.27 OS: UBuntu 18.04

root@orangepipc:# tcshow eth0 { "eth0": { "outgoing": { "protocol=ip": { "filter_id": "800::800", "delay": "274.9s", "delay-distro": "274.9s", "rate": "1Mbps" } }, "incoming": { "protocol=ip": { "filter_id": "800::800", "delay": "274.9s", "delay-distro": "274.9s", "rate": "1Mbps" } } } }

root@orangepipc:tcdel eth0 --id 800::800 --debug DEBUG | simplesqlite.core:connect:266 - connect to a SQLite database: path=':memory:', mode=w DEBUG | simplesqlite.core:create_table:1288 - CREATE TABLE IF NOT EXISTS 'filter' (device TEXT NOT NULL, "filter_id" TEXT, flowid TEXT, protocol TEXT, priority INTEGER, [src-network] TEXT, [dst-network] TEXT, [src-port] INTEGER, [dst-port] INTEGER, classid TEXT, handle INTEGER) DEBUG | simplesqlite.core:create_table:1288 - CREATE TABLE IF NOT EXISTS 'qdisc' (device TEXT NOT NULL, "direct_qlen" INTEGER, parent TEXT, handle TEXT, delay TEXT, [delay-distro] TEXT, loss TEXT, duplicate TEXT, corrupt TEXT, reorder TEXT, rate TEXT) DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc filter show dev eth0 root DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc class show dev eth0 DEBUG | tcconfig.parser._class:parse:51 - parse a class entry: {'device': 'eth0', 'classid': '1a1a:1', 'rate': '100Mbps'} DEBUG | tcconfig.parser._class:parse:51 - parse a class entry: {'device': 'eth0', 'classid': '1a1a:2', 'rate': '1Mbps'} DEBUG | simplesqlite.core:create_table_from_tabledata:1735 - create_table_from_tabledata: tbldata=table_name=class, headers=[device, classid, rate], cols=3, rows=2 DEBUG | tabledata.normalizer:normalize:53 - normalize: SQLiteTableDataSanitizer DEBUG | dataproperty._extractor:to_dp_matrix:487 - max_workers=1, preprocessor=strip_str=None, replace_tabs_with_spaces=True, tab_length=2, line_break_handling=LineBreakHandling.NOP, line_break_repl= , escape_html_tag=False, escape_formula_injection=False DEBUG | dataproperty._extractor:to_column_dp_list:420 - converting to column dataproperty: DEBUG | dataproperty._extractor:to_column_dp_list:448 - params: DEBUG | dataproperty._extractor:to_column_dp_list:448 - headers=3 DEBUG | dataproperty._extractor:to_column_dp_list:448 - prev_col_count=None DEBUG | dataproperty._extractor:to_column_dp_list:448 - matrix_formatting=MatrixFormatting.TRIM DEBUG | dataproperty._extractor:to_column_dp_list:448 - column_type_hints=() DEBUG | dataproperty._extractor:to_column_dp_list:450 - results: DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=0, type=STRING, align=left, ascii_width=6 DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=1, type=STRING, align=left, ascii_width=7 DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=2, type=STRING, align=left, ascii_width=7 DEBUG | simplesqlite.core:create_table:1288 - CREATE TABLE IF NOT EXISTS 'class' (device TEXT, classid TEXT, rate TEXT) DEBUG | simplesqlite.core:insert_many:620 - insert 2 records into class DEBUG | simplesqlite.core:commit:1597 - commit: path=':memory:' DEBUG | tcconfig.parser._class:parse:58 - tc class parse result: [ { "device": "eth0", "classid": "1a1a:1", "rate": "100Mbps" }, { "device": "eth0", "classid": "1a1a:2", "rate": "1Mbps" } ] DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc filter show dev eth0 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3068620356 u32 chain 3068620356 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: filter parent 1a1a: protocol ip pref 3068620356 u32 chain 3068620356 DEBUG | tcconfig.parser._filter:parse:137 - failed to parse filter: filter parent 1a1a: protocol ip pref 3068620356 u32 chain 3068620356 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3068620356 u32 chain 3068620356 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: filter parent 1a1a: protocol ip pref 3068620356 u32 chain 3068620356 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:137 - failed to parse filter: filter parent 1a1a: protocol ip pref 3068620356 u32 chain 3068620356 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3068620356 u32 chain 3068620356 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:__parse_flow_id:184 - succeed to parse flow id: flow-id=1a1a:2, line=filter parent 1a1a: protocol ip pref 3068620356 u32 chain 3068620356 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_protocol:190 - succeed to parse protocol: protocol=ip, line=filter parent 1a1a: protocol ip pref 3068620356 u32 chain 3068620356 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_priority:197 - succeed to parse priority: priority=3068620356, line=filter parent 1a1a: protocol ip pref 3068620356 u32 chain 3068620356 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_filter_id:204 - succeed to parse filter id: filter-id=800::800, line=filter parent 1a1a: protocol ip pref 3068620356 u32 chain 3068620356 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse_filter_ipv4:363 - succeed to parse ipv4 filter: src_network=None, dst_network=0.0.0.0/0, src_port=None, dst_port=None, line=match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: match 00000000/00000000 at 12 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: match 00000000/00000000 at 12 DEBUG | tcconfig.parser._filter:__parse_filter_ipv4:363 - succeed to parse ipv4 filter: src_network=0.0.0.0/0, dst_network=0.0.0.0/0, src_port=None, dst_port=None, line=match 00000000/00000000 at 12 DEBUG | simplesqlite.core:insert_many:620 - insert 1 records into filter DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc qdisc show dev eth0 DEBUG | tcconfig.parser._qdisc:parse:64 - parse a qdisc entry: {'direct_qlen': 3068915268, 'parent': '1a1a:2', 'device': 'eth0', 'handle': '252f:', 'delay': '274.9s', 'delay-distro': '274.9s'} DEBUG | simplesqlite.core:insert_many:620 - insert 1 records into qdisc DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc class show dev ifb6682 DEBUG | tcconfig.parser._class:parse:51 - parse a class entry: {'device': 'ifb6682', 'classid': '1a1a:1', 'rate': '32Gbps'} DEBUG | tcconfig.parser._class:parse:51 - parse a class entry: {'device': 'ifb6682', 'classid': '1a1a:2', 'rate': '1Mbps'} DEBUG | simplesqlite.core:create_table_from_tabledata:1735 - create_table_from_tabledata: tbldata=table_name=class, headers=[device, classid, rate], cols=3, rows=2 DEBUG | tabledata.normalizer:normalize:53 - normalize: SQLiteTableDataSanitizer DEBUG | dataproperty._extractor:to_dp_matrix:487 - max_workers=1, preprocessor=strip_str=None, replace_tabs_with_spaces=True, tab_length=2, line_break_handling=LineBreakHandling.NOP, line_break_repl= , escape_html_tag=False, escape_formula_injection=False DEBUG | dataproperty._extractor:to_column_dp_list:420 - converting to column dataproperty: DEBUG | dataproperty._extractor:to_column_dp_list:448 - params: DEBUG | dataproperty._extractor:to_column_dp_list:448 - headers=3 DEBUG | dataproperty._extractor:to_column_dp_list:448 - prev_col_count=None DEBUG | dataproperty._extractor:to_column_dp_list:448 - matrix_formatting=MatrixFormatting.TRIM DEBUG | dataproperty._extractor:to_column_dp_list:448 - column_type_hints=() DEBUG | dataproperty._extractor:to_column_dp_list:450 - results: DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=0, type=STRING, align=left, ascii_width=7 DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=1, type=STRING, align=left, ascii_width=7 DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=2, type=STRING, align=left, ascii_width=6 DEBUG | simplesqlite.core:insert_many:620 - insert 2 records into class DEBUG | simplesqlite.core:commit:1597 - commit: path=':memory:' DEBUG | tcconfig.parser._class:parse:58 - tc class parse result: [ { "device": "ifb6682", "classid": "1a1a:1", "rate": "32Gbps" }, { "device": "ifb6682", "classid": "1a1a:2", "rate": "1Mbps" } ] DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc filter show dev ifb6682 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3069124164 u32 chain 3069124164 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: filter parent 1a1a: protocol ip pref 3069124164 u32 chain 3069124164 DEBUG | tcconfig.parser._filter:parse:137 - failed to parse filter: filter parent 1a1a: protocol ip pref 3069124164 u32 chain 3069124164 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3069124164 u32 chain 3069124164 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: filter parent 1a1a: protocol ip pref 3069124164 u32 chain 3069124164 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:137 - failed to parse filter: filter parent 1a1a: protocol ip pref 3069124164 u32 chain 3069124164 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3069124164 u32 chain 3069124164 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_flow_id:184 - succeed to parse flow id: flow-id=1a1a:2, line=filter parent 1a1a: protocol ip pref 3069124164 u32 chain 3069124164 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_protocol:190 - succeed to parse protocol: protocol=ip, line=filter parent 1a1a: protocol ip pref 3069124164 u32 chain 3069124164 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_priority:197 - succeed to parse priority: priority=3069124164, line=filter parent 1a1a: protocol ip pref 3069124164 u32 chain 3069124164 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_filter_id:204 - succeed to parse filter id: filter-id=800::800, line=filter parent 1a1a: protocol ip pref 3069124164 u32 chain 3069124164 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse_filter_ipv4:363 - succeed to parse ipv4 filter: src_network=None, dst_network=0.0.0.0/0, src_port=None, dst_port=None, line=match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: match 00000000/00000000 at 12 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: match 00000000/00000000 at 12 DEBUG | tcconfig.parser._filter:__parse_filter_ipv4:363 - succeed to parse ipv4 filter: src_network=0.0.0.0/0, dst_network=0.0.0.0/0, src_port=None, dst_port=None, line=match 00000000/00000000 at 12 DEBUG | simplesqlite.core:insert_many:620 - insert 1 records into filter DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc qdisc show dev ifb6682 DEBUG | tcconfig.parser._qdisc:parse:64 - parse a qdisc entry: {'direct_qlen': 3068251716, 'parent': '1a1a:2', 'device': 'ifb6682', 'handle': '252f:', 'delay': '274.9s', 'delay-distro': '274.9s'} DEBUG | simplesqlite.core:insert_many:620 - insert 1 records into qdisc DEBUG | simplesqlite.core:close:1621 - close connection to a SQLite database: path=':memory:' DEBUG | simplesqlite.core:commit:1597 - commit: path=':memory:' DEBUG | simplesqlite.core:connect:266 - connect to a SQLite database: path=':memory:', mode=w DEBUG | simplesqlite.core:close:1621 - close connection to a SQLite database: path=':memory:' DEBUG | simplesqlite.core:commit:1597 - commit: path=':memory:' DEBUG | simplesqlite.core:create_table:1288 - CREATE TABLE IF NOT EXISTS 'filter' (device TEXT NOT NULL, "filter_id" TEXT, flowid TEXT, protocol TEXT, priority INTEGER, [src-network] TEXT, [dst-network] TEXT, [src-port] INTEGER, [dst-port] INTEGER, classid TEXT, handle INTEGER) DEBUG | simplesqlite.core:close:1621 - close connection to a SQLite database: path=':memory:' DEBUG | simplesqlite.core:commit:1597 - commit: path=':memory:' DEBUG | simplesqlite.core:create_table:1288 - CREATE TABLE IF NOT EXISTS 'qdisc' (device TEXT NOT NULL, "direct_qlen" INTEGER, parent TEXT, handle TEXT, delay TEXT, [delay-distro] TEXT, loss TEXT, duplicate TEXT, corrupt TEXT, reorder TEXT, rate TEXT) DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc filter show dev eth0 root DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc class show dev eth0 DEBUG | tcconfig.parser._class:parse:51 - parse a class entry: {'device': 'eth0', 'classid': '1a1a:1', 'rate': '100Mbps'} DEBUG | tcconfig.parser._class:parse:51 - parse a class entry: {'device': 'eth0', 'classid': '1a1a:2', 'rate': '1Mbps'} DEBUG | simplesqlite.core:create_table_from_tabledata:1735 - create_table_from_tabledata: tbldata=table_name=class, headers=[device, classid, rate], cols=3, rows=2 DEBUG | tabledata.normalizer:normalize:53 - normalize: SQLiteTableDataSanitizer DEBUG | dataproperty._extractor:to_dp_matrix:487 - max_workers=1, preprocessor=strip_str=None, replace_tabs_with_spaces=True, tab_length=2, line_break_handling=LineBreakHandling.NOP, line_break_repl= , escape_html_tag=False, escape_formula_injection=False DEBUG | dataproperty._extractor:to_column_dp_list:420 - converting to column dataproperty: DEBUG | dataproperty._extractor:to_column_dp_list:448 - params: DEBUG | dataproperty._extractor:to_column_dp_list:448 - headers=3 DEBUG | dataproperty._extractor:to_column_dp_list:448 - prev_col_count=None DEBUG | dataproperty._extractor:to_column_dp_list:448 - matrix_formatting=MatrixFormatting.TRIM DEBUG | dataproperty._extractor:to_column_dp_list:448 - column_type_hints=() DEBUG | dataproperty._extractor:to_column_dp_list:450 - results: DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=0, type=STRING, align=left, ascii_width=6 DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=1, type=STRING, align=left, ascii_width=7 DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=2, type=STRING, align=left, ascii_width=7 DEBUG | simplesqlite.core:create_table:1288 - CREATE TABLE IF NOT EXISTS 'class' (device TEXT, classid TEXT, rate TEXT) DEBUG | simplesqlite.core:insert_many:620 - insert 2 records into class DEBUG | simplesqlite.core:commit:1597 - commit: path=':memory:' DEBUG | tcconfig.parser._class:parse:58 - tc class parse result: [ { "device": "eth0", "classid": "1a1a:1", "rate": "100Mbps" }, { "device": "eth0", "classid": "1a1a:2", "rate": "1Mbps" } ] DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc filter show dev eth0 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3068374596 u32 chain 3068374596 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: filter parent 1a1a: protocol ip pref 3068374596 u32 chain 3068374596 DEBUG | tcconfig.parser._filter:parse:137 - failed to parse filter: filter parent 1a1a: protocol ip pref 3068374596 u32 chain 3068374596 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3068374596 u32 chain 3068374596 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: filter parent 1a1a: protocol ip pref 3068374596 u32 chain 3068374596 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:137 - failed to parse filter: filter parent 1a1a: protocol ip pref 3068374596 u32 chain 3068374596 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3068374596 u32 chain 3068374596 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:__parse_flow_id:184 - succeed to parse flow id: flow-id=1a1a:2, line=filter parent 1a1a: protocol ip pref 3068374596 u32 chain 3068374596 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_protocol:190 - succeed to parse protocol: protocol=ip, line=filter parent 1a1a: protocol ip pref 3068374596 u32 chain 3068374596 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_priority:197 - succeed to parse priority: priority=3068374596, line=filter parent 1a1a: protocol ip pref 3068374596 u32 chain 3068374596 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_filter_id:204 - succeed to parse filter id: filter-id=800::800, line=filter parent 1a1a: protocol ip pref 3068374596 u32 chain 3068374596 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse_filter_ipv4:363 - succeed to parse ipv4 filter: src_network=None, dst_network=0.0.0.0/0, src_port=None, dst_port=None, line=match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: match 00000000/00000000 at 12 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: match 00000000/00000000 at 12 DEBUG | tcconfig.parser._filter:__parse_filter_ipv4:363 - succeed to parse ipv4 filter: src_network=0.0.0.0/0, dst_network=0.0.0.0/0, src_port=None, dst_port=None, line=match 00000000/00000000 at 12 DEBUG | simplesqlite.core:insert_many:620 - insert 1 records into filter DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc qdisc show dev eth0 DEBUG | tcconfig.parser._qdisc:parse:64 - parse a qdisc entry: {'direct_qlen': 3068259908, 'parent': '1a1a:2', 'device': 'eth0', 'handle': '252f:', 'delay': '274.9s', 'delay-distro': '274.9s'} DEBUG | simplesqlite.core:insert_many:620 - insert 1 records into qdisc DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc class show dev ifb6682 DEBUG | tcconfig.parser._class:parse:51 - parse a class entry: {'device': 'ifb6682', 'classid': '1a1a:1', 'rate': '32Gbps'} DEBUG | tcconfig.parser._class:parse:51 - parse a class entry: {'device': 'ifb6682', 'classid': '1a1a:2', 'rate': '1Mbps'} DEBUG | simplesqlite.core:create_table_from_tabledata:1735 - create_table_from_tabledata: tbldata=table_name=class, headers=[device, classid, rate], cols=3, rows=2 DEBUG | tabledata.normalizer:normalize:53 - normalize: SQLiteTableDataSanitizer DEBUG | dataproperty._extractor:to_dp_matrix:487 - max_workers=1, preprocessor=strip_str=None, replace_tabs_with_spaces=True, tab_length=2, line_break_handling=LineBreakHandling.NOP, line_break_repl= , escape_html_tag=False, escape_formula_injection=False DEBUG | dataproperty._extractor:to_column_dp_list:420 - converting to column dataproperty: DEBUG | dataproperty._extractor:to_column_dp_list:448 - params: DEBUG | dataproperty._extractor:to_column_dp_list:448 - headers=3 DEBUG | dataproperty._extractor:to_column_dp_list:448 - prev_col_count=None DEBUG | dataproperty._extractor:to_column_dp_list:448 - matrix_formatting=MatrixFormatting.TRIM DEBUG | dataproperty._extractor:to_column_dp_list:448 - column_type_hints=() DEBUG | dataproperty._extractor:to_column_dp_list:450 - results: DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=0, type=STRING, align=left, ascii_width=7 DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=1, type=STRING, align=left, ascii_width=7 DEBUG | dataproperty._extractor:to_column_dp_list:481 - column=2, type=STRING, align=left, ascii_width=6 DEBUG | simplesqlite.core:insert_many:620 - insert 2 records into class DEBUG | simplesqlite.core:commit:1597 - commit: path=':memory:' DEBUG | tcconfig.parser._class:parse:58 - tc class parse result: [ { "device": "ifb6682", "classid": "1a1a:1", "rate": "32Gbps" }, { "device": "ifb6682", "classid": "1a1a:2", "rate": "1Mbps" } ] DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc filter show dev ifb6682 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3068595780 u32 chain 3068595780 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: filter parent 1a1a: protocol ip pref 3068595780 u32 chain 3068595780 DEBUG | tcconfig.parser._filter:parse:137 - failed to parse filter: filter parent 1a1a: protocol ip pref 3068595780 u32 chain 3068595780 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3068595780 u32 chain 3068595780 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: filter parent 1a1a: protocol ip pref 3068595780 u32 chain 3068595780 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:137 - failed to parse filter: filter parent 1a1a: protocol ip pref 3068595780 u32 chain 3068595780 fh 800: ht divisor 1 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: filter parent 1a1a: protocol ip pref 3068595780 u32 chain 3068595780 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_flow_id:184 - succeed to parse flow id: flow-id=1a1a:2, line=filter parent 1a1a: protocol ip pref 3068595780 u32 chain 3068595780 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_protocol:190 - succeed to parse protocol: protocol=ip, line=filter parent 1a1a: protocol ip pref 3068595780 u32 chain 3068595780 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_priority:197 - succeed to parse priority: priority=3068595780, line=filter parent 1a1a: protocol ip pref 3068595780 u32 chain 3068595780 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse_filter_id:204 - succeed to parse filter id: filter-id=800::800, line=filter parent 1a1a: protocol ip pref 3068595780 u32 chain 3068595780 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1a1a:2 not_in_hw DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse_filter_ipv4:363 - succeed to parse ipv4 filter: src_network=None, dst_network=0.0.0.0/0, src_port=None, dst_port=None, line=match 00000000/00000000 at 16 DEBUG | tcconfig.parser._filter:parse:92 - failed to parse mangle: match 00000000/00000000 at 12 DEBUG | tcconfig.parser._filter:parse:127 - failed to parse flow id: match 00000000/00000000 at 12 DEBUG | tcconfig.parser._filter:__parse_filter_ipv4:363 - succeed to parse ipv4 filter: src_network=0.0.0.0/0, dst_network=0.0.0.0/0, src_port=None, dst_port=None, line=match 00000000/00000000 at 12 DEBUG | simplesqlite.core:insert_many:620 - insert 1 records into filter DEBUG | subprocrunner._subprocess_runner:debug_print_command:323 - /sbin/tc qdisc show dev ifb6682 DEBUG | tcconfig.parser._qdisc:parse:64 - parse a qdisc entry: {'direct_qlen': 3068223044, 'parent': '1a1a:2', 'device': 'ifb6682', 'handle': '252f:', 'delay': '274.9s', 'delay-distro': '274.9s'} DEBUG | simplesqlite.core:insert_many:620 - insert 1 records into qdisc DEBUG | tcconfig._shaping_rule_finder:find_filter_param:43 - find filter param: table=filter, where=device = 'eth0' AND protocol = 'ip' AND [dst-network] = '0.0.0.0/0' AND [src-network] = '0.0.0.0/0' AND [dst-port] IS NULL AND [src-port] IS NULL INFO | tcconfig.traffic_control:delete_tc:326 - delete a shaping rule: {'device': 'eth0', 'filter_id': '800::800', 'flowid': '1a1a:2', 'protocol': 'ip', 'priority': 3068374596, 'src-network': '0.0.0.0/0', 'dst-network': '0.0.0.0/0'} DEBUG | subprocrunner._subprocess_runner:__debug_print_command:323 - /sbin/tc filter del dev eth0 protocol ip parent 1a1a: handle 800::800 prio 3068374596 u32 DEBUG | simplesqlite.core:close:1621 - close connection to a SQLite database: path=':memory:' DEBUG | simplesqlite.core:commit:1597 - commit: path=':memory:' DEBUG | tcconfig._main:_dump_history:75 - command history /sbin/tc filter del dev eth0 protocol ip parent 1a1a: handle 800::800 prio 3068374596 u32

When tcshow again it didn't delete it

Using tcdel eth0 --all. All goods it delete it