* Set device flags. * * @param priv * Pointer to private structure. * @param keep * Bitmask for flags that must remain untouched. * @param flags * Bitmask for flags to modify. * * @return * 0 on success, negative errno value otherwise and rte_errno is set. */
| 247 | * 0 on success, negative errno value otherwise and rte_errno is set. |
| 248 | */ |
| 249 | static int |
| 250 | mlx4_set_flags(struct mlx4_priv *priv, unsigned int keep, unsigned int flags) |
| 251 | { |
| 252 | struct ifreq request; |
| 253 | int ret = mlx4_ifreq(priv, SIOCGIFFLAGS, &request); |
| 254 | |
| 255 | if (ret) |
| 256 | return ret; |
| 257 | request.ifr_flags &= keep; |
| 258 | request.ifr_flags |= flags & ~keep; |
| 259 | return mlx4_ifreq(priv, SIOCSIFFLAGS, &request); |
| 260 | } |
| 261 | |
| 262 | /** |
| 263 | * Change the link state (UP / DOWN). |
no test coverage detected