Programming :: Socket Option "IPV6_ROUTER_ALERT" Is Invalid / Why Is So?
Jan 15, 2010
I want router catch the ip packet which mark router alert label, change it and send to the next hop. Not just forward it immediately.
So I set IP_ROUTER_ALERT and IPV6_ROUTER_ALERT option for ipv4 and ipv6 socket. IP_ROUTER_ALERT was just fine and I can do what I expect. However when I set on IPV6_ROUTER_ALERT, it tells me "Protocol not available" (errno = 92). And This option can be found in "$Kernel/net/ipv6/ipv6_sockglue.c"
iam just trying to connect to server which accepts one client and server will read(blocking operation) infinitely, but After closing the client socket the server "read operation" is returning zero and "errno variable(in errno.h)" value is also zero. how can i detect whether a client socket is closed/active..?
the above code works fine.if we copmile and run ./a.exe 192.xx.xx.xxx 1111 and press enter it works fine..everytime it asks "Please enter the message: " and if give that will be displayed in server. but my problem is i dont want to print everytime "Please enter the message: " i just want to feed some words one by one to the socket.
im getting that error in my code for some reason. I compiled my code, and when i try to run this server it throws me an error on my call to setsocketopt(). The only way it can reach that part of my loop is if it succeeds when it calls sock() so I dont understand why the error says its an operation on a non-socket. Im just trying to set up a server to pass messages from a client to it a viceversa. Here is the code:
Code: int main() { int socket_fd, new_socket_fd, k; struct addrinfo hints, *server_info, *p; struct sockaddr_storage peer_address; code....
I have an old PC with two hard drives (40 and 60Gb) and it uses dual IGhz pIII processors. It shares screen,mouse and keyboard with another PC.Both into Netgear modem. It ran ubuntu 8.04 and XP Pro on the drives above with no problems. Then I decided to try Mint 11 (34bit CD) - result after Grub blank screen other than flashing cursor at top left.No input from keyboard. Tried Mint KDE 10 (34bit DVD) same result. Tried Kubuntu 10 (CD) same result. Reinstalled Ubuntu 8.04 no problem. Upgraded via download from 8.04 to 10LTS hoping that this would somehow prevent the problem and have screen which says:-
starting up [000000] ACPI no DMI BIOS year,ACPI =force is required to enable acpi mount: mounting none on /dev failed: No such device udevd[825]: error getting socket: Invalid argument error initialising netlink socket udevd[825] error initialising netlink socket libudev: udev_monitor_new_from_netlink:error getting socket:Invalid argument Segmentation fault Gave up waiting for root device.Common problems: Boot args (cat/proc/cmmdline) Check root delay (Did the system wait long enough) Check root (did the sytem wait for the right device) Missing modules (cat/proc/modules; 1s /dev) ALERT! dev/disc/by-uuid/"long number here" does not exist.Dropping to a shell.
Then it goes into Busybox and ends with "initramfs". I have tried altering the boot device in BIOS from HDD0 through 3 with the same result other than more bad language!
I am actually making a packet sniffer using raw socket. Its just that when I use the command ' if((ioctl(rawsock, SIOCGIFINDEX, &ifr)) == -1) to get the interface index... Its gives me an error saying :invalid argument?
Have a question regarding the implementation of TCP keep alives.
If I enable the option of keep-alives on a TCP socket, is there any way that my application can get the response to the keep-alive back from the kernel. Basically, I have a 'select' blocking on a socket on which I have enabled keep-alives. I need to know if select would unblock if a response to a keep-alive sent by the kernel is received on the socket.
i just installed Debian 5.0.5 ! and i used guided partition (option one) while installing BUT immediately i cannot access my Windows drives C & D. if i click it , it says "Invalid mount option when attempting to mount the volume C " how to fix it?
We are using LPC3250 ARM9 and LTIB for building the Linux 2.6.27.8 We have written some code to access GPIO and was working earlier with opensuse 9.0 We now have fedora 11 32 bit 2.6.30.10-105.2.23.fc11.i686.PAE When we make the program we get following errors we are using GCC3.4.5
Any idea when the -D option was withdrawn ? I could not find much information on this . Also, what exactly is the difference between vgdisplay -v -D and just vgdisplay -v .
I'm using linux suse 9.3. Recently i try to run execution files but it shows an error try running with the option "-console" or "-silent" When I tried with the -console option, I got the error - The wizard cannot continue because of the following error: Invalid command line option: console is not supported (1001) (403)
I have a server listening on incoming client connections. Once the client establishes SSL connection with the server, the server waits on read() from the client. Only Client can disconnect the connection. I want to have a timer in the server program to wait for x secs after read() and then disconnect the Client connection.
i have a server program which accept multiple client connection and am using polling. like every 2 secs it will look to client whether any data is received after it binded. i have used setitimer but there is runtime error i got.. the server accept all client connection but doesn't execute any msg which client sent.
i have problem in socket programming, while displaying received message in file,i got a problem... i cant able to write it in the file.... this is the code....
now my problem is run time error i can able to create file but i cant able to write file....log.txt contain nothing.... as here i have give sample code... dont say not initialising function and all.... i have initialised , please only see func1() - my problem is only not able to write msg which i got received from the client..
When sending data over the socket, the sending socket includes 0x00 after each sent byte. I wonder how this can be avoided -- I just want to transfer the data in the tx_buffer as it is.
# ./serv & [1] 6895 # ./EUG 127.0.0.1 EUG: Data to be transmitted: 0x35 0x32 0x30 0xff 0x03 0x31 EUG: Data - #Bytes transmitted: 6 ./serv: Here is the message: '5'
Is it possible to swap a client ip and port ? This is what I am trying to do. Let say you have Comp1 and Comp2 And you have Server between them. My goal is to get Comp1 and Comp2 know each others IP So Comp1 connects to server And server stores comp1's IP In a text file or other place And Comp2 connect to server And server also stores his info And then both comp1 and comp2 dowload the tex file And use the info on it.
I had a working dual boot Ubuntu 10 and Windows 7. Anyways long story short, I got it working again but have lost the boot option for windows 7. If i run fdisk -l, I get the following.
I installed gparted and can see that windows 7 is installed in dev/sda6. In another forum, i read that someone had to edit their menu.lst so i did with the following.
How can we build a packet using C?we have a structure called sockaddr_in which is use to for IPv4,so that we can define address,port and etc in this way:
This is my main question:Quote: In raw socket sniffing: how do I copy data from a structure into a char[] or pointer? My problem: I started doing some raw socket programming in OpenWRT (I'm a newbie) for research. It's been a long time since the last time I programmed in C, so here's my newbie question/problem.
I'm receiving packets and using an .h file with the structures to get the information of each 802.11 packet in monitor mode (attached to this post).My (simple) goal is to get the Tx MAC Address. No luck. This is my "read the prism header" function:
I am currently doing a research on video transmission over wireless LAN. I tend to transmit my offline file (xx.svc) from server to client.It may sound stupid (since I have a very little knowledge about c programming and raw socket), but my biggest challenges is that when I want to write the file to the buffer, how actually to define/include the file at the programming coding? where I need to locate the file? Is it at the same folder with my c programming, or somewhere in the linuxinclude folder?
Can anyone just give a simple example on how to include a file and write it into a buffer before send it through raw socket.
I am looking to be able to connect to an IRC server in a C program. I have followed some instructions from an old book I have however it doesn't seem to be working. I've tried connecting to localhost on my ssh port and it still doesn't want to work. This is what I have so far as a piece of skeleton test code:
I have currently had the need to go back to basic socket programming, and implemented a simple udp packet sender. But I realized I needed to be able to select which network interface to send the packets from.
The reason is so that one of the interfaces has vlan tagging, and I need my UDP packets to be accordingly vlan tagged. For example, one of the interfaces is eth1.200.
Has anyone had an issue with gdb not being able to send a UDP msg across a socket?
I have ComponentA sending a msg to ComponentB utilizing gdb. ComponentB gets the msg. ComponentB sends a msg to ComponentC. ComponentC does stuff to the msg and sends a msg back to ComponentB using gdb. ComponentB never seems to receive the 2nd message.
If I don't use gdb the messages Tx and Rx without an issue.
I'm flying blind without gdb to figure out a different bug.