X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fnetdev-provider.h;h=d5a30c809a01daf3f48d93b01c218e4b03b1aec6;hb=73dbf4abd17b6b87fdb5bf22aec7bb3d381dce05;hp=06312293fe95f461a9d540284d7428743e71fa67;hpb=ee9bed06cd2794ced29190b6c6539993159d76f5;p=openvswitch diff --git a/lib/netdev-provider.h b/lib/netdev-provider.h index 06312293..d5a30c80 100644 --- a/lib/netdev-provider.h +++ b/lib/netdev-provider.h @@ -172,6 +172,9 @@ struct netdev_class { * packet, otherwise a negative errno value. Returns -EAGAIN immediately * if no packet is ready to be received. * + * Returns -EMSGSIZE, and discards the packet, if the received packet is + * longer than 'size' bytes. + * * This function can only be expected to return a packet if ->listen() has * been called successfully. * @@ -270,6 +273,12 @@ struct netdev_class { */ int (*get_carrier)(const struct netdev *netdev, bool *carrier); + /* Returns the number of times 'netdev''s carrier has changed since being + * initialized. + * + * If null, callers will assume the number of carrier resets is zero. */ + long long int (*get_carrier_resets)(const struct netdev *netdev); + /* Forces ->get_carrier() to poll 'netdev''s MII registers for link status * instead of checking 'netdev''s carrier. 'netdev''s MII registers will * be polled once ever 'interval' milliseconds. If 'netdev' does not @@ -314,17 +323,6 @@ struct netdev_class { * support configuring advertisements. */ int (*set_advertisements)(struct netdev *netdev, uint32_t advertise); - /* If 'netdev' is a VLAN network device (e.g. one created with vconfig(8)), - * sets '*vlan_vid' to the VLAN VID associated with that device and returns - * 0. - * - * Returns ENOENT if 'netdev' is a network device that is not a - * VLAN device. - * - * This function should be set to null if it doesn't make any sense for - * your network device (it probably doesn't). */ - int (*get_vlan_vid)(const struct netdev *netdev, int *vlan_vid); - /* Attempts to set input rate limiting (policing) policy, such that up to * 'kbits_rate' kbps of traffic is accepted, with a maximum accumulative * burst size of 'kbits' kb.