mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 04:34:08 +08:00
tcp: move tcp_skb_cb->sacked flags to enum
Move the flag definitions for tcp_skb_cb->sacked into a new enum named tcp_skb_cb_sacked_flags, then we can get access to them in bpf via vmlinux.h, e.g., in tracepoints. This patch does not change any existing functionality. Signed-off-by: Philo Lu <lulie@linux.alibaba.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d806871612
commit
14b5fb2145
@ -928,6 +928,19 @@ static inline u32 tcp_rsk_tsval(const struct tcp_request_sock *treq)
|
||||
|
||||
#define TCPHDR_SYN_ECN (TCPHDR_SYN | TCPHDR_ECE | TCPHDR_CWR)
|
||||
|
||||
/* State flags for sacked in struct tcp_skb_cb */
|
||||
enum tcp_skb_cb_sacked_flags {
|
||||
TCPCB_SACKED_ACKED = (1 << 0), /* SKB ACK'd by a SACK block */
|
||||
TCPCB_SACKED_RETRANS = (1 << 1), /* SKB retransmitted */
|
||||
TCPCB_LOST = (1 << 2), /* SKB is lost */
|
||||
TCPCB_TAGBITS = (TCPCB_SACKED_ACKED | TCPCB_SACKED_RETRANS |
|
||||
TCPCB_LOST), /* All tag bits */
|
||||
TCPCB_REPAIRED = (1 << 4), /* SKB repaired (no skb_mstamp_ns) */
|
||||
TCPCB_EVER_RETRANS = (1 << 7), /* Ever retransmitted frame */
|
||||
TCPCB_RETRANS = (TCPCB_SACKED_RETRANS | TCPCB_EVER_RETRANS |
|
||||
TCPCB_REPAIRED),
|
||||
};
|
||||
|
||||
/* This is what the send packet queuing engine uses to pass
|
||||
* TCP per-packet control information to the transmission code.
|
||||
* We also store the host-order sequence numbers in here too.
|
||||
@ -950,15 +963,6 @@ struct tcp_skb_cb {
|
||||
__u8 tcp_flags; /* TCP header flags. (tcp[13]) */
|
||||
|
||||
__u8 sacked; /* State flags for SACK. */
|
||||
#define TCPCB_SACKED_ACKED 0x01 /* SKB ACK'd by a SACK block */
|
||||
#define TCPCB_SACKED_RETRANS 0x02 /* SKB retransmitted */
|
||||
#define TCPCB_LOST 0x04 /* SKB is lost */
|
||||
#define TCPCB_TAGBITS 0x07 /* All tag bits */
|
||||
#define TCPCB_REPAIRED 0x10 /* SKB repaired (no skb_mstamp_ns) */
|
||||
#define TCPCB_EVER_RETRANS 0x80 /* Ever retransmitted frame */
|
||||
#define TCPCB_RETRANS (TCPCB_SACKED_RETRANS|TCPCB_EVER_RETRANS| \
|
||||
TCPCB_REPAIRED)
|
||||
|
||||
__u8 ip_dsfield; /* IPv4 tos or IPv6 dsfield */
|
||||
__u8 txstamp_ack:1, /* Record TX timestamp for ack? */
|
||||
eor:1, /* Is skb MSG_EOR marked? */
|
||||
|
Loading…
Reference in New Issue
Block a user