Tunnel header caching significantly improves performance by bypassing
much of the transmit path. However, in some special cases or for
debugging it may be desirable to traverse the entire IP stack. This
exposes that as an option (default is to enable header caching).
Signed-off-by: Jesse Gross <jesse@nicira.com>
Reviewed-by: Ben Pfaff <blp@nicira.com>
memset(config, 0, sizeof *config);
config->flags |= TNL_F_PMTUD;
memset(config, 0, sizeof *config);
config->flags |= TNL_F_PMTUD;
+ config->flags |= TNL_F_HDR_CACHE;
SHASH_FOR_EACH (node, args) {
if (!strcmp(node->name, "remote_ip")) {
SHASH_FOR_EACH (node, args) {
if (!strcmp(node->name, "remote_ip")) {
if (!strcmp(node->data, "false")) {
config->flags &= ~TNL_F_PMTUD;
}
if (!strcmp(node->data, "false")) {
config->flags &= ~TNL_F_PMTUD;
}
+ } else if (!strcmp(node->name, "header_cache")) {
+ if (!strcmp(node->data, "false")) {
+ config->flags &= ~TNL_F_HDR_CACHE;
+ }
} else {
VLOG_WARN("%s: unknown %s argument '%s'", name, type, node->name);
}
} else {
VLOG_WARN("%s: unknown %s argument '%s'", name, type, node->name);
}
compliance with the IEEE 802.1D specification for bridges.
Default is enabled, set to <code>false</code> to disable.</dd>
</dl>
compliance with the IEEE 802.1D specification for bridges.
Default is enabled, set to <code>false</code> to disable.</dd>
</dl>
+ <dl>
+ <dt><code>header_cache</code></dt>
+ <dd>Optional. Enable caching of tunnel headers and the output
+ path. This can lead to a significant performance increase
+ without changing behavior. In general it should not be
+ necessary to adjust this setting. However, the caching can
+ bypass certain components of the IP stack (such as IP tables)
+ and it may be useful to disable it if these features are
+ required or as a debugging measure. Default is enabled, set to
+ <code>false</code> to disable.</dd>
+ </dl>
</dd>
<dt><code>capwap</code></dt>
<dd>Ethernet tunneling over the UDP transport portion of CAPWAP
</dd>
<dt><code>capwap</code></dt>
<dd>Ethernet tunneling over the UDP transport portion of CAPWAP
compliance with the IEEE 802.1D specification for bridges.
Default is enabled, set to <code>false</code> to disable.</dd>
</dl>
compliance with the IEEE 802.1D specification for bridges.
Default is enabled, set to <code>false</code> to disable.</dd>
</dl>
+ <dl>
+ <dt><code>header_cache</code></dt>
+ <dd>Optional. Enable caching of tunnel headers and the output
+ path. This can lead to a significant performance increase
+ without changing behavior. In general it should not be
+ necessary to adjust this setting. However, the caching can
+ bypass certain components of the IP stack (such as IP tables)
+ and it may be useful to disable it if these features are
+ required or as a debugging measure. Default is enabled, set to
+ <code>false</code> to disable.</dd>
+ </dl>
</dd>
<dt><code>patch</code></dt>
<dd>
</dd>
<dt><code>patch</code></dt>
<dd>