Skip to content

Commit 78b644e

Browse files
Tomasz Bursztykanashif
authored andcommitted
drivers/net: Switch slip driver to new net_pkt api
Replace "frag" keyword to "buf", as frag is reserved for packet fragmentation now. Signed-off-by: Tomasz Bursztyka <[email protected]>
1 parent f01f278 commit 78b644e

File tree

1 file changed

+27
-26
lines changed

1 file changed

+27
-26
lines changed

drivers/net/slip.c

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ struct slip_context {
5252
*/
5353
u8_t buf[1]; /* SLIP data is read into this buf */
5454
struct net_pkt *rx; /* and then placed into this net_pkt */
55-
struct net_buf *last; /* Pointer to last fragment in the list */
55+
struct net_buf *last; /* Pointer to last buffer in the list */
5656
u8_t *ptr; /* Where in net_pkt to add data */
5757
struct net_if *iface;
5858
u8_t state;
@@ -137,33 +137,33 @@ static void slip_writeb_esc(unsigned char c)
137137

138138
static int slip_send(struct device *dev, struct net_pkt *pkt)
139139
{
140-
struct net_buf *frag;
140+
struct net_buf *buf;
141141
u8_t *ptr;
142142
u16_t i;
143143
u8_t c;
144144

145145
ARG_UNUSED(dev);
146146

147-
if (!pkt->frags) {
147+
if (!pkt->buffer) {
148148
/* No data? */
149149
return -ENODATA;
150150
}
151151

152152
slip_writeb(SLIP_END);
153153

154-
for (frag = pkt->frags; frag; frag = frag->frags) {
155-
ptr = frag->data;
156-
for (i = 0U; i < frag->len; ++i) {
154+
for (buf = pkt->buffer; buf; buf = buf->frags) {
155+
ptr = buf->data;
156+
for (i = 0U; i < buf->len; ++i) {
157157
c = *ptr++;
158158
slip_writeb_esc(c);
159159
}
160160

161161
if (LOG_LEVEL >= LOG_LEVEL_DBG) {
162-
LOG_DBG("sent data %d bytes", frag->len);
162+
LOG_DBG("sent data %d bytes", buf->len);
163163

164-
if (frag->len) {
165-
LOG_HEXDUMP_DBG(frag->data,
166-
frag->len, "<slip ");
164+
if (buf->len) {
165+
LOG_HEXDUMP_DBG(buf->data,
166+
buf->len, "<slip ");
167167
}
168168
}
169169
}
@@ -207,7 +207,7 @@ static void process_msg(struct slip_context *slip)
207207
struct net_pkt *pkt;
208208

209209
pkt = slip_poll_handler(slip);
210-
if (!pkt || !pkt->frags) {
210+
if (!pkt || !pkt->buffer) {
211211
return;
212212
}
213213

@@ -282,22 +282,23 @@ static inline int slip_input_byte(struct slip_context *slip,
282282
if (!slip->first) {
283283
slip->first = true;
284284

285-
slip->rx = net_pkt_get_reserve_rx(K_NO_WAIT);
285+
slip->rx = net_pkt_rx_alloc_on_iface(slip->iface,
286+
K_NO_WAIT);
286287
if (!slip->rx) {
287288
LOG_ERR("[%p] cannot allocate pkt", slip);
288289
return 0;
289290
}
290291

291292
slip->last = net_pkt_get_frag(slip->rx, K_NO_WAIT);
292293
if (!slip->last) {
293-
LOG_ERR("[%p] cannot allocate 1st data frag",
294+
LOG_ERR("[%p] cannot allocate 1st data buffer",
294295
slip);
295296
net_pkt_unref(slip->rx);
296297
slip->rx = NULL;
297298
return 0;
298299
}
299300

300-
net_pkt_frag_add(slip->rx, slip->last);
301+
net_pkt_append_buffer(slip->rx, slip->last);
301302
slip->ptr = net_pkt_ip_data(slip->rx);
302303
}
303304

@@ -313,21 +314,21 @@ static inline int slip_input_byte(struct slip_context *slip,
313314
}
314315

315316
if (!net_buf_tailroom(slip->last)) {
316-
/* We need to allocate a new fragment */
317-
struct net_buf *frag;
317+
/* We need to allocate a new buffer */
318+
struct net_buf *buf;
318319

319-
frag = net_pkt_get_reserve_rx_data(K_NO_WAIT);
320-
if (!frag) {
321-
LOG_ERR("[%p] cannot allocate next data frag", slip);
320+
buf = net_pkt_get_reserve_rx_data(K_NO_WAIT);
321+
if (!buf) {
322+
LOG_ERR("[%p] cannot allocate next data buf", slip);
322323
net_pkt_unref(slip->rx);
323324
slip->rx = NULL;
324325
slip->last = NULL;
325326

326327
return 0;
327328
}
328329

329-
net_buf_frag_insert(slip->last, frag);
330-
slip->last = frag;
330+
net_buf_frag_insert(slip->last, buf);
331+
slip->last = buf;
331332
slip->ptr = slip->last->data;
332333
}
333334

@@ -360,20 +361,20 @@ static u8_t *recv_cb(u8_t *buf, size_t *off)
360361
if (slip_input_byte(slip, buf[i])) {
361362

362363
if (LOG_LEVEL >= LOG_LEVEL_DBG) {
363-
struct net_buf *frag = slip->rx->frags;
364-
int bytes = net_buf_frags_len(frag);
364+
struct net_buf *buf = slip->rx->buffer;
365+
int bytes = net_buf_frags_len(buf);
365366
int count = 0;
366367

367-
while (bytes && frag) {
368+
while (bytes && buf) {
368369
char msg[8 + 1];
369370

370371
snprintf(msg, sizeof(msg),
371372
">slip %2d", count);
372373

373-
LOG_HEXDUMP_DBG(frag->data, frag->len,
374+
LOG_HEXDUMP_DBG(buf->data, buf->len,
374375
msg);
375376

376-
frag = frag->frags;
377+
buf = buf->frags;
377378
count++;
378379
}
379380

0 commit comments

Comments
 (0)