]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/net/dst.h
[ARM] Feroceon: small cleanups to L2 cache code
[linux-2.6-omap-h63xx.git] / include / net / dst.h
index 002500e631f5a96787f035ade4a6c255aad74713..8a8b71e5f3f13578a2004fe84ee6e17dc7caa9a4 100644 (file)
@@ -128,6 +128,18 @@ static inline u32 dst_mtu(const struct dst_entry *dst)
        return mtu;
 }
 
+/* RTT metrics are stored in milliseconds for user ABI, but used as jiffies */
+static inline unsigned long dst_metric_rtt(const struct dst_entry *dst, int metric)
+{
+       return msecs_to_jiffies(dst_metric(dst, metric));
+}
+
+static inline void set_dst_metric_rtt(struct dst_entry *dst, int metric,
+                                     unsigned long rtt)
+{
+       dst->metrics[metric-1] = jiffies_to_msecs(rtt);
+}
+
 static inline u32
 dst_allfrag(const struct dst_entry *dst)
 {
@@ -240,17 +252,7 @@ static inline int dst_output(struct sk_buff *skb)
 /* Input packet from network to transport.  */
 static inline int dst_input(struct sk_buff *skb)
 {
-       int err;
-
-       for (;;) {
-               err = skb->dst->input(skb);
-
-               if (likely(err == 0))
-                       return err;
-               /* Oh, Jamal... Seems, I will not forgive you this mess. :-) */
-               if (unlikely(err != NET_XMIT_BYPASS))
-                       return err;
-       }
+       return skb->dst->input(skb);
 }
 
 static inline struct dst_entry *dst_check(struct dst_entry *dst, u32 cookie)