gre_fd = socket(AF_INET, SOCK_RAW, PPTP_PROTO); connect(gre_fd, (struct sockaddr *) &src_addr, sizeof(src_addr)); PPTP_PROTO is protocol 47. If you want to watch the pptp packets, try 'tcpdump proto 47' (but tcpdump doesn't understand them much = you just get meaningless stuff out of it). David.