TCPHDR_FIN
TCPHDR_FIN) |
TCPHDR_FIN) |
if (tcp_flags_mask & TCPHDR_FIN) {
if (tcp_flags_key & TCPHDR_FIN)
if (tcp_flags & TCPHDR_FIN)
if (tcp_flags_mask & TCPHDR_FIN)
(TCPHDR_FIN | TCPHDR_SYN | TCPHDR_RST | \
!(tcp_flags & (TCPHDR_FIN | TCPHDR_SYN | TCPHDR_RST))) {
bool fin = !!(TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN);
#define TCPHDR_FLAGS_MASK (TCPHDR_FIN | TCPHDR_SYN | TCPHDR_RST | \
if (offset < skb->len || (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN)) {
if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN) {
if (tcp_flags & TCPHDR_FIN)
if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN) {
if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN)
if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN)
if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN)
if (skb && TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN)
if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN)
if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN) {
if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN)
fin = TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN;
(TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN))
if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN)
if (!(TCP_SKB_CB(skb)->tcp_flags & (TCPHDR_SYN | TCPHDR_FIN)) &&
(TCP_SKB_CB(skb)->tcp_flags & (TCPHDR_SYN | TCPHDR_FIN)) ||
(TCP_SKB_CB(skb)->tcp_flags & (TCPHDR_SYN | TCPHDR_FIN)) ||
TCP_SKB_CB(skb)->tcp_flags = flags & ~(TCPHDR_FIN | TCPHDR_PSH);
if (tcp_urg_mode(tp) || (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN))
TCP_SKB_CB(skb)->tcp_flags = flags & ~(TCPHDR_FIN | TCPHDR_PSH);
if ((TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN) ||
~(TCPHDR_FIN|TCPHDR_PSH);
TCP_SKB_CB(tskb)->tcp_flags |= TCPHDR_FIN;
TCPHDR_ACK | TCPHDR_FIN);
if (flags & (TCPHDR_SYN | TCPHDR_FIN))
fin = TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN;
if (!(TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN))
bool fin = TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN;
static const u8 tcp_valid_flags[(TCPHDR_FIN|TCPHDR_SYN|TCPHDR_RST|TCPHDR_ACK|
[TCPHDR_FIN|TCPHDR_ACK] = 1,
[TCPHDR_FIN|TCPHDR_ACK|TCPHDR_URG] = 1,
if (tcp_flags & TCPHDR_FIN)
if (tcp_flags & TCPHDR_FIN)