[prev in list] [next in list] [prev in thread] [next in thread]
List: openvswitch-dev
Subject: [ovs-dev] [PATCH RFC 0/3] - send garp on localnet
From: dlu998 () gmail ! com (Darrell Ball)
Date: 2016-03-31 23:48:31
Message-ID: CAKgLnsFSQupX3oDM4ZQCbKTnxUbjv5coG2TBz+ytskqAReeYhw () mail ! gmail ! com
[Download RAW message or body]
On Thu, Mar 31, 2016 at 3:02 PM, Ramu Ramamurthy <ramu.ramamurthy at gmail.com>
wrote:
> >
> > Why did you choose to use reply packets ?
> >
> > request packets are less likely to be rejected by external networks
> > and I think thats discussed in the RFC
> >
> >
>
> I wanted to use the GARP request, but found a problem.
>
> OVN currently programs flows to respond to gratuitous arp requests from
> VMs,
> Such flows also respond to ARP probes from VMs. This behavior needs to
> change so that OVN must not respond to GARP requests or ARP probes.
> It must flood them. This change is a work in progress.
> In fact, some DHCP clients send ARP probes after the DHCP ACK to
> verify no address collisions, and upon seeing ARP probe response will
> decline
> dhcp offered IP.
>
> As soon as the above problem is fixed, I can update the code to
> generate GARP requests.
>
Practically speaking, you will need to fix that for real world utility,
although I am sure an
autotest test can be written that "passes" now.
On a separate but related topic, northd programs localnet to not respond to
regular
arp requests coming from the network via a localnet port.
How can IP traffic be initiated from a VM outside OVN control or from the
physical network to a VM inside OVN controlled HV, connected via a localnet
port ?
Are you depending on flooding the network with gARPs periodically (to
handle new external hosts) for all VMs on all HVs inside OVN, attached to
localnet ?
/* Ingress table 3: ARP responder, skip requests coming from localnet
ports.
* (priority 100). */
HMAP_FOR_EACH (op, key_node, ports) {
if (!op->nbs) {
continue;
}
if (!strcmp(op->nbs->type, "localnet")) {
char *match = xasprintf("inport == %s", op->json_key);
ovn_lflow_add(lflows, op->od, S_SWITCH_IN_ARP_RSP, 100,
match, "next;");
free(match);
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic