diff options
author | Susant Sahani <susant@redhat.com> | 2015-07-21 10:06:44 +0530 |
---|---|---|
committer | Susant Sahani <susant@redhat.com> | 2015-07-21 10:06:44 +0530 |
commit | 407af9dd8920e5cf4409b818b974a89bc013d5f8 (patch) | |
tree | 97dd44634df08b79feadce4c21fa4b5367e58dad /src/network/networkd-netdev-tunnel.h | |
parent | e89f2a98e609c930ad3b7af3ed9710e1216de84c (diff) |
networkd: ip6 tunnel add support for flowlabel
Add Pv6 Flow Label support. The 20-bit Flow Label field in the IPv6
header[RFC2460] is used by a node to label packets of a flow.
Diffstat (limited to 'src/network/networkd-netdev-tunnel.h')
-rw-r--r-- | src/network/networkd-netdev-tunnel.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/network/networkd-netdev-tunnel.h b/src/network/networkd-netdev-tunnel.h index 546c9f08b9..47981fbe32 100644 --- a/src/network/networkd-netdev-tunnel.h +++ b/src/network/networkd-netdev-tunnel.h @@ -33,6 +33,12 @@ typedef enum Ip6TnlMode { _NETDEV_IP6_TNL_MODE_INVALID = -1, } Ip6TnlMode; +typedef enum IPv6FlowLabel { + NETDEV_IPV6_FLOWLABEL_INHERIT = 0xFFFFF + 1, + _NETDEV_IPV6_FLOWLABEL_MAX, + _NETDEV_IPV6_FLOWLABEL_INVALID = -1, +} IPv6FlowLabel; + struct Tunnel { NetDev meta; @@ -48,6 +54,7 @@ struct Tunnel { union in_addr_union remote; Ip6TnlMode ip6tnl_mode; + IPv6FlowLabel ipv6_flowlabel; bool pmtudisc; }; @@ -81,3 +88,12 @@ int config_parse_tunnel_address(const char *unit, const char *rvalue, void *data, void *userdata); + +const char *ipv6_flowlabel_to_string(IPv6FlowLabel d) _const_; +IPv6FlowLabel ipv6_flowlabel_from_string(const char *d) _pure_; + +int config_parse_ipv6_flowlabel(const char *unit, const char *filename, + unsigned line, const char *section, + unsigned section_line, const char *lvalue, + int ltype, const char *rvalue, void *data, + void *userdata); |