Projects
osmocom:master
osmo-pcu
Log In
Username
Password
Error getting diff: tar:
×
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 165
View file
commit_0273b8967041285cd61f9d4bb2f16b282d86d142.txt
Added
View file
commit_9d4666376b6e72bd6af90e7e871e290873899cdd.txt
Deleted
View file
osmo-pcu_1.5.1.10.9d46.dsc -> osmo-pcu_1.5.1.12.0273.dsc
Changed
@@ -2,7 +2,7 @@ Source: osmo-pcu Binary: osmo-pcu, osmo-pcu-dbg, osmo-pcu-doc Architecture: any all -Version: 1.5.1.10.9d46 +Version: 1.5.1.12.0273 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: http://osmocom.org/projects/osmopcu Standards-Version: 3.9.8 @@ -14,8 +14,8 @@ osmo-pcu-dbg deb debug extra arch=any osmo-pcu-doc deb doc optional arch=all Checksums-Sha1: - f6247db11e8b4d74709cc680188d7de40dfccf7a 433984 osmo-pcu_1.5.1.10.9d46.tar.xz + c2f33afee41f77c5549ffe83bed611bce22d5338 434036 osmo-pcu_1.5.1.12.0273.tar.xz Checksums-Sha256: - 3cdb51fa42b25cc15ff7b43fe8352a8760b947c088ac57f09b780fd81eae63d0 433984 osmo-pcu_1.5.1.10.9d46.tar.xz + 0e797dbbcaecfbc3f01346bd7b05aeeaefadb325bbae8e81c369818f3c0f7bda 434036 osmo-pcu_1.5.1.12.0273.tar.xz Files: - 2abca78783dbfa97c42b7a8dea22a9c4 433984 osmo-pcu_1.5.1.10.9d46.tar.xz + b3abde82adf2f689d2a41ff836431fb8 434036 osmo-pcu_1.5.1.12.0273.tar.xz
View file
osmo-pcu_1.5.1.10.9d46.tar.xz/.tarball-version -> osmo-pcu_1.5.1.12.0273.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.5.1.10-9d46 +1.5.1.12-0273
View file
osmo-pcu_1.5.1.10.9d46.tar.xz/debian/changelog -> osmo-pcu_1.5.1.12.0273.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmo-pcu (1.5.1.10.9d46) unstable; urgency=medium +osmo-pcu (1.5.1.12.0273) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom master feed - -- Osmocom OBS scripts <info@osmocom.org> Mon, 18 Aug 2025 11:34:10 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Tue, 19 Aug 2025 08:09:30 +0000 osmo-pcu (1.5.1) unstable; urgency=medium
View file
osmo-pcu_1.5.1.10.9d46.tar.xz/src/gprs_ms.c -> osmo-pcu_1.5.1.12.0273.tar.xz/src/gprs_ms.c
Changed
@@ -1369,13 +1369,10 @@ LOGPMS(ms, DTBFDL, LOGL_DEBUG, "appending %u bytes to DL LLC queue\n", len); - struct msgb *llc_msg = msgb_alloc(len, "llc_pdu_queue"); - if (!llc_msg) - return -ENOMEM; - llc_queue_calc_pdu_lifetime(ms->bts, pdu_delay_csec, &expire_time); - memcpy(msgb_put(llc_msg, len), data, len); - llc_queue_enqueue(ms_llc_queue(ms), llc_msg, &expire_time); + rc = llc_queue_enqueue(ms_llc_queue(ms), data, len, &expire_time); + if (rc < 0) + return rc; ms_start_llc_timer(ms); dl_tbf = ms_dl_tbf(ms);
View file
osmo-pcu_1.5.1.10.9d46.tar.xz/src/llc.c -> osmo-pcu_1.5.1.12.0273.tar.xz/src/llc.c
Changed
@@ -141,24 +141,34 @@ } } -void llc_queue_enqueue(struct gprs_llc_queue *q, struct msgb *llc_msg, const struct timespec *expire_time) +int llc_queue_enqueue(struct gprs_llc_queue *q, const uint8_t *data, uint16_t len, const struct timespec *expire_time) { + struct msgb *llc_msg; struct MetaInfo *meta_storage; - struct gprs_llc_hdr *llc_hdr = (struct gprs_llc_hdr *)msgb_data(llc_msg); + struct gprs_llc_hdr *llc_hdr; enum gprs_llc_queue_prio prio; - osmo_static_assert(sizeof(*meta_storage) <= sizeof(llc_msg->cb), info_does_not_fit); + llc_msg = msgb_alloc_headroom(sizeof(*meta_storage) + len, sizeof(*meta_storage), "llc_pdu_queue"); + if (!llc_msg) + return -ENOMEM; + + /* Fist set up MetaInfo in the msgb headroom: */ + meta_storage = (struct MetaInfo *)llc_msg->head; + osmo_clock_gettime(CLOCK_MONOTONIC, &meta_storage->recv_time); + meta_storage->expire_time = *expire_time; + + /* Copy PDU to msgb data: */ + llc_hdr = (struct gprs_llc_hdr *)msgb_put(llc_msg, len); + memcpy(llc_hdr, data, len); prio = llc_sapi2prio(llc_hdr->sapi); + /* Append: */ q->queue_size += 1; q->queue_octets += msgb_length(llc_msg); - - meta_storage = (struct MetaInfo *)&llc_msg->cb0; - osmo_clock_gettime(CLOCK_MONOTONIC, &meta_storage->recv_time); - meta_storage->expire_time = *expire_time; - msgb_enqueue(&q->pqprio.queue, llc_msg); + + return 0; } void llc_queue_clear(struct gprs_llc_queue *q, struct gprs_rlcmac_bts *bts) @@ -205,8 +215,8 @@ msg = msg1; msg1 = NULL; } else { - const struct MetaInfo *mi1 = (struct MetaInfo *)&msg1->cb0; - const struct MetaInfo *mi2 = (struct MetaInfo *)&msg2->cb0; + const struct MetaInfo *mi1 = (struct MetaInfo *)msg1->head; + const struct MetaInfo *mi2 = (struct MetaInfo *)msg2->head; if (timespeccmp(&mi2->recv_time, &mi1->recv_time, >)) { msg = msg1; @@ -234,22 +244,23 @@ } /* Prepend / Put back a previously dequeued LLC frame (llc_queue_dequeue()) */ -void llc_queue_merge_prepend(struct gprs_llc_queue *q, struct gprs_llc *llc) +void llc_queue_merge_prepend(struct gprs_llc_queue *q, const struct gprs_llc *llc) { + struct msgb *llc_msg; struct MetaInfo *meta_storage; unsigned int len = llc_frame_length(llc); - struct msgb *llc_msg = msgb_alloc(len, "llc_pdu_queue"); + llc_msg = msgb_alloc_headroom(sizeof(*meta_storage) + len, sizeof(*meta_storage), "llc_pdu_queue"); OSMO_ASSERT(llc_msg); - memcpy(msgb_put(llc_msg, len), llc->frame, len); - - q->queue_size += 1; - q->queue_octets += msgb_length(llc_msg); - meta_storage = (struct MetaInfo *)&llc_msg->cb0; + meta_storage = (struct MetaInfo *)llc_msg->head; memcpy(meta_storage, &llc->meta_info, sizeof(struct MetaInfo)); + memcpy(msgb_put(llc_msg, len), llc->frame, len); + /* Prepend: */ + q->queue_size += 1; + q->queue_octets += msgb_length(llc_msg); llist_add(&llc_msg->list, &q->pqllc->prio.queue); } @@ -272,7 +283,7 @@ if (!msg) return NULL; - meta_storage = (struct MetaInfo *)&msg->cb0; + meta_storage = (struct MetaInfo *)msg->head; q->queue_size -= 1; q->queue_octets -= msgb_length(msg); @@ -305,7 +316,7 @@ timespecadd(&tv_now, &hyst_delta, &tv_now2); while ((msg = llc_queue_pick_msg(q, &prio))) { - info = (const struct MetaInfo *)&msg->cb0; + info = (const struct MetaInfo *)msg->head; const struct timespec *tv_disc = &info->expire_time; const struct timespec *tv_recv = &info->recv_time;
View file
osmo-pcu_1.5.1.10.9d46.tar.xz/src/llc.h -> osmo-pcu_1.5.1.12.0273.tar.xz/src/llc.h
Changed
@@ -138,8 +138,8 @@ void llc_queue_clear(struct gprs_llc_queue *q, struct gprs_rlcmac_bts *bts); void llc_queue_set_codel_interval(struct gprs_llc_queue *q, unsigned int interval); void llc_queue_move_and_merge(struct gprs_llc_queue *q, struct gprs_llc_queue *o); -void llc_queue_merge_prepend(struct gprs_llc_queue *q, struct gprs_llc *llc); -void llc_queue_enqueue(struct gprs_llc_queue *q, struct msgb *llc_msg, const struct timespec *expire_time); +void llc_queue_merge_prepend(struct gprs_llc_queue *q, const struct gprs_llc *llc); +int llc_queue_enqueue(struct gprs_llc_queue *q, const uint8_t *data, uint16_t len, const struct timespec *expire_time); struct msgb *llc_queue_dequeue(struct gprs_llc_queue *q, enum gprs_llc_queue_prio *out_prio, struct MetaInfo *out_info); static inline size_t llc_queue_size(const struct gprs_llc_queue *q)
View file
osmo-pcu_1.5.1.10.9d46.tar.xz/tests/llc/LlcTest.cpp -> osmo-pcu_1.5.1.12.0273.tar.xz/tests/llc/LlcTest.cpp
Changed
@@ -56,21 +56,6 @@ return ms_llc_queue(ms); } -static void enqueue_data(gprs_llc_queue *queue, const uint8_t *data, size_t len, - const struct timespec *expire_time) -{ - struct timespec *tv; - uint8_t *msg_data; - struct msgb *llc_msg = msgb_alloc(len + sizeof(*tv) * 2, - "llc_pdu_queue"); - - msg_data = (uint8_t *)msgb_put(llc_msg, len); - - memcpy(msg_data, data, len); - - llc_queue_enqueue(queue, llc_msg, expire_time); -} - static void dequeue_and_check(gprs_llc_queue *queue, const uint8_t *exp_data, size_t len, const MetaInfo *exp_info) { @@ -96,7 +81,7 @@ static void enqueue_data(gprs_llc_queue *queue, const char *message, const struct timespec *expire_time) { - enqueue_data(queue, (uint8_t *)(message), strlen(message), expire_time); + llc_queue_enqueue(queue, (uint8_t *)(message), strlen(message), expire_time); } static void dequeue_and_check(gprs_llc_queue *queue, const char *exp_message,
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.