tun_flags
bool udp_sum = test_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags);
df = test_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, key->tun_flags) ?
!test_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags),
bool udp_sum = test_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags);
info->key.tun_flags),
a_has_opts = test_bit(tun_type, a->ip_tun_key->tun_flags);
b_has_opts = test_bit(tun_type, b->ip_tun_key->tun_flags);
geneveh->oam = test_bit(IP_TUNNEL_OAM_BIT, tun_info->key.tun_flags);
tun_info->key.tun_flags);
if (test_bit(IP_TUNNEL_GENEVE_OPT_BIT, tun_info->key.tun_flags)) {
return gre_calc_hlen(e->tun_info->key.tun_flags);
if (ip_tunnel_flags_intersect(tun_key->tun_flags, unsupp))
greh->flags = gre_tnl_flags_to_gre_flags(tun_key->tun_flags);
if (test_bit(IP_TUNNEL_KEY_BIT, tun_key->tun_flags)) {
if (test_bit(IP_TUNNEL_VXLAN_OPT_BIT, tun_key->tun_flags)) {
if (test_bit(IP_TUNNEL_VXLAN_OPT_BIT, tun_key->tun_flags) &&
__be16 tun_flags;
tun_flags = ip_tunnel_flags_to_be16(ip_tun->key.tun_flags);
if (!ip_tunnel_flags_is_be16_compat(ip_tun->key.tun_flags) ||
(tun_flags & ~NFP_FL_SUPPORTED_UDP_TUN_FLAGS)) {
if (tun_flags & NFP_FL_TUNNEL_KEY)
set_tun->tun_flags = tun_flags;
__be16 tun_flags;
__be16 tun_flags;
__be16 tun_flags;
&ext->tun_flags, &msk->tun_flags, rule);
&ext->tun_flags, &msk->tun_flags, rule);
geneveh->oam = test_bit(IP_TUNNEL_OAM_BIT, info->key.tun_flags);
info->key.tun_flags);
if (test_bit(IP_TUNNEL_GENEVE_OPT_BIT, info->key.tun_flags))
bool udp_sum = test_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags);
df = test_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, key->tun_flags) ?
!test_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags),
info->key.tun_flags),
!ip_tunnel_flags_empty(info->key.tun_flags) ||
__set_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags);
__set_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags);
__clear_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags);
info->key.tun_flags)))
info->key.tun_flags)))
__set_bit(IP_TUNNEL_PFCP_OPT_BIT, tun_dst->u.tun_info.key.tun_flags);
return sysfs_emit(buf, "0x%x\n", tun_flags(tun));
static DEVICE_ATTR_RO(tun_flags);
ifr->ifr_flags = tun_flags(tun);
tun_dst->u.tun_info.key.tun_flags);
if (test_bit(IP_TUNNEL_VXLAN_OPT_BIT, info->key.tun_flags)) {
udp_sum = test_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags);
info->key.tun_flags)) {
tun_dst->u.tun_info.key.tun_flags);
ip_tunnel_flags_copy(info->key.tun_flags, flags);
const unsigned long *tun_flags)
ip_tunnel_flags_copy(key->tun_flags, tun_flags);
return !info || !test_bit(IP_TUNNEL_NOCACHE_BIT, info->key.tun_flags);
ip_tunnel_flags_or(info->key.tun_flags, info->key.tun_flags,
IP_TUNNEL_DECLARE_FLAGS(tun_flags);
u16 tun_flags; /* tunnel flags */
__u16 tun_flags; /* tunnel flags */
__u16 tun_flags;
to->tunnel_flags = ip_tunnel_flags_to_be16(info->key.tun_flags);
!ip_tunnel_is_options_present(info->key.tun_flags))) {
__set_bit(IP_TUNNEL_NOCACHE_BIT, info->key.tun_flags);
__assign_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, info->key.tun_flags,
__assign_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags,
__assign_bit(IP_TUNNEL_SEQ_BIT, info->key.tun_flags,
__assign_bit(IP_TUNNEL_KEY_BIT, info->key.tun_flags,
if (test_bit(IP_TUNNEL_CSUM_BIT, key->tun_flags))
if (test_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, key->tun_flags))
if (test_bit(IP_TUNNEL_OAM_BIT, key->tun_flags))
if (test_bit(IP_TUNNEL_CRIT_OPT_BIT, key->tun_flags))
ip_tunnel_flags_and(flags, info->key.tun_flags, flags);
if (test_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags))
info->key.tun_flags);
tunnel_hlen = gre_calc_hlen(key->tun_flags);
ip_tunnel_flags_and(flags, tun_info->key.tun_flags, flags);
if (!test_bit(IP_TUNNEL_ERSPAN_OPT_BIT, tun_info->key.tun_flags))
if (test_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, key->tun_flags))
ip_tunnel_flags_or(tun_info->key.tun_flags,
tun_info->key.tun_flags, flags);
ip_tunnel_flags_to_be16(tun_info->key.tun_flags)) ||
IP_TUNNEL_DECLARE_FLAGS(tun_flags) = { };
ip_tunnel_flags_copy(dst->key.tun_flags, src->key.tun_flags);
src->options_len, tun_flags);
__set_bit(IP_TUNNEL_GENEVE_OPT_BIT, info->key.tun_flags);
__set_bit(IP_TUNNEL_VXLAN_OPT_BIT, info->key.tun_flags);
__set_bit(IP_TUNNEL_ERSPAN_OPT_BIT, info->key.tun_flags);
ip_tunnel_flags_or(tun_info->key.tun_flags,
tun_info->key.tun_flags, flags);
if (!ip_tunnel_is_options_present(tun_info->key.tun_flags))
if (test_bit(IP_TUNNEL_GENEVE_OPT_BIT, tun_info->key.tun_flags))
else if (test_bit(IP_TUNNEL_VXLAN_OPT_BIT, tun_info->key.tun_flags))
else if (test_bit(IP_TUNNEL_ERSPAN_OPT_BIT, tun_info->key.tun_flags))
ip_tunnel_flags_to_be16(tun_info->key.tun_flags)) ||
if (!ip_tunnel_is_options_present(info->key.tun_flags))
if (test_bit(IP_TUNNEL_GENEVE_OPT_BIT, info->key.tun_flags)) {
} else if (test_bit(IP_TUNNEL_VXLAN_OPT_BIT, info->key.tun_flags)) {
} else if (test_bit(IP_TUNNEL_ERSPAN_OPT_BIT, info->key.tun_flags)) {
__set_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags);
info->key.tun_flags);
ip_tunnel_flags_and(flags, flags, key->tun_flags);
tun_info->key.tun_flags))
dest->tun_flags) ||
udest->tun_flags = nla_get_u16(nla_tun_flags);
dest->tun_flags = udest->tun_flags;
if ((cp->dest->tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM) &&
if (cp->dest->tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM)
int tun_flags;
tun_flags = cp->dest->tun_flags;
if ((tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM) &&
if (tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM)
if ((tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM) ||
(tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM))
if ((tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM) &&
if (tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM)
if ((tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM) ||
(tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM))
int tun_flags;
tun_flags = cp->dest->tun_flags;
if ((tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM) &&
if (tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM)
if ((tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM) ||
(tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM))
if ((tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM) &&
if (tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM)
if ((tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM) ||
(tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM))
if ((dest->tun_flags &
if (dest->tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM)
if ((dest->tun_flags &
if (dest->tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM)
__set_bit(IP_TUNNEL_KEY_BIT, info.key.tun_flags);
__set_bit(IP_TUNNEL_CSUM_BIT, info.key.tun_flags);
__set_bit(IP_TUNNEL_NOCACHE_BIT, info.key.tun_flags);
u32 tun_flags;
tun_flags = ntohl(nla_get_be32(tb[NFTA_TUNNEL_KEY_FLAGS]));
if (tun_flags & ~NFT_TUNNEL_F_MASK)
if (tun_flags & NFT_TUNNEL_F_ZERO_CSUM_TX)
__clear_bit(IP_TUNNEL_CSUM_BIT, info.key.tun_flags);
if (tun_flags & NFT_TUNNEL_F_DONT_FRAGMENT)
info.key.tun_flags);
if (tun_flags & NFT_TUNNEL_F_SEQ_NUMBER)
__set_bit(IP_TUNNEL_SEQ_BIT, info.key.tun_flags);
if (test_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, info->key.tun_flags))
if (!test_bit(IP_TUNNEL_CSUM_BIT, info->key.tun_flags))
if (test_bit(IP_TUNNEL_SEQ_BIT, info->key.tun_flags))
if (mpls->tun_flags & OVS_MPLS_L3_TUNNEL_FLAG_MASK)
if (ip_tunnel_is_options_present(output->tun_key.tun_flags))
__set_bit(IP_TUNNEL_CRIT_OPT_BIT, key->tun_key.tun_flags);
if (mpls->tun_flags & OVS_MPLS_L3_TUNNEL_FLAG_MASK) {
IP_TUNNEL_DECLARE_FLAGS(tun_flags) = { };
__set_bit(IP_TUNNEL_KEY_BIT, tun_flags);
__set_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, tun_flags);
__set_bit(IP_TUNNEL_CSUM_BIT, tun_flags);
__set_bit(IP_TUNNEL_OAM_BIT, tun_flags);
__set_bit(IP_TUNNEL_GENEVE_OPT_BIT, tun_flags);
__set_bit(IP_TUNNEL_VXLAN_OPT_BIT, tun_flags);
__set_bit(IP_TUNNEL_ERSPAN_OPT_BIT, tun_flags);
SW_FLOW_KEY_BITMAP_COPY(match, tun_key.tun_flags, tun_flags,
__clear_bit(IP_TUNNEL_KEY_BIT, tun_flags);
!ip_tunnel_flags_empty(tun_flags)) {
if (test_bit(IP_TUNNEL_KEY_BIT, output->tun_flags) &&
if (test_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, output->tun_flags) &&
if (test_bit(IP_TUNNEL_CSUM_BIT, output->tun_flags) &&
if (test_bit(IP_TUNNEL_OAM_BIT, output->tun_flags) &&
if (test_bit(IP_TUNNEL_GENEVE_OPT_BIT, output->tun_flags) &&
output->tun_flags) &&
output->tun_flags) &&
if (test_bit(IP_TUNNEL_KEY_BIT, tun_key->tun_flags) &&
if (test_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, tun_key->tun_flags) &&
if (test_bit(IP_TUNNEL_CSUM_BIT, tun_key->tun_flags) &&
if (test_bit(IP_TUNNEL_OAM_BIT, tun_key->tun_flags) &&
if (test_bit(IP_TUNNEL_GENEVE_OPT_BIT, tun_key->tun_flags) &&
tun_key->tun_flags) &&
if (test_bit(IP_TUNNEL_KEY_BIT, tun_key->tun_flags))
if (test_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, tun_key->tun_flags))
if (test_bit(IP_TUNNEL_CSUM_BIT, tun_key->tun_flags))
if (test_bit(IP_TUNNEL_OAM_BIT, tun_key->tun_flags))
if (test_bit(IP_TUNNEL_GENEVE_OPT_BIT, tun_key->tun_flags))
tun_key->tun_flags))
__set_bit(IP_TUNNEL_GENEVE_OPT_BIT, info->key.tun_flags);
__set_bit(IP_TUNNEL_VXLAN_OPT_BIT, info->key.tun_flags);
__set_bit(IP_TUNNEL_ERSPAN_OPT_BIT, info->key.tun_flags);
if (test_bit(IP_TUNNEL_GENEVE_OPT_BIT, info->key.tun_flags)) {
} else if (test_bit(IP_TUNNEL_VXLAN_OPT_BIT, info->key.tun_flags)) {
} else if (test_bit(IP_TUNNEL_ERSPAN_OPT_BIT, info->key.tun_flags)) {
if ((test_bit(IP_TUNNEL_KEY_BIT, key->tun_flags) &&
!test_bit(IP_TUNNEL_CSUM_BIT, key->tun_flags)) ||
(test_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, key->tun_flags) &&