|
|
|
@ -117,18 +117,16 @@ int GetIfaceMTU(const char *pcap_dev)
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
int GetIfaceMaxPacketSize(const char *pcap_dev)
|
|
|
|
int GetIfaceMaxPacketSize(const char *pcap_dev)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int ll_header = GetIfaceMaxHWHeaderLength(pcap_dev);
|
|
|
|
|
|
|
|
int mtu = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ((pcap_dev == NULL) || strlen(pcap_dev) == 0)
|
|
|
|
if ((pcap_dev == NULL) || strlen(pcap_dev) == 0)
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
|
|
mtu = GetIfaceMTU(pcap_dev);
|
|
|
|
int mtu = GetIfaceMTU(pcap_dev);
|
|
|
|
switch (mtu) {
|
|
|
|
switch (mtu) {
|
|
|
|
case 0:
|
|
|
|
case 0:
|
|
|
|
case -1:
|
|
|
|
case -1:
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
int ll_header = GetIfaceMaxHWHeaderLength(pcap_dev);
|
|
|
|
if (ll_header == -1) {
|
|
|
|
if (ll_header == -1) {
|
|
|
|
/* be conservative, choose a big one */
|
|
|
|
/* be conservative, choose a big one */
|
|
|
|
ll_header = 16;
|
|
|
|
ll_header = 16;
|
|
|
|
|