network: introduce new [QDisc] section to support Parent=ingress

Follow-up for 18de0969c5.
This commit is contained in:
Yu Watanabe 2020-02-05 19:10:33 +09:00
parent 72545ae057
commit 2ed5f6d5de
5 changed files with 20 additions and 2 deletions

View File

@ -2270,6 +2270,21 @@
</variablelist>
</refsect1>
<refsect1>
<title>[QDisc] Section Options</title>
<para>The <literal>[QDisc]</literal> section manages the traffic control queueing discipline (qdisc).</para>
<variablelist class='network-directives'>
<varlistentry>
<term><varname>Parent=</varname></term>
<listitem>
<para>Specifies the parent Queueing Discipline (qdisc). Takes one of <literal>clsact</literal>
or <literal>ingress</literal>. This is mandatory.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>[NetworkEmulator] Section Options</title>
<para>The <literal>[NetworkEmulator]</literal> section manages the queueing discipline (qdisc) of

View File

@ -251,6 +251,7 @@ CAN.BitRate, config_parse_si_uint64,
CAN.SamplePoint, config_parse_permille, 0, offsetof(Network, can_sample_point)
CAN.RestartSec, config_parse_sec, 0, offsetof(Network, can_restart_us)
CAN.TripleSampling, config_parse_tristate, 0, offsetof(Network, can_triple_sampling)
QDisc.Parent, config_parse_qdisc_parent, _QDISC_KIND_INVALID, 0
ControlledDelay.Parent, config_parse_qdisc_parent, QDISC_KIND_CODEL, 0
ControlledDelay.PacketLimit, config_parse_controlled_delay_u32, QDISC_KIND_CODEL, 0
ControlledDelay.TargetSec, config_parse_controlled_delay_usec, QDISC_KIND_CODEL, 0
@ -320,7 +321,7 @@ DHCP.RapidCommit, config_parse_bool,
DHCP.ForceDHCPv6PDOtherInformation, config_parse_bool, 0, offsetof(Network, dhcp6_force_pd_other_information)
DHCPv4.UseDomainName, config_parse_dhcp_use_domains, 0, offsetof(Network, dhcp_use_domains)
DHCPv4.CriticalConnection, config_parse_tristate, 0, offsetof(Network, dhcp_critical)
TrafficControlQueueingDiscipline.Parent, config_parse_qdisc_parent, QDISC_KIND_NETEM, 0
TrafficControlQueueingDiscipline.Parent, config_parse_qdisc_parent, _QDISC_KIND_INVALID, 0
TrafficControlQueueingDiscipline.NetworkEmulatorDelaySec, config_parse_network_emulator_delay, 0, 0
TrafficControlQueueingDiscipline.NetworkEmulatorDelayJitterSec, config_parse_network_emulator_delay, 0, 0
TrafficControlQueueingDiscipline.NetworkEmulatorLossRate, config_parse_network_emulator_rate, 0, 0

View File

@ -482,6 +482,7 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
"IPv6RoutePrefix\0"
"TrafficControlQueueingDiscipline\0"
"CAN\0"
"QDisc\0"
"ControlledDelay\0"
"FairQueueing\0"
"FairQueueingControlledDelay\0"

View File

@ -254,7 +254,6 @@ int config_parse_qdisc_parent(
assert(lvalue);
assert(rvalue);
assert(data);
assert(ltype >= 0 && ltype < _QDISC_KIND_MAX);
r = qdisc_new_static(ltype, network, filename, section_line, &qdisc);
if (r < 0)

View File

@ -270,6 +270,8 @@ SendOption=
[NextHop]
Id=
Gateway=
[QDisc]
Parent=
[NetworkEmulator]
Parent=
DelaySec=