--- a/pppd/plugins/pppoatm/pppoatm.c +++ b/pppd/plugins/pppoatm/pppoatm.c @@ -179,8 +179,11 @@ static void send_config_pppoa(int mtu, int sock; struct ifreq ifr; - if (mtu > pppoatm_max_mtu) - error("Couldn't increase MTU to %d", mtu); + if (pppoatm_max_mtu && mtu > pppoatm_max_mtu) { + warn("Couldn't increase MTU to %d. Using %d", + mtu, pppoatm_max_mtu); + mtu = pppoatm_max_mtu; + } sock = socket(AF_INET, SOCK_DGRAM, 0); if (sock < 0) @@ -198,8 +201,11 @@ static void recv_config_pppoa(int mru, int pcomp, int accomp) { - if (mru > pppoatm_max_mru) - error("Couldn't increase MRU to %d", mru); + if (pppoatm_max_mru && mru > pppoatm_max_mru) { + warn("Couldn't increase MRU to %d. Using %d", + mru, pppoatm_max_mru); + mru = pppoatm_max_mru; + } } void plugin_init(void)