… | |
… | |
641 | |
641 | |
642 | if (conf->inherit_tos |
642 | if (conf->inherit_tos |
643 | && (*pkt)[12] == 0x08 && (*pkt)[13] == 0x00 // IP |
643 | && (*pkt)[12] == 0x08 && (*pkt)[13] == 0x00 // IP |
644 | && ((*pkt)[14] & 0xf0) == 0x40) // IPv4 |
644 | && ((*pkt)[14] & 0xf0) == 0x40) // IPv4 |
645 | tos = (*pkt)[15] & IPTOS_TOS_MASK; |
645 | tos = (*pkt)[15] & IPTOS_TOS_MASK; |
646 | printf ("%d %02x %02x %02x %02x = %02x\n", (int)conf->inherit_tos, (*pkt)[12],(*pkt)[13],(*pkt)[14],(*pkt)[15], tos); |
|
|
647 | |
646 | |
648 | p->setup (this, broadcast ? 0 : conf->id, &((*pkt)[6 + 6]), pkt->len - 6 - 6, ++oseqno); // skip 2 macs |
647 | p->setup (this, broadcast ? 0 : conf->id, &((*pkt)[6 + 6]), pkt->len - 6 - 6, ++oseqno); // skip 2 macs |
649 | vpn->send_vpn_packet (p, &sa, tos); |
648 | vpn->send_vpn_packet (p, &sa, tos); |
650 | |
649 | |
651 | delete p; |
650 | delete p; |