- // Send back a ConfigAck
- q = response = makeppp(b, sizeof(b), p, l, t, s, PPPLCP);
- if (!q) return;
- *q = ConfigAck;
+ l = q - response; // LCP packet length
+ *((uint16_t *) (response + 2)) = htons(l); // update header
+ }
+ else
+ {
+ // Send packet back as ConfigAck
+ response = makeppp(b, sizeof(b), p, l, t, s, PPPLCP);
+ if (!response) return;
+ *response = ConfigAck;