diff options
Diffstat (limited to 'include/linux/netdevice.h')
-rw-r--r-- | include/linux/netdevice.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 8ed4ae943053..041b42a305f6 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -2101,6 +2101,15 @@ static inline void netdev_tx_sent_queue(struct netdev_queue *dev_queue, | |||
2101 | #endif | 2101 | #endif |
2102 | } | 2102 | } |
2103 | 2103 | ||
2104 | /** | ||
2105 | * netdev_sent_queue - report the number of bytes queued to hardware | ||
2106 | * @dev: network device | ||
2107 | * @bytes: number of bytes queued to the hardware device queue | ||
2108 | * | ||
2109 | * Report the number of bytes queued for sending/completion to the network | ||
2110 | * device hardware queue. @bytes should be a good approximation and should | ||
2111 | * exactly match netdev_completed_queue() @bytes | ||
2112 | */ | ||
2104 | static inline void netdev_sent_queue(struct net_device *dev, unsigned int bytes) | 2113 | static inline void netdev_sent_queue(struct net_device *dev, unsigned int bytes) |
2105 | { | 2114 | { |
2106 | netdev_tx_sent_queue(netdev_get_tx_queue(dev, 0), bytes); | 2115 | netdev_tx_sent_queue(netdev_get_tx_queue(dev, 0), bytes); |
@@ -2130,6 +2139,16 @@ static inline void netdev_tx_completed_queue(struct netdev_queue *dev_queue, | |||
2130 | #endif | 2139 | #endif |
2131 | } | 2140 | } |
2132 | 2141 | ||
2142 | /** | ||
2143 | * netdev_completed_queue - report bytes and packets completed by device | ||
2144 | * @dev: network device | ||
2145 | * @pkts: actual number of packets sent over the medium | ||
2146 | * @bytes: actual number of bytes sent over the medium | ||
2147 | * | ||
2148 | * Report the number of bytes and packets transmitted by the network device | ||
2149 | * hardware queue over the physical medium, @bytes must exactly match the | ||
2150 | * @bytes amount passed to netdev_sent_queue() | ||
2151 | */ | ||
2133 | static inline void netdev_completed_queue(struct net_device *dev, | 2152 | static inline void netdev_completed_queue(struct net_device *dev, |
2134 | unsigned int pkts, unsigned int bytes) | 2153 | unsigned int pkts, unsigned int bytes) |
2135 | { | 2154 | { |
@@ -2144,6 +2163,13 @@ static inline void netdev_tx_reset_queue(struct netdev_queue *q) | |||
2144 | #endif | 2163 | #endif |
2145 | } | 2164 | } |
2146 | 2165 | ||
2166 | /** | ||
2167 | * netdev_reset_queue - reset the packets and bytes count of a network device | ||
2168 | * @dev_queue: network device | ||
2169 | * | ||
2170 | * Reset the bytes and packet count of a network device and clear the | ||
2171 | * software flow control OFF bit for this network device | ||
2172 | */ | ||
2147 | static inline void netdev_reset_queue(struct net_device *dev_queue) | 2173 | static inline void netdev_reset_queue(struct net_device *dev_queue) |
2148 | { | 2174 | { |
2149 | netdev_tx_reset_queue(netdev_get_tx_queue(dev_queue, 0)); | 2175 | netdev_tx_reset_queue(netdev_get_tx_queue(dev_queue, 0)); |