summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSylvain Munaut <tnt@246tNt.com>2011-04-24 10:56:25 +0200
committerSylvain Munaut <tnt@246tNt.com>2011-07-28 21:30:50 +0200
commitc7d20dfc41e907c38c015a0bfacb1f79f399b875 (patch)
treed3387a102928baf16ee566dcb24c9a28eee2c558
parentaa4a819d68f4e4d8e9d85806b7641e421b516c7d (diff)
l1ctl: Add definition for TRAFFIC_{REQ,CONF,IND}
Also adapt packet creation length in L1 Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
-rw-r--r--include/l1ctl_proto.h15
-rw-r--r--src/target/firmware/layer1/l23_api.c2
2 files changed, 16 insertions, 1 deletions
diff --git a/include/l1ctl_proto.h b/include/l1ctl_proto.h
index 2478ff17..39705883 100644
--- a/include/l1ctl_proto.h
+++ b/include/l1ctl_proto.h
@@ -53,6 +53,9 @@ enum {
L1CTL_TCH_MODE_CONF,
L1CTL_NEIGH_PM_REQ,
L1CTL_NEIGH_PM_IND,
+ L1CTL_TRAFFIC_REQ,
+ L1CTL_TRAFFIC_CONF,
+ L1CTL_TRAFFIC_IND,
};
enum ccch_mode {
@@ -67,6 +70,8 @@ enum neigh_mode {
NEIGH_MODE_SB,
};
+#define TRAFFIC_DATA_LEN 40
+
/*
* NOTE: struct size. We do add manual padding out of the believe
* that it will avoid some unaligned access.
@@ -128,6 +133,11 @@ struct l1ctl_data_ind {
uint8_t data[23];
} __attribute__((packed));
+/* traffic from the network */
+struct l1ctl_traffic_ind {
+ uint8_t data[TRAFFIC_DATA_LEN];
+} __attribute__((packed));
+
/*
* uplink info
*/
@@ -275,4 +285,9 @@ struct l1ctl_neigh_pm_ind {
uint8_t pm[2];
} __attribute__((packed));
+/* traffic data to network */
+struct l1ctl_traffic_req {
+ uint8_t data[TRAFFIC_DATA_LEN];
+} __attribute__((packed));
+
#endif /* __L1CTL_PROTO_H__ */
diff --git a/src/target/firmware/layer1/l23_api.c b/src/target/firmware/layer1/l23_api.c
index 0560e449..3baba171 100644
--- a/src/target/firmware/layer1/l23_api.c
+++ b/src/target/firmware/layer1/l23_api.c
@@ -46,7 +46,7 @@
/* the size we will allocate struct msgb* for HDLC */
#define L3_MSG_HEAD 4
-#define L3_MSG_SIZE (sizeof(struct l1ctl_hdr)+sizeof(struct l1ctl_info_dl)+sizeof(struct l1ctl_data_ind) + L3_MSG_HEAD)
+#define L3_MSG_SIZE (sizeof(struct l1ctl_hdr)+sizeof(struct l1ctl_info_dl)+sizeof(struct l1ctl_traffic_ind) + L3_MSG_HEAD)
void l1_queue_for_l2(struct msgb *msg)
{