*
* If this netdev class does not support enumeration, this may be a null
* pointer. */
- int (*enumerate)(struct svec *all_names);
+ int (*enumerate)(struct sset *all_names);
/* Attempts to receive a packet from 'netdev' into the 'size' bytes in
* 'buffer'. If successful, returns the number of bytes in the received
* transmission through this interface. This function may be set to null
* if it would always return EOPNOTSUPP anyhow. (This will prevent the
* network device from being usefully used by the netdev-based "userspace
- * datapath".) */
+ * datapath". It will also prevent the OVS implementation of bonding from
+ * working properly over 'netdev'.) */
int (*send)(struct netdev *netdev, const void *buffer, size_t size);
/* Registers with the poll loop to wake up from the next call to
* this function must not add "" to 'types'.
*
* The caller is responsible for initializing 'types' (e.g. with
- * svec_init()) before calling this function. The caller takes ownership
- * of the strings added to 'types'.
+ * sset_init()) before calling this function. The caller retains ownership
+ * of 'types'.
*
* May be NULL if 'netdev' does not support QoS at all. */
- int (*get_qos_types)(const struct netdev *netdev, struct svec *types);
+ int (*get_qos_types)(const struct netdev *netdev, struct sset *types);
/* Queries 'netdev' for its capabilities regarding the specified 'type' of
* QoS. On success, initializes 'caps' with the QoS capabilities.
*
* This function may be set to null if it would always return EOPNOTSUPP
* anyhow. */
- int (*arp_lookup)(const struct netdev *netdev, uint32_t ip, uint8_t mac[6]);
+ int (*arp_lookup)(const struct netdev *netdev, ovs_be32 ip,
+ uint8_t mac[6]);
/* Retrieves the current set of flags on 'netdev' into '*old_flags'.
* Then, turns off the flags that are set to 1 in 'off' and turns on the