genode/os/src/server/nic_bridge
2013-01-10 21:44:47 +01:00
..
address_node.cc Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
address_node.h Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
avl_safe.h Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
component.cc Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
component.h Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
list_safe.h Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
mac.cc Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
mac.h Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
main.cc Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
packet_handler.cc Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
packet_handler.h Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
README Make nic_bridge's MAC address range configurable 2012-10-24 16:39:02 +02:00
target.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
vlan.cc Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
vlan.h Update copyright headers to 2013 2013-01-10 21:44:47 +01:00

The nic_bridge provides multiple sessions of the 'Nic' service while
using a single 'Nic' session for forwarding requests. For proper working
it implements some kind of the 'proxy arp' protocol (rfc1027). That
means it allocates a MAC address for each client. Whenever a client
sends a packet it changes the sender MAC address to the one it hold
available for the client. Moreover, it monitors DHCP packets, and
tracks which IP address is used by which client. Whenever ARP packets
come from the outside it will answer them with the corresponding MAC
address.

By adding the following attribute to the 'nic_bridge' config node:

! <config mac="02:02:02:02:02:00"/>

one can define the first MAC address from which the nic_brigde
will allocate MACs for it's clients. Note: that the least relevant
byte will be ignored always starting from 0.