[ 
https://issues.apache.org/jira/browse/TS-4882?focusedWorklogId=29473&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-29473
 ]

ASF GitHub Bot logged work on TS-4882:
--------------------------------------

                Author: ASF GitHub Bot
            Created on: 21/Sep/16 23:43
            Start Date: 21/Sep/16 23:43
    Worklog Time Spent: 10m 
      Work Description: Github user bryancall commented on a diff in the pull 
request:

    https://github.com/apache/trafficserver/pull/1036#discussion_r79952516
  
    --- Diff: iocore/net/BIO_fastopen.cc ---
    @@ -0,0 +1,168 @@
    +/** @file
    + *
    + *  OpenSSL socket BIO that does TCP Fast Open.
    + *
    + *  @section license License
    + *
    + *  Licensed to the Apache Software Foundation (ASF) under one
    + *  or more contributor license agreements.  See the NOTICE file
    + *  distributed with this work for additional information
    + *  regarding copyright ownership.  The ASF licenses this file
    + *  to you under the Apache License, Version 2.0 (the
    + *  "License"); you may not use this file except in compliance
    + *  with the License.  You may obtain a copy of the License at
    + *
    + *      http://www.apache.org/licenses/LICENSE-2.0
    + *
    + *  Unless required by applicable law or agreed to in writing, software
    + *  distributed under the License is distributed on an "AS IS" BASIS,
    + *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
implied.
    + *  See the License for the specific language governing permissions and
    + *  limitations under the License.
    + */
    +
    +#include "P_Net.h"
    +#include "I_SocketManager.h"
    +#include "ts/ink_assert.h"
    +
    +#include "BIO_fastopen.h"
    +
    +static int
    +fastopen_create(BIO *bio)
    +{
    +  bio->init  = 0;
    +  bio->num   = NO_FD;
    +  bio->flags = 0;
    +  bio->ptr   = NULL;
    +
    +  return 1;
    +}
    +
    +static int
    +fastopen_destroy(BIO *bio)
    +{
    +  if (bio) {
    +    // We expect this BIO to not own the socket, so we must always
    +    // be in NOCLOSE mode.
    +    ink_assert(bio->shutdown == BIO_NOCLOSE);
    +    fastopen_create(bio);
    +  }
    +
    +  return 1;
    +}
    +
    +static int
    +fastopen_bwrite(BIO *bio, const char *in, int insz)
    +{
    +  int64_t err;
    +
    +  errno = 0;
    +  BIO_clear_retry_flags(bio);
    +  ink_assert(bio->num != NO_FD);
    +
    +  if (bio->ptr) {
    +    // On the first write only, make a TFO request if TFO is enabled.
    +    // The best documentation on the behavior of the Linux API is in
    +    // RFC 7413. If we get EINPROGRESS it means that the SYN has been
    +    // sent without data and we should retry.
    --- End diff --
    
    the server doesn't have a tfo cookie for the origin


Issue Time Tracking
-------------------

    Worklog Id:     (was: 29473)
    Time Spent: 1h 40m  (was: 1.5h)

> TCP Fast Open support for SSL server sessions.
> ----------------------------------------------
>
>                 Key: TS-4882
>                 URL: https://issues.apache.org/jira/browse/TS-4882
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Core, SSL
>            Reporter: James Peach
>            Assignee: James Peach
>             Fix For: 7.1.0
>
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> Add support for using TCP Fast Open on TLS server sessions. This is mainly 
> interesting for CONNECT tunnels where we can't use long running persistent 
> sessions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to