Permalink
Browse files

Add a TODO section

  • Loading branch information...
1 parent da3be83 commit b5a8eb412cb01e6396eaa6102aac59d174c5627e @msantos committed Nov 11, 2010
Showing with 29 additions and 0 deletions.
  1. +29 −0 README
View
29 README
@@ -21,3 +21,32 @@ HOW TO USE IT
> herp:start(). % start up the bridge
> farp:start().
+
+TODO
+
+* test bridging between networks
+
+* add a re-write IP header option
+
+Although the target host may send data through the bridge to the gateway,
+the gateway may respond directly to the target if the gateway's ARP
+cache still holds the valid MAC address of the target. Force the gateway
+to respond to the bridge by:
+
+- arp'ing an unused IP address with the bridge's MAC address
+
+- mapping the fake IP (and maybe a fake source port) to the target
+
+- re-write the source IP and port header from the response to the
+ bridge's MAC address/gateway's IP address with the target's MAC/IP as
+ the destination
+
+The gateway will respond to the bridge's MAC address. The bridge OS
+won't respond to the packets (e.g., send a RST) because the IP is not
+bound to one of the host interfaces. herp will map the response to the
+target host and re-write the MAC and IP headers.
+
+Instead of looking up the map in an ets table or a data structure, state
+could even be kept by having each source IP/port spawn a new process
+(a gen_fsm) registered with the source IP/port.
+

0 comments on commit b5a8eb4

Please sign in to comment.