| /libmctp-latest/tests/ |
| D | test_bridge.c | 18 struct mctp_binding binding; member 32 struct mctp_binding_bridge *binding = in mctp_binding_bridge_tx() local 33 container_of(b, struct mctp_binding_bridge, binding); in mctp_binding_bridge_tx() 35 binding->tx_count++; in mctp_binding_bridge_tx() 37 binding->last_pkt_data = *(uint8_t *)mctp_pktbuf_data(pkt); in mctp_binding_bridge_tx() 42 static void mctp_binding_bridge_rx(struct mctp_binding_bridge *binding, in mctp_binding_bridge_rx() argument 49 pkt = mctp_pktbuf_alloc(&binding->binding, sizeof(struct mctp_hdr) + 1); in mctp_binding_bridge_rx() 62 binding->rx_count++; in mctp_binding_bridge_rx() 63 mctp_bus_rx(&binding->binding, pkt); in mctp_binding_bridge_rx() 68 struct mctp_binding_bridge *binding; in mctp_binding_bridge_init() local [all …]
|
| D | test-utils.c | 16 struct mctp_binding binding; member 32 test->binding.name = "test"; in mctp_binding_test_init() 33 test->binding.version = 1; in mctp_binding_test_init() 34 test->binding.tx = mctp_binding_test_tx; in mctp_binding_test_init() 35 test->binding.pkt_size = MCTP_PACKET_SIZE(MCTP_BTU); in mctp_binding_test_init() 36 test->binding.pkt_header = 0; in mctp_binding_test_init() 37 test->binding.pkt_trailer = 0; in mctp_binding_test_init() 51 pkt = mctp_pktbuf_alloc(&test->binding, len); in mctp_binding_test_rx_raw() 54 mctp_bus_rx(&test->binding, pkt); in mctp_binding_test_rx_raw() 57 void mctp_binding_test_register_bus(struct mctp_binding_test *binding, in mctp_binding_test_register_bus() argument [all …]
|
| D | test_core.c | 86 static void receive_ptkbuf(struct mctp_binding_test *binding, in receive_ptkbuf() argument 104 mctp_bus_rx((struct mctp_binding *)binding, rx_pkt); in receive_ptkbuf() 107 static void receive_one_fragment(struct mctp_binding_test *binding, in receive_one_fragment() argument 113 receive_ptkbuf(binding, pktbuf, fragment_size); in receive_one_fragment() 116 static void receive_two_fragment_message(struct mctp_binding_test *binding, in receive_two_fragment_message() argument 127 receive_one_fragment(binding, payload, fragment1_size, flags_seq_tag, in receive_two_fragment_message() 132 receive_one_fragment(binding, payload + fragment1_size, fragment2_size, in receive_two_fragment_message() 139 struct mctp_binding_test *binding = NULL; in mctp_core_test_simple_rx() local 147 mctp_test_stack_init(&mctp, &binding, TEST_DEST_EID); in mctp_core_test_simple_rx() 154 receive_two_fragment_message(binding, test_payload, MCTP_BTU, MCTP_BTU, in mctp_core_test_simple_rx() [all …]
|
| D | test_serial.c | 69 struct mctp_binding_serial_pipe binding; member 114 scenario[0].binding.serial = mctp_serial_init(); in main() 115 assert(scenario[0].binding.serial); in main() 116 a = &scenario[0].binding; in main() 128 scenario[1].binding.serial = mctp_serial_init(); in main() 129 assert(scenario[1].binding.serial); in main() 130 b = &scenario[1].binding; in main() 152 mctp_serial_destroy(scenario[1].binding.serial); in main() 154 mctp_serial_destroy(scenario[0].binding.serial); in main()
|
| D | test_eid.c | 18 struct mctp_binding_test *binding; member 55 mctp_test_stack_init(&ctx->mctp, &ctx->binding, local_eid); in main() 64 mctp_binding_test_rx_raw(ctx->binding, &pktbuf, sizeof(pktbuf)); in main() 74 mctp_binding_test_rx_raw(ctx->binding, &pktbuf, sizeof(pktbuf)); in main() 78 mctp_binding_test_destroy(ctx->binding); in main()
|
| D | test-utils.h | 14 void mctp_binding_test_register_bus(struct mctp_binding_test *binding, 25 struct mctp_binding_test **binding, mctp_eid_t eid);
|
| D | test_seq.c | 22 struct mctp_binding_test *binding; member 116 mctp_test_stack_init(&ctx->mctp, &ctx->binding, local_eid); in run_one_test() 127 mctp_binding_test_rx_raw(ctx->binding, &pktbuf, sizeof(pktbuf)); in run_one_test() 137 mctp_binding_test_destroy(ctx->binding); in run_one_test()
|
| D | test_cmds.c | 79 struct mctp_binding binding; in send_transport_control_message() local 95 setup_test_binding(&binding, endpoint, &ctx); in send_transport_control_message() 99 rcv_ctrl_msg(&binding, (void *)&send_control_message_payload, in send_transport_control_message()
|
| D | test_astlpc.c | 192 return mctp_register_bus(ep->mctp, &ep->astlpc->binding, eid); in endpoint_init() 389 rc = mctp_register_bus(mctp, &astlpc->binding, 8); in astlpc_test_host_before_bmc() 580 mctp_register_bus(ctx.bmc.mctp, &ctx.bmc.astlpc->binding, 8); in astlpc_test_simple_indirect_message_bmc_to_host() 592 mctp_register_bus(ctx.host.mctp, &ctx.host.astlpc->binding, 9); in astlpc_test_simple_indirect_message_bmc_to_host() 989 rc = mctp_register_bus(host.mctp, &host.astlpc->binding, 8); in astlpc_test_buffers_bad_host_init()
|
| /libmctp-latest/utils/ |
| D | mctp-demux-daemon.c | 46 struct binding { struct 48 int (*init)(struct mctp *mctp, struct binding *binding, mctp_eid_t eid, argument 50 void (*destroy)(struct mctp *mctp, struct binding *binding); argument 51 int (*init_pollfd)(struct binding *binding, struct pollfd *pollfd); argument 52 int (*process)(struct binding *binding); argument 64 struct binding *binding; member 77 struct capture binding; member 158 struct binding *binding __unused, in binding_null_init() 169 static int binding_serial_init(struct mctp *mctp, struct binding *binding, in binding_serial_init() argument 193 binding->data = serial; in binding_serial_init() [all …]
|
| /libmctp-latest/ |
| D | core.c | 31 struct mctp_binding *binding; member 96 struct mctp_pktbuf *mctp_pktbuf_alloc(struct mctp_binding *binding, size_t len) in mctp_pktbuf_alloc() argument 101 size = binding->pkt_size + binding->pkt_header + binding->pkt_trailer; in mctp_pktbuf_alloc() 113 buf->start = binding->pkt_header; in mctp_pktbuf_alloc() 352 int mctp_register_bus(struct mctp *mctp, struct mctp_binding *binding, in mctp_register_bus() argument 366 mctp->busses[0].binding = binding; in mctp_register_bus() 368 binding->bus = &mctp->busses[0]; in mctp_register_bus() 369 binding->mctp = mctp; in mctp_register_bus() 372 if (binding->start) { in mctp_register_bus() 373 rc = binding->start(binding); in mctp_register_bus() [all …]
|
| D | README.md | 5 transport binding specifications. 29 - `binding = mctp_<binding>_init()`: Initialise a hardware binding 30 - `mctp_register_bus(mctp, binding, eid)`: Register the hardware binding with 42 The binding may require you to notify it to receive packets. For example, for 43 the serial binding, the `mctp_serial_read()` function should be invoked when the 50 their messages, then the messages are re-packetised for the outgoing binding. 55 - `b1 = mctp_<binding>_init(); b2 = mctp_<binding>_init()`: Initialise two 65 to/from hardware. A binding defines a hardware specific structure 66 (`struct mctp_binding_<name>`), which wraps the generic binding 70 struct mctp_binding binding; [all …]
|
| D | serial.c | 66 struct mctp_binding binding; member 95 container_of(b, struct mctp_binding_serial, binding) 193 mctp_bus_rx(&serial->binding, pkt); in mctp_serial_finish_packet() 201 serial->rx_pkt = mctp_pktbuf_alloc(&serial->binding, len); in mctp_serial_start_packet() 248 if (c > serial->binding.pkt_size || in mctp_rx_consume_one() 381 static int mctp_serial_core_start(struct mctp_binding *binding) in mctp_serial_core_start() argument 383 mctp_binding_set_tx_enabled(binding, true); in mctp_serial_core_start() 389 return &b->binding; in mctp_binding_serial_core() 401 serial->binding.name = "serial"; in mctp_serial_init() 402 serial->binding.version = 1; in mctp_serial_init() [all …]
|
| D | libmctp.h | 90 int mctp_register_bus(struct mctp *mctp, struct mctp_binding *binding, 93 void mctp_unregister_bus(struct mctp *mctp, struct mctp_binding *binding); 129 int (*start)(struct mctp_binding *binding); 130 int (*tx)(struct mctp_binding *binding, struct mctp_pktbuf *pkt); 135 void mctp_binding_set_tx_enabled(struct mctp_binding *binding, bool enable); 141 void mctp_bus_rx(struct mctp_binding *binding, struct mctp_pktbuf *pkt);
|
| D | astlpc.c | 122 struct mctp_binding binding; member 142 container_of(b, struct mctp_binding_astlpc, binding) 599 container_of(b, struct mctp_binding_astlpc, binding); in mctp_binding_astlpc_start_bmc() 776 container_of(b, struct mctp_binding_astlpc, binding); in mctp_binding_astlpc_start_host() 944 astlpc->binding.pkt_size = MCTP_PACKET_SIZE(mtu); in mctp_astlpc_negotiate_layout_bmc() 995 mctp_binding_set_tx_enabled(&astlpc->binding, in mctp_astlpc_init_channel() 1014 if ((size_t)body > astlpc->binding.pkt_size) { in mctp_astlpc_rx_start() 1021 pkt = mctp_pktbuf_alloc(&astlpc->binding, packet); in mctp_astlpc_rx_start() 1056 mctp_bus_rx(&astlpc->binding, pkt); in mctp_astlpc_rx_start() 1067 mctp_binding_set_tx_enabled(&astlpc->binding, true); in mctp_astlpc_tx_complete() [all …]
|
| /libmctp-latest/docs/bindings/ |
| D | vendor-ibm-astlpc.md | 122 The document limits itself to describing the operation of the binding protocol. 373 The binding operation is not symmetric as the BMC is the only side that can 441 - An LPC KCS device exposed by a [binding-specific kernel driver][mctp-driver] 444 - The astlpc binding found in [libmctp][libmctp]
|