return (-ENOSYS);
}
- /* IPv6 mask are not supported */
- if (fdir_mask->src_ipv6_mask)
- return (-ENOTSUP);
-
FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fdir_set_masks, -ENOTSUP);
return (*dev->dev_ops->fdir_set_masks)(dev, fdir_mask);
}
uint8_t vlan_prio;
/** If set to 1, flexbytes is relevant in filters. */
uint8_t flexbytes;
+ /** If set to 1, set the IPv6 masks. Otherwise set the IPv4 masks. */
+ uint8_t set_ipv6_mask;
+ /** When set to 1, comparison of destination IPv6 address with IP6AT
+ registers is meaningful. */
+ uint8_t comp_ipv6_dst;
/** Mask of Destination IPv4 Address. All bits set to 1 define the
relevant bits to use in the destination address of an IPv4 packet
when matching it against FDIR filters. */
/** Mask of Source IPv6 Address. All bits set to 1 define the
relevant BYTES to use in the source address of an IPv6 packet
when matching it against FDIR filters. */
+ uint16_t dst_ipv6_mask;
+ /** Mask of Destination IPv6 Address. All bits set to 1 define the
+ relevant BYTES to use in the destination address of an IPv6 packet
+ when matching it against FDIR filters. */
uint16_t src_ipv6_mask;
/** Mask of Source Port. All bits set to 1 define the relevant
bits to use in the source port of an IP packets when matching it