Lines Matching refs:hdr
257 static u16 tipc_build_gap_ack_blks(struct tipc_link *l, struct tipc_msg *hdr);
884 static int link_schedule_user(struct tipc_link *l, struct tipc_msg *hdr) in link_schedule_user() argument
887 u32 dport = msg_origport(hdr); in link_schedule_user()
896 TIPC_SKB_CB(skb)->chain_imp = msg_importance(hdr); in link_schedule_user()
1027 struct tipc_msg *hdr; in tipc_link_xmit() local
1035 hdr = buf_msg(skb_peek(list)); in tipc_link_xmit()
1036 if (unlikely(msg_size(hdr) > mtu)) { in tipc_link_xmit()
1038 skb_queue_len(list), msg_user(hdr), in tipc_link_xmit()
1039 msg_type(hdr), msg_size(hdr), mtu); in tipc_link_xmit()
1044 imp = msg_importance(hdr); in tipc_link_xmit()
1052 rc = link_schedule_user(l, hdr); in tipc_link_xmit()
1063 hdr = buf_msg(skb); in tipc_link_xmit()
1064 msg_set_seqno(hdr, seqno); in tipc_link_xmit()
1065 msg_set_ack(hdr, ack); in tipc_link_xmit()
1066 msg_set_bcast_ack(hdr, bc_ack); in tipc_link_xmit()
1157 struct tipc_msg *hdr; in tipc_link_advance_backlog() local
1169 hdr = buf_msg(skb); in tipc_link_advance_backlog()
1170 imp = msg_importance(hdr); in tipc_link_advance_backlog()
1179 msg_set_seqno(hdr, seqno); in tipc_link_advance_backlog()
1180 msg_set_ack(hdr, ack); in tipc_link_advance_backlog()
1181 msg_set_bcast_ack(hdr, bc_ack); in tipc_link_advance_backlog()
1202 struct tipc_msg *hdr; in link_retransmit_failure() local
1214 hdr = buf_msg(skb); in link_retransmit_failure()
1215 if (link_is_bc_sndlink(l) && !less(r->acked, msg_seqno(hdr))) in link_retransmit_failure()
1221 msg_user(hdr), msg_type(hdr), msg_size(hdr), msg_errcode(hdr)); in link_retransmit_failure()
1223 msg_seqno(hdr), msg_prevnode(hdr), msg_destnode(hdr)); in link_retransmit_failure()
1251 struct tipc_msg *hdr = buf_msg(skb); in tipc_data_input() local
1253 switch (msg_user(hdr)) { in tipc_data_input()
1258 if (unlikely(msg_in_group(hdr) || msg_mcast(hdr))) { in tipc_data_input()
1302 struct tipc_msg *hdr = buf_msg(skb); in tipc_link_input() local
1305 int usr = msg_user(hdr); in tipc_link_input()
1311 l->stats.recv_bundled += msg_msgcnt(hdr); in tipc_link_input()
1328 tipc_link_bc_init_rcv(l->bc_rcvlink, hdr); in tipc_link_input()
1349 struct tipc_msg *hdr = buf_msg(skb); in tipc_link_tnl_rcv() local
1355 if (msg_type(hdr) == SYNCH_MSG) { in tipc_link_tnl_rcv()
1361 if (likely(!msg_nof_fragms(hdr))) { in tipc_link_tnl_rcv()
1370 if (msg_fragm_no(hdr) == 1) in tipc_link_tnl_rcv()
1371 msg_set_type(hdr, FIRST_FRAGMENT); in tipc_link_tnl_rcv()
1372 else if (msg_fragm_no(hdr) < msg_nof_fragms(hdr)) in tipc_link_tnl_rcv()
1373 msg_set_type(hdr, FRAGMENT); in tipc_link_tnl_rcv()
1375 msg_set_type(hdr, LAST_FRAGMENT); in tipc_link_tnl_rcv()
1418 struct tipc_msg *hdr, bool uc) in tipc_get_gap_ack_blks() argument
1425 p = (struct tipc_gap_ack_blks *)msg_data(hdr); in tipc_get_gap_ack_blks()
1495 static u16 tipc_build_gap_ack_blks(struct tipc_link *l, struct tipc_msg *hdr) in tipc_build_gap_ack_blks() argument
1501 ga = (struct tipc_gap_ack_blks *)msg_data(hdr); in tipc_build_gap_ack_blks()
1505 msg_set_bcast_ack(hdr, bcl->rcv_nxt - 1); in tipc_build_gap_ack_blks()
1506 msg_set_bc_gap(hdr, link_bc_rcv_gap(bcl)); in tipc_build_gap_ack_blks()
1511 ga->ugack_cnt = (msg_seq_gap(hdr)) ? in tipc_build_gap_ack_blks()
1544 struct tipc_msg *hdr; in tipc_link_advance_transmq() local
1631 hdr = buf_msg(_skb); in tipc_link_advance_transmq()
1632 msg_set_ack(hdr, ack); in tipc_link_advance_transmq()
1633 msg_set_bcast_ack(hdr, bc_ack); in tipc_link_advance_transmq()
1769 struct tipc_msg *hdr = buf_msg(skb); in tipc_link_rcv() local
1775 if (unlikely(msg_user(hdr) == LINK_PROTOCOL)) in tipc_link_rcv()
1782 hdr = buf_msg(skb); in tipc_link_rcv()
1783 seqno = msg_seqno(hdr); in tipc_link_rcv()
1800 released += tipc_link_advance_transmq(l, l, msg_ack(hdr), 0, in tipc_link_rcv()
1815 if (unlikely(msg_user(hdr) == TUNNEL_PROTOCOL)) in tipc_link_rcv()
1843 struct tipc_msg *hdr; in tipc_link_build_proto_msg() local
1866 hdr = buf_msg(skb); in tipc_link_build_proto_msg()
1867 data = msg_data(hdr); in tipc_link_build_proto_msg()
1868 msg_set_session(hdr, l->session); in tipc_link_build_proto_msg()
1869 msg_set_bearer_id(hdr, l->bearer_id); in tipc_link_build_proto_msg()
1870 msg_set_net_plane(hdr, l->net_plane); in tipc_link_build_proto_msg()
1871 msg_set_next_sent(hdr, l->snd_nxt); in tipc_link_build_proto_msg()
1872 msg_set_ack(hdr, l->rcv_nxt - 1); in tipc_link_build_proto_msg()
1873 msg_set_bcast_ack(hdr, bcl->rcv_nxt - 1); in tipc_link_build_proto_msg()
1874 msg_set_bc_ack_invalid(hdr, !node_up); in tipc_link_build_proto_msg()
1875 msg_set_last_bcast(hdr, l->bc_sndlink->snd_nxt - 1); in tipc_link_build_proto_msg()
1876 msg_set_link_tolerance(hdr, tolerance); in tipc_link_build_proto_msg()
1877 msg_set_linkprio(hdr, priority); in tipc_link_build_proto_msg()
1878 msg_set_redundant_link(hdr, node_up); in tipc_link_build_proto_msg()
1879 msg_set_seq_gap(hdr, 0); in tipc_link_build_proto_msg()
1880 msg_set_seqno(hdr, l->snd_nxt + U16_MAX / 2); in tipc_link_build_proto_msg()
1884 msg_set_seqno(hdr, l->snd_nxt_state++); in tipc_link_build_proto_msg()
1885 msg_set_seq_gap(hdr, rcvgap); in tipc_link_build_proto_msg()
1887 msg_set_bc_gap(hdr, bc_rcvgap); in tipc_link_build_proto_msg()
1888 msg_set_probe(hdr, probe); in tipc_link_build_proto_msg()
1889 msg_set_is_keepalive(hdr, probe || probe_reply); in tipc_link_build_proto_msg()
1891 glen = tipc_build_gap_ack_blks(l, hdr); in tipc_link_build_proto_msg()
1893 msg_set_size(hdr, INT_H_SIZE + glen + dlen); in tipc_link_build_proto_msg()
1900 msg_set_dest_session_valid(hdr, 1); in tipc_link_build_proto_msg()
1901 msg_set_dest_session(hdr, l->peer_session); in tipc_link_build_proto_msg()
1903 msg_set_max_pkt(hdr, l->advertised_mtu); in tipc_link_build_proto_msg()
1905 msg_set_size(hdr, INT_H_SIZE + TIPC_MAX_IF_NAME); in tipc_link_build_proto_msg()
1923 struct tipc_msg *hdr, *ihdr; in tipc_link_create_dummy_tnl_msg() local
1937 hdr = buf_msg(skb); in tipc_link_create_dummy_tnl_msg()
1938 msg_set_msgcnt(hdr, 1); in tipc_link_create_dummy_tnl_msg()
1939 msg_set_bearer_id(hdr, l->peer_bearer_id); in tipc_link_create_dummy_tnl_msg()
1941 ihdr = (struct tipc_msg *)msg_data(hdr); in tipc_link_create_dummy_tnl_msg()
1956 struct tipc_msg *hdr, tnlhdr; in tipc_link_tnl_prepare() local
1984 hdr = buf_msg(tnlskb); in tipc_link_tnl_prepare()
1986 msg_set_syncpt(hdr, syncpt); in tipc_link_tnl_prepare()
1987 msg_set_bearer_id(hdr, l->peer_bearer_id); in tipc_link_tnl_prepare()
2020 hdr = buf_msg(skb); in tipc_link_tnl_prepare()
2022 msg_set_seqno(hdr, seqno++); in tipc_link_tnl_prepare()
2023 pktlen = msg_size(hdr); in tipc_link_tnl_prepare()
2052 link_co_err, msg_user(hdr), in tipc_link_tnl_prepare()
2053 msg_type(hdr), msg_size(hdr)); in tipc_link_tnl_prepare()
2064 skb_copy_to_linear_data_offset(tnlskb, INT_H_SIZE, hdr, pktlen); in tipc_link_tnl_prepare()
2074 hdr = buf_msg(skb); in tipc_link_tnl_prepare()
2075 msg_set_msgcnt(hdr, pktcnt); in tipc_link_tnl_prepare()
2134 bool tipc_link_validate_msg(struct tipc_link *l, struct tipc_msg *hdr) in tipc_link_validate_msg() argument
2137 u16 session = msg_session(hdr); in tipc_link_validate_msg()
2138 int mtyp = msg_type(hdr); in tipc_link_validate_msg()
2140 if (msg_user(hdr) != LINK_PROTOCOL) in tipc_link_validate_msg()
2161 if (!tipc_link_is_up(l) && msg_ack(hdr)) in tipc_link_validate_msg()
2166 return !less(msg_seqno(hdr), l->rcv_nxt_state); in tipc_link_validate_msg()
2180 struct tipc_msg *hdr = buf_msg(skb); in tipc_link_proto_rcv() local
2182 bool reply = msg_probe(hdr), retransmitted = false; in tipc_link_proto_rcv()
2183 u32 dlen = msg_data_sz(hdr), glen = 0, msg_max; in tipc_link_proto_rcv()
2184 u16 peers_snd_nxt = msg_next_sent(hdr); in tipc_link_proto_rcv()
2185 u16 peers_tol = msg_link_tolerance(hdr); in tipc_link_proto_rcv()
2186 u16 peers_prio = msg_linkprio(hdr); in tipc_link_proto_rcv()
2187 u16 gap = msg_seq_gap(hdr); in tipc_link_proto_rcv()
2188 u16 ack = msg_ack(hdr); in tipc_link_proto_rcv()
2191 int mtyp = msg_type(hdr); in tipc_link_proto_rcv()
2204 if (tipc_own_addr(l->net) > msg_prevnode(hdr)) in tipc_link_proto_rcv()
2205 l->net_plane = msg_net_plane(hdr); in tipc_link_proto_rcv()
2210 hdr = buf_msg(skb); in tipc_link_proto_rcv()
2211 data = msg_data(hdr); in tipc_link_proto_rcv()
2213 if (!tipc_link_validate_msg(l, hdr)) { in tipc_link_proto_rcv()
2222 msg_max = msg_max_pkt(hdr); in tipc_link_proto_rcv()
2229 if (msg_data_sz(hdr) < TIPC_MAX_IF_NAME) in tipc_link_proto_rcv()
2243 if (msg_peer_stopping(hdr)) { in tipc_link_proto_rcv()
2251 if (mtyp == ACTIVATE_MSG && msg_dest_session_valid(hdr) && in tipc_link_proto_rcv()
2252 l->session != msg_dest_session(hdr)) { in tipc_link_proto_rcv()
2253 if (less(l->session, msg_dest_session(hdr))) in tipc_link_proto_rcv()
2254 l->session = msg_dest_session(hdr) + 1; in tipc_link_proto_rcv()
2266 l->peer_session = msg_session(hdr); in tipc_link_proto_rcv()
2268 l->peer_bearer_id = msg_bearer_id(hdr); in tipc_link_proto_rcv()
2275 glen = tipc_get_gap_ack_blks(&ga, l, hdr, true); in tipc_link_proto_rcv()
2279 l->rcv_nxt_state = msg_seqno(hdr) + 1; in tipc_link_proto_rcv()
2295 if (msg_probe(hdr)) in tipc_link_proto_rcv()
2308 if ((reply || msg_is_keepalive(hdr)) && in tipc_link_proto_rcv()
2340 struct tipc_msg *hdr; in tipc_link_build_bc_proto_msg() local
2349 hdr = buf_msg(skb); in tipc_link_build_bc_proto_msg()
2350 msg_set_last_bcast(hdr, l->bc_sndlink->snd_nxt - 1); in tipc_link_build_bc_proto_msg()
2351 msg_set_bcast_ack(hdr, ack); in tipc_link_build_bc_proto_msg()
2352 msg_set_bcgap_after(hdr, ack); in tipc_link_build_bc_proto_msg()
2355 msg_set_bcgap_to(hdr, gap_to); in tipc_link_build_bc_proto_msg()
2356 msg_set_non_seq(hdr, bcast); in tipc_link_build_bc_proto_msg()
2380 void tipc_link_bc_init_rcv(struct tipc_link *l, struct tipc_msg *hdr) in tipc_link_bc_init_rcv() argument
2382 int mtyp = msg_type(hdr); in tipc_link_bc_init_rcv()
2383 u16 peers_snd_nxt = msg_bc_snd_nxt(hdr); in tipc_link_bc_init_rcv()
2388 if (msg_user(hdr) == BCAST_PROTOCOL) { in tipc_link_bc_init_rcv()
2397 if (msg_peer_node_is_up(hdr)) in tipc_link_bc_init_rcv()
2407 int tipc_link_bc_sync_rcv(struct tipc_link *l, struct tipc_msg *hdr, in tipc_link_bc_sync_rcv() argument
2410 u16 peers_snd_nxt = msg_bc_snd_nxt(hdr); in tipc_link_bc_sync_rcv()
2416 if (!msg_peer_node_is_up(hdr)) in tipc_link_bc_sync_rcv()
2420 if (msg_ack(hdr)) in tipc_link_bc_sync_rcv()
2501 struct tipc_msg *hdr = buf_msg(skb); in tipc_link_bc_nack_rcv() local
2502 u32 dnode = msg_destnode(hdr); in tipc_link_bc_nack_rcv()
2503 int mtyp = msg_type(hdr); in tipc_link_bc_nack_rcv()
2504 u16 acked = msg_bcast_ack(hdr); in tipc_link_bc_nack_rcv()
2506 u16 to = msg_bcgap_to(hdr); in tipc_link_bc_nack_rcv()
2678 void *hdr; in __tipc_nl_add_link() local
2681 hdr = genlmsg_put(msg->skb, msg->portid, msg->seq, &tipc_genl_family, in __tipc_nl_add_link()
2683 if (!hdr) in __tipc_nl_add_link()
2727 genlmsg_end(msg->skb, hdr); in __tipc_nl_add_link()
2736 genlmsg_cancel(msg->skb, hdr); in __tipc_nl_add_link()
2796 void *hdr; in tipc_nl_add_bc_link() local
2807 hdr = genlmsg_put(msg->skb, msg->portid, msg->seq, &tipc_genl_family, in tipc_nl_add_bc_link()
2809 if (!hdr) { in tipc_nl_add_bc_link()
2850 genlmsg_end(msg->skb, hdr); in tipc_nl_add_bc_link()
2860 genlmsg_cancel(msg->skb, hdr); in tipc_nl_add_bc_link()