This new dst feature flag will be used to allow TCP to use usec based timestamps instead of msec ones. ip route .... feature tcp_usec_ts Also document that RTAX_FEATURE_SACK and RTAX_FEATURE_TIMESTAMP are unused. RTAX_FEATURE_ALLFRAG is also going away soon.
Unified · Split
| @@ -576,4 +576,9 @@ void tcp_sock_set_quickack(struct sock *sk, int val); · 575 unmodified lines | |||
| 576 | int tcp_sock_set_syncnt(struct sock *sk, int val); | 576 | int tcp_sock_set_syncnt(struct sock *sk, int val); |
| 577 | int tcp_sock_set_user_timeout(struct sock *sk, int val); | 577 | int tcp_sock_set_user_timeout(struct sock *sk, int val); |
| 578 | 578 | ||
| 579 | static inline bool dst_tcp_usec_ts(const struct dst_entry *dst) | ||
| 580 | { | ||
| 581 | return dst_feature(dst, RTAX_FEATURE_TCP_USEC_TS); | ||
| 582 | } | ||
| 583 | |||
| 579 | #endif /* _LINUX_TCP_H */ | 584 | #endif /* _LINUX_TCP_H */ |
| @@ -502,13 +502,17 @@ enum { · 501 unmodified lines | |||
| 502 | 502 | ||
| 503 | #define RTAX_MAX (__RTAX_MAX - 1) | 503 | #define RTAX_MAX (__RTAX_MAX - 1) |
| 504 | 504 | ||
| 505 | #define RTAX_FEATURE_ECN (1 << 0) | 505 | #define RTAX_FEATURE_ECN (1 << 0) |
| 506 | #define RTAX_FEATURE_SACK (1 << 1) | 506 | #define RTAX_FEATURE_SACK (1 << 1) /* unused */ |
| 507 | #define RTAX_FEATURE_TIMESTAMP (1 << 2) | 507 | #define RTAX_FEATURE_TIMESTAMP (1 << 2) /* unused */ |
| 508 | #define RTAX_FEATURE_ALLFRAG (1 << 3) | 508 | #define RTAX_FEATURE_ALLFRAG (1 << 3) |
| 509 | 509 | #define RTAX_FEATURE_TCP_USEC_TS (1 << 4) | |
| 510 | #define RTAX_FEATURE_MASK (RTAX_FEATURE_ECN | RTAX_FEATURE_SACK | \ | 510 | |
| 511 | RTAX_FEATURE_TIMESTAMP | RTAX_FEATURE_ALLFRAG) | 511 | #define RTAX_FEATURE_MASK (RTAX_FEATURE_ECN | \ |
| 512 | RTAX_FEATURE_SACK | \ | ||
| 513 | RTAX_FEATURE_TIMESTAMP | \ | ||
| 514 | RTAX_FEATURE_ALLFRAG | \ | ||
| 515 | RTAX_FEATURE_TCP_USEC_TS) | ||
| 512 | 516 | ||
| 513 | struct rta_session { | 517 | struct rta_session { |
| 514 | __u8 proto; | 518 | __u8 proto; |